これまでいろいろなコマンドを説明してきましたが,実はこれらのコマンドも全てファイルの形になっています.実行できるようなプログラムの入ったファイルを実行ファイルといいます.
実行ファイルを実行するには,コマンドラインからその実行ファイルの位置をパス名で指定します.パス名は絶対パス名でも相対パス名でもかまいません.たとえばカレントディレクトリにあるa.outという実行ファイルを実行するには,
./a.out
と入力します.
絶対パス名で指定する例を一つ挙げます./home01/g999999/bin/という場所にあるprogramというプログラムを実行するには,
/home01/g999999/bin/program
と入力します.
lsなどのコマンドも実行ファイルの一つです.whichというコマンドを用いればlsが実際にシステムのどこにあるのかが分かります.
特殊なコマンド(シェル関数,シェル内部コマンド)はファイルの形ではないので出てきません.
which ls /sw/bin/ls
lsがパス名を指定しなくても実行できるのは,実行パスで指定されるディレクトリの中にlsのファイルがあるからです.すなわち,実行パスで指定されるディレクトリにある実行ファイルは,実行するときにパスを指定しなくても実行することができます.実行パスのことをコマンドサーチパスなどと呼ぶこともあります.現在の実行パスはシェルの環境変数PATHに設定されています.PATHの値は,次のようにechoコマンドなどで見ることができます.
echo $PATH /sw/lib/wrappers:/sw/fix-apple-x11/bin:/sw/ecc/bin:/opt/ECC/bin:/opt/HWB/bin:/sw/bin: /sw/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:/bin:/sbin:/usr/bin:/usr/sbin
これらのディレクトリにある実行ファイルは,パス名を指定しなくてもコマンド名を入力するだけで実行できます.コマンドサーチパスの前のほうに登録されているディレクトリから,順番にそのコマンドが存在するかどうか調べて,一番最初に現れたコマンドが実行されます.
13.4.11 複数ファイルの処理 | 13.4.12 実行ファイルのパス | 13.4.13 パーミッション | ||
2009年度版に向けて現在作業中です.
このページに関してお気づきの点がありましたら
コメント投稿システムまでお願いします.
|
Wed, 26 Mar 2008 23:59:27 JST (492d) |