シェルコマンド(1)

カーネルとシェル

シェル (shell) とは unix のコマンドインタプリタで、ユーザ端末から入力された文字列を解釈し、その指示に従って仕事をするプログラムです。

kernelとはオペレーティングシステムの中枢で、プロセスやメモリ、ファイル等の管理を行う部分です。

ユーザーがkernelを操るにはシステムコールという仕組みをつかうことになっていますが、プログラムを書くのでなければこれは手軽ではありません。そこでシェルの登場です。シェルを使って備え付けのコマンドなり、自分の作ったプログラムを起動してユーザはkernelへなんらかの指示を対話形式で出すことができます。プログラムを書かないユーザにとってはシェルこそがオペレーティングシステム、あるいはコンピュータそのものに見えますから、シェルを使いこなすことがそのままコンピュータを使いこなすことになるのです。

GUIを提供するX-windowシステムもこのシェルから起動されています。

シェルの種類

sh

csh

tcsh

ksh

bash ←

UNIX の入出力モデル

      ┌──────┐             
標準入力 ⇒│ コマンド |⇒ 標準出力       
      │      │→ 標準エラー出力    
      └──────┘             

普通は標準入力はキーボード、標準出力と標準エラー出力はディスプレイですが、ファイルに切り替える(リダイレクト)することができます。

シェルの機能

ユーザが端末から入力したプログラム(コマンド)を実行する機能

シェルに対して入力された文字列はコマンドラインと呼ばれ、一般的に次のような形をしています。

$ command  [-option] [arg1 [arg2 [... [argn]]]]

option はオプション arg は引数 [   ]はその内部があってもなくてもよいことを表しています。

echo

表示

$ echo I love java
I love java
$

ls

リスト

$ ls
ファイル・ディレクトリの一覧

詳細タイプ

$ls -l

リダイレクト

$ echo I love java > rtest
$

rtest ができています。

$ ls

cat

内容を見てみます

$ cat rtest

リダイレクト(追加)

ファイルに追加です。

$ echo I love linux >> rtest

内容を見てみます

$ cat rtest

ファイルにさらに追加です。

$ echo I love debian >> rtest

内容を見てみます

$ cat rtest

wc

なにをするコマンドでしょう

wc rtest

sort

どうなるでしょう

sort rtest
もくじ

聖愛高等学校
http://www.seiai.ed.jp/
Last Modified