1. ホーム
  2. bash

[解決済み] findコマンドで実行ファイルを検索する

2022-05-08 14:54:18

質問

Unixのパラメータ/フラグにはどのようなものがありますか? find コマンドで実行可能ファイルを検索できますか?

どのように解決するのですか?

GNU版のfindでは -executable :

find . -type f -executable -print

BSD版のfindでは -perm と共に + と8進数のマスクがあります。

find . -type f -perm +111 -print

ここで、"+"は、"これらのビットのいずれかが設定されている"を意味し、111は実行ビットを意味します。

とは同一ではないことに注意してください。 -executable の述語は、GNU findのものです。特に -executable はそのファイルが現在のユーザーによって実行可能かどうかをテストするのに対し -perm +111 は、実行権限が設定されているかどうかをテストするだけです。

GNU find の古いバージョンでは -perm +111 構文がありますが 4.5.12 この構文はサポートされなくなりました。代わりに -perm /111 を使用すると、このような動作になります。