次: , 前: Scope, 上: Introduction


1.2 概要

与えられた基準にマッチするファイルのリストを作成し,その上でコマンドを 実行するために使用される主なプログラムは,findlocate, そしてxargsです.追加のコマンドはupdatedbで,それは locate が使用するデータベースを作成するために,システム管理者が 使用します.

findはディレクトリ階層内でファイルを検索し,見つかったファイルの 情報を出力します.以下のように実行します.

     find [file...] [expression]

ここに典型的なfindの使用方法があります.この例では, /usr/src をルートとしたディレクトリツリー内で,名前が`.c'で 終り,100Kバイト以上の大きさを持つ,すべてのファイルの名前を出力します.

     find /usr/src -name '*.c' -size +100k -print

ワイルドカードは,シェルでの展開から守るため,確実に引用符で囲む必要が あることに注意してください.

locateは,特別なファイル名のデータベースで,パターンにマッチする ファイル名を探します.システム管理者は,データベースを作成するために updatedbを実行します.locateは以下のように実行します.

     locate [option...] pattern...

この例は,デフォルトファイル名のデータベースで,名前が`Makefile'ま たは`makefile'で終わる,すべてのファイルの名前を出力します.データ ベースに保存されるファイル名は,システム管理者がupdatedbを実行し た方法に依存します.

     locate '*[Mm]akefile'

名前xargsは,EX-argsと発音され,それは“引数を統合する”という意 味があります.xargsは,標準入力から読み込む引数をかき集めてコマ ンド行を構築し実行します.これらの引数は,findで生成されるファイ ル名のリストとなることが最も多くなっています.xargsは,以下のよ うに実行します.

     xargs [option...] [command [initial-arguments]]

以下のコマンドは,ファイルfile-list内にリストアップされているファ イルを検索し,単語`typedef'を含むもののすべての行を出力します.

     xargs grep typedef < file-list