今日からあなたもLinuxシステム管理者

find

 ファイルの検索を行う。例えば"/usr"ディレクトリ下の"postgres"という名前のファイルを検索するには以下のように-nameオプションでファイル名を指定してfindコマンドを実行する。
[mobile@localhost mobile]$ find /usr -name postgres
/usr/bin/postgres
 -nameオプションではメタキャラクタが使用できるので、ファイル名の先頭が"postgres"であるファイルすべてを検索するには以下のように*を使用する。
[mobile@localhost mobile]$ find /usr -name postgres*
 ファイル名の大文字、小文字を区別せずに検索したい場合は-inameオプションを指定する。ファイル名の先頭が"postgres"であるファイルすべてを検索するには以下のように入力すれば良い。これには"postgres123"も"POSTgres123"もマッチする。
[mobile@localhost mobile]$ find /usr -iname postgres*
 ファイル名だけでなく修正時刻での検索もできる。例えばカレントディレクトリで現在時刻の1時間前よりも後に修正されたファイルを検索するには-mminオプションを指定してfindコマンドを実行する。
[mobile@localhost mobile]$ find . -mmin -60
 これとは逆にカレントディレクトリで現在時刻の1時間前よりも前に修正されたファイルを検索するには-mminオプションで指定する数値の-を+にする。
[mobile@localhost mobile]$ find . -mmin +60
 分単位でなく何日という単位での検索も可能だ。例えばカレントディレクトリで今日の1日前よりも後に修正されたファイルを検索するには-mtimeオプションを指定してfindコマンドを実行する。
[mobile@localhost mobile]$ find . -mtime -1
 もちろんこちらも逆の指定が可能。カレントディレクトリで今日の1日前よりも前に修正されたファイルを検索するには-mtimeオプションで指定する数値の-を+にする。
[mobile@localhost mobile]$ find . -mtime +1

一般ユーザでアクセスできるディレクトリに制限があるとき、以下のように"許可がありません"と言われてしまうことが多々あると思う。

[mobile@localhost mobile]$ find / -name mobile
/home/mobile
find: `/home/kaihatsu': 許可がありません
find: `/lost+found': 許可がありません
find: `/.dbus': 許可がありません
find: `/var/gdm': 許可がありません
find: `/var/log/httpd': 許可がありません

そんな時は標準エラー出力を/dev/nullにリダイレクトして捨ててしまおう。

[mobile@localhost mobile]$ find / -name mobile 2> /dev/null

新着情報
【オープンソースソフトウェア環境構築】Apple silicon Macで開発環境を構築
【Rust Tips】Actix webでJSONをPOSTする
【Rust Tips】コマンドライン引数を取得する

Copyright(C) 2004-2015 モバイル開発系(K) All rights reserved.
[Home]