コマンド要覧

ホームディレクトリについて

Unixシステムにログインすると、以下のようなプロンプトがあらわれる。

irsv{i2004000}%                                                [~]

プロンプトが出ているときにコマンドを打つことができる。コマンドを 打つときに「いる」のことをカレントディレクトリという。 カレントディレクトリはpwdコマンドで確認できる。

irsv{i2004000}% pwd                                            [~]
/home/irhome/itl/i2004000

/home/irhome/itl/i2004XXX のように表示されたものが 自分のホームディレクトリである。ホームディレクトリは 良く使うので、~ (チルダ)という記号で代用できる。たとえば、 ~/public_html と書いた場合は、 /home/irhome/itl/c103XXX/public_html と書いたのと 同じ意味になる(xの部分は人によって異なる)。

ファイル名補完

コマンドラインからコマンドを打つとき、ファイル名の先頭部分だけ入れて TAB キーを押すと、ファイル名の残りの部分を補ってくれる(既に そのファイルが存在する場合)。 これをファイル名補完といい、使うのと使わないのとでは作業効率が 著しく異なるので積極的に利用したい。

主要コマンド

ls

ディレクトリにあるファイルを表示。スペースで区切ってディレクト リ名を指定するとそのディレクトリにあるファイル一覧を表示する。 -lオプションを指定すると詳細表示(ロングフォーマット)で出 力する。
例:

% ls
Mail/        help         memo         script/
TUTORIAL.ja  maildir/     public_html/
% ls Mail
draft/ inbox/ trash/
% ls -l Mail
total 3
drwx------  3 i2004000  irhome/itl   512 Oct 27 01:13 draft/
drwx------  2 i2004000  irhome/itl  2048 Oct 27 01:14 inbox/
drwx------  2 i2004000  irhome/itl  1024 Sep 11 13:58 trash/

-l 以外にもたくさんオプションがある。代表的なものを以 下に示す。

mkdir

ディレクトリを作成する。
例:

% ls

Mail/        help         memo
script/      TUTORIAL.ja  maildir/
% mkdir public_html
% ls
Mail/        help         memo         script/
TUTORIAL.ja  maildir/     public_html/
rmdir

ディレクトリを削除する。
例:

% ls
Mail/        help         memo         script/
TUTORIAL.ja  maildir/     public_html/
% rmdir public_html
% ls
Mail/        help         memo
script/      TUTORIAL.ja  maildir/
cd

ディレクトリを移動する。 例:

% pwd

/home/irhome/itl/i2004000
% cd Mail
% pwd
/home/irhome/itl/i2004000/Mail

ホームディレクトリに戻りたいときは cd とだけ タイプする。

% pwd
/home/irhome/itl/i2004000/Mail
% cd
/home/irhome/itl/i2004000
cp

ファイルをコピーする。ファイルを2つ指定する、つまり、

cp File1 File2

とすると File1File2 にコピーする。最後にディ レクトリを指定する場合はコピー元となるファイルを何個でも指定できる。 たとえば、

cp File1 File2 File3 Directory

とすると、File1 File2 File3 の全てを Directoryディレクトリにコピーする。

cp *.html Directory

とするとカレントディレクトリにある .html で終わるファ イル全てをDirectoryディレクトリにコピーする。

mv

ファイルを移動する。使い方は cp と同じ。

mv File1 File2 File3 Directory

とすると、File1 File2 File3 の全てを Directoryディレクトリに移動する。

mv *.html Directory

とするとカレントディレクトリにある .html で終わるファ イル全てをDirectoryディレクトリに移動する。

cat

ファイルを標準出力(端末画面)に書き出す。

% cat ファイル……

とすることで、指定したファイル(複数指定した場合はそれら全てを連 結したもの)の中味を標準出力に出力する。良く使うオプションには 以下のものがある。

catは、ファイルの内容を一気に出力するので、通常は、シェルの パイプラインを利用して別のプロセスに渡す場合に利用する。ファイルの 中味そのものを自分が読みたい場合は、次項で説明するless コマンドを利用する。

less

ファイルの中味を画面に出力し、一画面表示したところで止まる。 次の一画面分を見たい場合は、SPCキーを押して順次読み進め ることができる。lessでファイルの中を読んでいるとき は、画面最下行に、

ファイル名 (END)

のようなプロンプトが表示される。これは、lessのコ マンドモードに入っていることを示す。lessコマンド モードで利用できるキー操作としては、以下のものが重要である。

lessコマンドを抜けるときのqだけは覚えておけば何とか なるだろう。

wc

標準入力全ての、「行数」、「単語数」、「文字数」を数える。 ファイルを指定した場合は、そのファイルについて数える。

% wc class.txt
      86      81    2034 class.txt

class.txtは86行で構成されるファイルであると分かる。

nkf

日本語を含むテキストを読み込み、指定した漢字コードに変換する。 SJIS/JIS/EUCコードに対応している。

% nkf [オプション] [ファイル]…

「オプション」は、変換したい漢字コードに応じて以下のどれかを指 定する。

egrep

正規表現により検索パターンを指定して、そのパターンにマッ チする行を表示する。

% egrep [オプション] パターン [ファイル]

とすると、「ファイル」(ファイルを省略した場合は標準入力)から 「パターン」にマッチするものを含む行を検索してその行を標準出力に書 き出す。良く使うオプションには以下のものがある。

いくつか例を示そう。

% egrep abc *

カレントディレクトリにある全てのファイルから "abc" という文字列 を含む行を表示する。ファイルが複数ある場合はマッチする行の先頭に ファイル名も表示する。

% egrep -i abc *

上と同様だが、"abc" というパターンでアルファベット大文字小文 字を同一視して検索する。"ABC", "Abc" などの行もマッチする。

% egrep -w abc access_log | egrep -v xyz

access_log というファイルから "abc" という単語を含 む行を選んでパイプラインに渡す。パイプラインの先の次のegrepでは、 受け取った行のうち、xyzというパターンを含まない行だけを選 んで表示する。

データを一行単位で並べ換えた結果を出力する。良く使うものとし て、次のオプションが挙げられる。

duコマンドと合わせて次のように利用することが良くあ る。

% du -sk */ | sort -nr

最初の du コマンドで、全ディレクトリに含まれる容量 が得られる。たとえば以下のようになる。

28      Mail
4       maildir
1       nsmail
12      script

行頭にディレクトリ以下のファイル容量がKB単位で表示されるので、 これを sort -nr に渡すと、数値の大きい順に並べ換えら れ、

28      Mail
12      script
4       maildir
1       nsmail

という結果が得られる。duコマンドの結果出力が非常にシンプルで、 さみしいと感じていたかもしれないが、このように別のコマンドに渡し て並べ換えなどの別の処理を行なうためには、出力には余計なメッセージ を含ませないことが重要である。


目次


(C)2004 OKOMA Lab. koeki-u.ac.jp