miyazakitom TwitterTwitterやってます
はてなブックマークに追加はてなブックマークに追加 このエントリーを含むはてなブックマーク
Yahoo!ブックマークに登録 Yahoo!ブックマークでこのサイトを登録している人数 人が登録
この記事をクリップ!
atom:
RSS:



プロが現場で構築するLinuxサーバー技術が習得できる講座とセミナー
   → 【Linux講座】リナックスマスター・ホームスタディ講座
   → 【Linuxセミナー】リナックスマスタープロセミナー【2日間集中研修】

findコマンド

スポンサードリンク

ファイルを検索する

■-- 文法 --■

find (パス) 検索条件

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

■ オプション

-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」でディレクトリを検索

 します。


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


 「find /home -user pakira -name test -type f」


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


■このfindコマンドはいくつかの条件を組み合わせて使うことで、大変な威力を発揮します。是非、あなたもこのコマンドを覚えて、Linuxのファイル検索を自在に 操ってください。

■その他のオプションはこちらです。

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







スポンサードリンク

Linuxコマンド.com:当サイトについて

  • Linuxコマンド.comは個人で運営しているサイトです。
  • ご意見、ご質問はメールでお願いいたします。

スポンサードリンク

Linuxコマンド

テキスト処理

ファイル・ディレクトリ管理

ディスク・デバイス管理

システム管理

ユーザ・グループ管理

ネットワーク管理

パッケージ管理

プロセス管理

圧縮・解凍・アーカイブ管理

LinuxコマンドA-Z

facebook公式ページ

copyright(c) 2007-2012 Linuxコマンド.com All Rights Reserved.
<>