OSXで実行可能ファイルへのパスを見つける方法


46

実行可能ファイルへのパスを簡単に見つけるために使用できるコマンドはありますか?ローカルマシンで識別情報を探しています-pwdのようなものですか?

pwd identify
=> /usr/local/bin/identify

回答:


60

which 指定した引数についてパスを検索します。これは、ほぼすべてのBSDまたはSysV UNIXで見つかります

moriarty:~ dave$ which bash true false
/bin/bash
/usr/bin/true
/usr/bin/false

1
このwhichコマンドは機能しますが、通常、このタイプの作業を行うために使用する適切なツールではありません。このU&Lに関するQ&A:unix.stackexchange.com/questions/85249/…を
slm

6
OSXではwhich、カスタムスクリプトの結果は表示されません(つまり$PATH)。typeします。
ウィスバッキー

17

bash builtinを使用する場合type、コマンドのすべての(パス内)ロケーションが表示されます。

$ type -a ls
ls is aliased to `ls --color=always'
ls is /bin/ls

$ type -a printf
printf is a shell builtin
printf is /usr/bin/printf

$ type -a touch
touch is /usr/bin/touch
touch is /bin/touch

コマンドが関数の場合、関数定義がリストされます。

$ type -a somefunc
somefunc is a function
somefunc ()
{
    echo "hello, world"
}

これらの例はUbuntuシステムのものですが、結果はOS Xでも同様です。


4
OSXではwhich、カスタムスクリプトのパスを表示しません(つまり$PATH)。typeします。
ウィスバッキー

3

「位置特定」を試してください


5
これは、実行可能ファイルが現在のPATHにないため「これ」が機能しない場合に機能しますが、不要なものが大量に発生する傾向もあります。最初のパスフィルター:「locate command | grep bin」。最初に「which」を使用します。
dmckee

0

それはあなたが探しているものに依存します。ほとんどのユーティリティはパス変数に依存しています。ただし、探しているのがパスの可能性にある場合、同じ実行可能ファイルのコピーが複数存在しない限り、実際にそれがどこにあるかを知る必要はありません。

ただし、通常のlinux / unixバイナリのようには実行されないため、これはOSXで実行されているほとんどのものには当てはまりません。以下は、パスステートメントにないものを見つけるための方法です。

見つける:

sudo find / -name <FILE>

これにより、最初の引数として指定したファイルシステムに存在するものがすべて検索されます。プライベートディレクトリを検索するには、rootとして実行する必要があります。名前が完全にわからない場合、ワイルドカードもサポートします。

ターミナル:

ファインダーにファイルがある場合は、ターミナルウィンドウを開いてファイルをドロップできます。ターミナルは、ファイルへのフルパスを表示します。

スポットライト:

かなり自明です。fiのインデックスを保持できるようにプロセッササイクルを寄付しています

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.