#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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS