findコマンド


■Linux(RHEL8)マニュアル無料プレゼント
弊社の有料セミナー「リナックスマスタープロセミナー」で
実際に使っているマニュアルを無料サンプルとしてプレゼント

申し込みはフォームに名前とメールアドレスを登録するだけです。
お名前*
メールアドレス *
※不正メールアドレスを登録した場合、マニュアルが届きませんのでご注意ください。


ファイルを検索する

■-- 文法 --■

find (パス) 検索条件

     例)
       find▲/home/usr/pakira▲-name▲pakira.dat
      「/home/usr/pakira」ディレクトリのなかから「pakira.dat」ファイルを検索する
     ※▲はスペースを表してます。


人気セミナー

リナックスマスタープロセミナー【RHEL8研修】
一生使えるLinuxスキルが欲しい初心者向けセミナーです。
RHELをゼロからインストールするところから学べます。

AWSマスターセミナー【Amazon Linux研修】
AWS初心者向けセミナーです。ログインや料金確認などの基礎から
ロードバランサーなど業務で使える実用的なスキルが1日で学べます。

■ オプション

-atime 指定した時間とファイルが最後にアクセスされた時間を比較する
-mtime 指定した時間とファイルの最終更新日を比較する
-name ファイル名 ファイル名で検索する
-user ユーザー名 ファイルの所有者と指定したユーザ名を比較する
-print 条件に合致したファイル名を表示する
-type ファイルタイプ 指定したファイルタイプと比較する


■ 実行例
■「messages」ファイルを検索する

 $ su -    ←root権限になります
 Password:
 # find / -name messages ←「find」コマンドを実行します
 /var/log/messages    ←「/var/log/」に「messages」ファイルがあります


検索するファイルにもよりますが、
「messages」などのシステムログファイルなどを検索する場合には、
root権限になって検索することをおすすめします。

root権限じゃない状態で「find / -name messages」を実行すると、
下記の様なエラーが多く表示されます。
----------------------------------------------
find: /proc/1/fd: Permission denied
find: /proc/2/fd: Permission denied
find: /proc/3/fd: Permission denied
find: /proc/4/fd: Permission denied
----------------------------------------------
検索自体は中止されませんが、画面が見づらくなりますので注意してください。
ちなみに、上記エラーは、
「このディレクトリにアクセスできる権限がありません。」という意味です。

findコマンドは、今で紹介してきたコマンド違いちょっと複雑ですので、
もう少し詳しく紹介します。パスというのがありますが、これは検索する範囲を指定するものです。
上の例では、「/」を指定しています。これはすべてのディレクトリを検索範囲に指定しています。

しかし、もっと狭い範囲を検索したいというのであれば、
ここに検索したいディレクトリを指定してあげればいいわけです。

たとえば、「/home」ディレクトリ配下の「test」という名前のファイルを
検索したい場合には 「find /home -name test」としてあげれば検索できます。

次に検索条件とありますが、ここで色々な条件を指定することで
複雑なファイル検索をすることができます。
例では、「-name」を指定しています。
これは、ファイル名を指定して検索するという指定をしています。

他には、「-user」があります。
これはファイルの所有者が指定したユーザのファイルを検索結果として表示させます。

「find /home -user pakira」と実行すると、
「/home」ディレクトリ配下のpakiraが所有者しているファイルがすべて表示されます。

ファイルタイプで絞込み検索をしたい場合には、「-type ファイルタイプ」を指定します。
「-type f」でファイルを検索、「-type d」でディレクトリを検索します。

ここの条件は組み合わせることで、更に対象ファイルを絞り込むことができます。
検索エンジンで検索するときと同じで、たくさんのキーワードを指定することで
絞込み検索できます。

「find /home -user pakira -name test -type f」
この実行条件は、「/home」ディレクトリ配下のpakiraが所有者しているファイルで、
名前が「test」のものを表示させなさいという意味になります。

このfindコマンドは、いくつかの条件を組み合わせて使うことで、
強力な機能を発揮します。

■その他のオプション
-atime 指定した時間とファイルが最後にアクセスされた時間を比較する
-mtime 指定した時間とファイルの最終更新日を比較する

関連記事
ディレクトリ内のファイル数を表示する


失敗しないLinuxの転職に強い転職サイト・転職エージェント【厳選3選】

リナックスマスタープロセミナー【RHEL8研修】
一生使えるLinuxスキルが欲しい初心者向けセミナーです。
RHELをゼロからインストールするところから学べます。

AWSマスターセミナー【Amazon Linux研修】
AWS初心者向けセミナーです。ログインや料金確認などの基礎から
ロードバランサーなど業務で使える実用的なスキルが1日で学べます。

■AWS構築マニュアルを無料プレゼント
たった13分で、AWSにWordPress環境が作れます。
申し込みはフォームに名前とメールアドレスを登録するだけです。
お名前*
メールアドレス *
※不正メールアドレスを登録した場合、マニュアルが届きませんのでご注意ください。


<<関連記事>>
・pstree
・chsh
・finger
・du
・uname

スポンサードリンク


■CentOS7サーバー構築マニュアルを無料プレゼント
下記3冊のマニュアルを無料プレゼントしています。
・CentOS7サーバー構築マニュアル(105ページ)
・VMware Playerで作る仮想Linux環境構築マニュアル(40ページ)
・DB(PostgreSQL・MySQL)構築・CentOSバージョンアップマニュアル(33ページ)


詳細は↓をいますぐクリックしてください。
 無料マニュアルをダウンロードする  ホームスタディ講座【初級編】