4.2. シェルの利用



コマンドを利用するには、

                  コマンド名 引数の並び

という形式で入力する。

各コマンドの意味・使い方・引数を調べるには

       man コマンド名

を使うのは基本である。

または、コマンドの使い方の簡単な説明を表示するには、

       コマンド名 --help

と入力する。例えば、

       ls --help

LinuxなどのUNIX系OSでは、メタキャラクタ(あ るいはワイルド・カード文字)と呼ばれる特殊な文字を用いて、特定の文字列を指定することができる。

       *     任意の文字列(空文字も含む)
       ?     任意の1文字
  [   ]    括弧内の文字列中の任意の1文字
   [ ^ ]    括弧内の文字列に一致しない任意の1文字

はファイル名指定によく使われる基本的なメタキャラクタで ある。

例えば、/home/guest 下にある英字 t で始まるすべてのファイル名を一覧したいとき、

       $  ls t*

と入力する。

あるいは、同様のファイル名を一覧するには、

       $ ls test?

が使える。

今度、英小文字で始まるファイル名を一覧するには、

       $ ls [a-z]*

と入力し、英小文字 b 以外で始まるファイル名を一覧するには、

       $ ls [^b]*

と入力すればよい。

標準入出力

  Linuxでは、標準入 力(stdin)標準出力(stdout)標準エラー出力(stderr)の 制御は重要な作業である。



標準入出力などのデフォルトの割り当ては上記のようであるが、これをユーザーが自由に変更できる。この制御はリダイレクションと いう。

リダイレクションでよく利用されているメタキャラクタは、

       <            :  標準入力の切り替え
       >      :  標準出力の切り替え
       >>     :   標準出力の切り替え(追加出力)
       2>          :  標準エラー出力の切り替え
       &>  >&   :  標準出力と標準エラー出力の同時切り替え

である。

例 1.  カレント・ディレクトリ /home/guest に、テキスト・ファイル test1.txt があるとする。その内容を表示するには、

       $ cat test1.txt

と入力すればよい。この場合は、stdin はキーボードで、stdout はディスプレイである。

  今度、stdinをファイルに切り 換えるには、

       $ cat < test1.txt

と出力すればよい。

 注意:catコマンドでは引 数にファイル名がないとstdinが使われる。つまり、「< test1.txt」 でファイルに切り換えた標準入力をcatしているわけである。

例 2. ファイルtest1.txtの内容を ファイルtest2.txtにコピーするには、

       $ cp test1.txt test2.txt

と入力する。または、リダイレクションを使って、

       $ cat test1.txt > text2.txt

と入力すると同じ効果となる。

ただし、ファイルtest2.txtがすでに存在した場合、test1.txtと同じ内容に代わってしまう(上書きされてしまう)。

例 3.   ここで、既存のファイルtest2.txtにファイルtest1.txtの内容を追加するには、 >> を使えばよい。つまり、

       $ cat test1.txt >> test2.txt

と実行すればよい。

パイプライン

パイプと いうのは、あるコマンドの stdout を別のコマンドの stdin と連結するものである。


                                         パイプ
               stdin → コマンド1   ⇒   コマンド2 → stdout


パイプの機能を利用するコマンドは(上記の図では、コマンド2)フィルタと呼ばれて いる。


   $ ls -al | less

       $ ls -al | sort -r  : 直下のすべてのファイルを辞書の逆順に出力する。
    



戻る        目次              進む