#navi(../)
* ファイルを探す・findコマンド [#h68959ba]
ファイル名をキーワードにファイルを探す方法を記述します。~
ターミナルを開き以下のコマンドを入力し実行します。
find ディレクトリ -name ファイル名またはディレクトリ名
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連記事 [#ma2d6086]
-[[findで検索したファイルを削除したい>逆引きUNIXコマンド/findで検索したファイルを削除したい]]
-[[空白を含むファイル名のファイルをfindとxargsの組み合わせで処理する方法>逆引きUNIXコマンド/空白を含むファイル名のファイルをfindとxargsの組み合わせで処理する]]
-[[ファイルを探す・findコマンド>逆引きUNIXコマンド/ファイルを探す・findコマンド]]
-[[指定サイズより大きいファイルを探す・findコマンド>逆引きUNIXコマンド/指定サイズより大きいファイルを探す・findコマンド]]
-[[指定したユーザーが作成したファイル一覧を表示する・find>逆引きUNIXコマンド/指定したユーザーが作成したファイル一覧を表示する・find]]
-[[空っぽのディレクトリ一覧を検索する方法・find>逆引きUNIXコマンド/空っぽのディレクトリ一覧を検索する方法・find]]
-[[指定した時間前に作成したファイル一覧を表示する方法・find>逆引きUNIXコマンド/指定した時間前に作成したファイル一覧を表示する方法・find]]
-[[findコマンドの-printオプションについて>逆引きUNIXコマンド/findコマンドの-printオプションについて]]
* findによるファイル検索例 [#pbf8dfd9]
以下にfindコマンドを使ったファイル検索例と実行結果を記します。
**例1:file.txtを現在のカレントディレクトリ以下から探します。 [#bec6f500]
find ./ -name file.txt
-実行例
$ find ./ -name file.txt
./file_dir_1/file.txt
上記の出力結果により ./file_dir_1/にfile.txtが存在しているのがわかります。
**例2:file*をホームディレクトリ以下から探します。 [#kad290e5]
find ~/ -name 'file*'
or
find ~/ -name "file*"
or
find ~/ -name file\*
-実行例
$ find ~/ -name 'file*'
/home/sakura/file1.txt
/home/sakura/file2.txt
/home/sakura/file3.txt
/home/sakura/file_dir_1
/home/sakura/file_dir_1/file.txt
/home/sakura/file_dir_1/file1.txt
/home/sakura/file_dir_2
/home/sakura/file_dir_2/file2_1.txt
/home/sakura/file_dir_2/file2_2.txt
/home/sakura/file_dir_3
/home/sakura/file_dir_3/file3_1.dat
/home/sakura/file_dir_3/file3_2.dat
/home/sakura/file_dir_3/file3_3.dat
**例3:複数のキーワードを指定して探す。~ [#qd44a486]
''-o -name キーワード'' により複数指定が可能です。
-実行例
$ find ~/ -name file.txt -o -name file1.txt
/home/sakura/file_dir_1/file.txt
/home/sakura/file_dir_1/file1.txt
/home/sakura/file1.txt
$ find ~/ -name file.txt -o -name file1.txt -o -name file2.txt
/home/sakura/file2.txt
/home/sakura/file_dir_1/file.txt
/home/sakura/file_dir_1/file1.txt
/home/sakura/file1.txt
**例4:複数のキーワードでワイルドカード等を用いた検索方法。 [#qfd6002f]
ワイルドカード等を使用する場合は''()''を利用します。~
''()''は特別な文字なのでエスケープ''\''が必要となります。
-実行例
$ find ~/ \( -name file1* -o -name file2* \)
/home/sakura/file2.txt
/home/sakura/file_dir_1/file1.txt
/home/sakura/file1.txt
#br
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
#br