Linux
Tips |
|
コマンドの場所を調べるには
北浦訓行
2001/9/6
|
コマンドが置かれているディレクトリを調べるには、whichコマンドを使用する。
$ which vedit
/usr/vine/bin/vedit |
whichコマンドは、環境変数のPATHに設定されているディレクトリ順に調べ、最初に見つかったコマンドを表示する。PATHに設定されている全ディレクトリを調べるには、-aオプションを使用する。
$ which -a vedit
/usr/vine/bin/vedit
~/bin/vedit ←ユーザーのホームディレクトリ下にあるbinにもveditが見つかった |
コマンド(プログラム)のディレクトリを知るにはでは、typeというbashの組み込みコマンドを紹介している。このtypeコマンドとwhichコマンドにはどのような違いがあるのだろうか。
whichコマンドは、コマンドのフルパスを表示するプログラムであるのに対して、typeコマンドは、指定したコマンドがbashでどのように解釈されるかを調べるコマンドだ。例えば、エイリアスされたlsコマンドをwhichとtypeの両方で調べてみると、whichコマンドでは「lsはエイリアスされていて、オリジナルのlsは/bin/lsにある」と表示されるが、typeコマンドでは、「lsは`ls
-F --color=auto'とエイリアスされている」と表示される。
$ which ls
alias ls='ls -F --color=auto'
/bin/ls
$ type ls
ls is aliased to `ls -F --color=auto' |
さらに、両者の違いはbashの組み込みコマンドを調べたときに顕著になる。例えば、cdコマンドの場合は、以下のようになる。
$ which cd
/usr/bin/which: no cd in (/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/vine/bin:
/home/nori/bin) ←cdはbashの組み込みコマンドなので、PATHに定義されたディレクトリには存在しない
$ type cd
cd is a shell builtin ←cdはbashの組み込みコマンドである |
Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間