検索
Linuxにおけるファイル検索を述べる.
- find
- mlocate
find
代表的なfindコマンド
書式: find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression]
| オプション | 意味 |
|---|---|
-H | コマンドライン上で指定された引き数を処理するとき以外、シンボリックリンクをたどらない。 |
-L | シンボリックリンクをたどる。 |
-P | シンボリックリンクをまったくたどらない。これがデフォルトの動作である。 |
-D [OPTION] | デバッグモード |
-O [0-3] | 最適化レベル |
式
- グローバルオプション ... 指定位置関係せず,コマンドに影響する.
- ファイルの検査 ... ファイルの中身やメタデータを問う.真偽を返す.
- アクション ... 真偽次第でやることを示す.
- 位置オプション ... 位置によって挙動が変わる.真を返す 位置オプションのうしろで変化される.例えば文字列整形のオプションの場合は,指定位置より後ろは整形された'てい'で評価される.
- 演算子 ANDやORなど
グローバルオプション
一部抜粋する
| 引数 | 説明 |
|---|---|
-d,-depth | ディレクトリそのものより中身を先に処理する |
-help,--help | help. |
-[max|min]depth | 探索する深さを指定. |
-mount,-xdev | ほかのファイルシステムのディレクトリを探索しない |
検査
引数nは,+nでnより大きい,-nでnより小さい,nでnである,を示す.
[a|c|m]について
- aはaccess(アクセスについての最終日時),
- cはchange(要文献)(ステータス変更についての最終日時)を示す.
- mはmodify(最終内容更新日時)
を示す.(e.g. -amin, -cmin, -mmin)
一部抜粋する
| 引数 | 説明 |
|---|---|
-[a|c|m]amin n | 最終日時がn分前である |
-[a|c|]newer f | ファイルfよりも最終日時が新しい.内容更新日時については,単に-newer |
-[a|c|m]time n | 現在時刻を基点として最終日時がn日前である(日付的な意味合いで計算する場合は-daystartをこの引数より前に設定する)` |
-empty | ファイルが空かつ,通常ファイルまたはディレクトリである |
-execute | accessSYSCALLを利用して,実行属性に一致する(実行可能なファイル,検索可能なディレクトリ) |
-readable | 読めるファイル |
-perm [mode] | ファイルの許可属性に関する条件(詳細はManualを) |
-fstype type | そのファイルが設置されているファイルシステムがtypeである |
-gid n | ファイルのGIDがnである |
-group [name|id] | ファイルの属するグループがname名か,gidであるか |
-name [pattern] | ファイルのbasenameがパターンに一致するか.パターンなので,'で囲む, |
-regex [pattern] | ファイル名が正規表現一致か.(-regextypeで正規表現解釈を変更できる) |
-sanefile name | ファイルがnameと同じinode番号を示す.(-Lが有効な場合,シンボリックリンクも真を示す) |
-type [b|c|d|p|f|l|s|D] | ファイルのタイプを示す.DはSolarisの「ドア」タイプである. |
-size n[b|c|w|k|M|G] | ファイルサイズ.c~Gのいずれかを指定しない場合は,b(ブロックサイズ)が適用される.バイトサイズはcである.wはワードサイズ,1ワード2バイトとする.なお,k|M|Gは,それぞれキビ・メビ・ギビである.キロやギガではない. |
-no[user|group] | ファイルのUID/GIDがシステムに存在しない場合 |
アクション
一部抜粋する
-delete削除-exec [command] ;... コマンドを実行.対象となるファイルは{}で示される.ただし,execの呼出回数の点から| xargsを使うと良い場面が多い.-ok [command] ;... execオプションを実行する前に同意を示す.-fls [file]や-fprint file... 出力をfileに書き出す.
-ls...ls -dilsの形式で出力する.-printf [format]... printf書式
演算子
(),!,-not式1 式2,式1 -a 式2,式1 -and 式2... and式1 -o 式2,式1 -or 式2... or式1 , 式2... list
mlocate
sudo apt install mlocate
updatedb... db更新locate... 検索
最終更新日: 2021年6月27日