Linuxで実行ファイルをfindで探す方法
提供: Ubuntu入門
2015年12月20日 (日) 14:37時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「'''Linux'''の '''find''' コマンドは、ファイルを検索するために利用するコマンドです。 '''find''' は、様々な条件でファイルを検索...」)
スポンサーリンク
Linuxの find コマンドは、ファイルを検索するために利用するコマンドです。 find は、様々な条件でファイルを検索できます。実行ファイルだけを検索したい場合があり、今回は、実行ファイル(xがたってるファイル)を検索する例を紹介します。
読み方
- find
- ふぁいんど
- ELF
- いーえるえふ
概要
find コマンドで、実行ファイルを見つける方法として、パーミッションの実行フラグがたっているかどうか、が鍵になります。 x がたってるファイルは
- ファイル
- ディレクトリ
の二種類があります。
レギュラーファイル(通常のファイル) を検索するには、
-type f
を指定することで、絞込ができます(ディレクトリを排除できる)。
実行可能という条件は
- -executable
- パーミッション -perm /u=x,g=x,o=x
で指定できます。コマンドラインで指定する場合は、 -executable が簡単でしょう。Zsh などが補完してくれます。
x のたってる実行可能なファイルの探し方
さて、実際に、実行可能なファイルを検索してみましょう。
find . -executable -type f
find . -perm /u=x,g=x,o=x -type f
以下のコマンドラインの場合、実行可能(x)なファイルが見つかるので、ディレクトリも対象になります。
find . -executable
ELF だけを検索する
上記までの例では、x ビットがたってるファイルが対象になるため、 x のたってる hoge.sh みたいなファイルも引っかかります。
Linux の実行ファイルは、 ELF ファイルフォーマットです。
ELF なファイルだけを検索する場合には、条件が増え、 file コマンドを利用し、さらに grep で絞り込む必要があります。
find . -executable -type f -exec file {} \; | grep -i elf
find . -exec file {} \; | grep -i elf
関連項目
ツイート
スポンサーリンク