再帰的に実行可能ファイルを見つける

再帰的に実行可能ファイルを見つける

Test名前付きディレクトリとその中にいくつかのディレクトリがあります。両方Testのディレクトリとその中のディレクトリには実行可能ファイルがあります。を使って印刷したいですls。このコマンドを使用します。

ls -l `find Test/ -perm /u=x,g=x,o=x -type f`

これは良い/正しい/高速コマンドですか?

私の解決策は次のとおりです

find Test/ -executable -type f -exec ls -l {} \;

そして同じ結果を得る歩行者そしてフラディーチェリー供給。

答え1

そうではありません。 lsコマンドをfindと組み合わせることができます。

find Test/ -type f -perm /u=x,g=x,o=x -exec ls -l {} \;

修正する

実際に-executableは同じではありません-perm /u=x,g=x,o=x。グループや他の人だけが実行できるファイルが存在する可能性があり、表示されません。

したがって、目的に応じてファイルを本人だけ実行可能にしたい場合-executable

答え2

表示されて-execいるので使用する必要はありません。find-ls

$ find Test/ -perm /u=x,g=x,o=x -type f -ls

manページから:

-ls Correct; ls -dils 形式で標準出力に現在のファイルをリストします。環境変数POSIXLY_CORRECTが設定されていない場合、ブロック数は1Kブロックであり、この場合512バイトブロックが使用されます。ファイル名の異常な文字を処理する方法の詳細については、例外ファイル名のセクションを参照してください。

答え3

-execfindコマンドのパラメータを使用する必要があります。

$ find Test/ -perm /u=x,g=x,o=x -type f -exec ls -l {} \;

答え4

実行ファイルの検索現在のログインユーザー

[sudo] find /path -type f -executable

または、所有者/グループ/その他の1つ以上に実行可能ビットが設定されていることを確認してください。

[sudo] find /path -type f -perm /111

または実行可能所有者:

[sudo] find /path -type f -perm /100

または

[sudo] find /path -type f -perm -100

関連情報