GNU/Linux >> Linux の 問題 >  >> Linux

シェル - コマンドのディレクトリを見つける方法は?

Bash または zsh を使用している場合は、これを使用してください:

type -a lshw

これにより、ターゲットが組み込み、関数、エイリアス、または外部実行可能ファイルのいずれであるかが表示されます。後者の場合、 PATH に表示される各場所が表示されます .

bash$ type -a lshw
lshw is /usr/bin/lshw
bash$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls
bash$ zsh
zsh% type -a which
which is a shell builtin
which is /usr/bin/which

Bash では、関数 type -a に対して 関数定義も表示されます。 declare -f functionname を使用できます 同じことを行うには(type -a以降、zshにそれを使用する必要があります しません)。


このように:

which lshw

パスで一致するすべてのコマンドを表示するには:

which -a lshw 

PATH は環境変数であり、echo コマンドで表示できます:

echo $PATH

コロン文字「:」で区切られたパスのリストです '

which command は、コマンドを実行したときにどのファイルが実行されるかを示します:

which lshw

シンボリックリンクへのパスが得られることもあります。実際の実行可能ファイルが存在する場所へのリンクを追跡したい場合は、 readlink を使用できます which の出力をフィードします :

readlink -f $(which lshw)

-f パラメータは readlink を指示します シンボリックリンクを再帰的にたどり続ける。

これが私のマシンの例です:

$ which firefox
/usr/bin/firefox

$ readlink -f $(which firefox)
/usr/lib/firefox-3.6.3/firefox.sh

Linux
  1. ディレクトリとサブディレクトリ内のファイル数を見つける方法

  2. Linuxで使用しているシェルを見つける方法

  3. 現在のディレクトリを返す Linux/UNIX sh シェルのコマンドはどれですか?

  1. CentOSで特定のコマンドが属するパッケージを見つける方法は?

  2. Linuxシェルでcpコマンドを使用して、ディレクトリ全体を別のディレクトリにコピーするにはどうすればよいですか?

  3. *nix でポイント コマンド `.` のヘルプを見つけるにはどうすればよいですか?

  1. CentOS / RHEL :特定のコマンドを実行しているユーザーを見つける方法は?

  2. サブディレクトリではなく現在のディレクトリのみで「find」コマンドを実行する方法

  3. find でディレクトリを除外する方法。指図