UNIXの操作/UNIXでのファイル・ディレクトリ操作/ファイル・ディレクトリを検索する find

ファイル・ディレクトリを検索するには,findコマンドを使用します.

次にfindコマンドの実行例を示します.


%ls<RET>カレントディレクトリの状態を調べる
report.txt report.dvi report.ps report.jpg report.tex
%find . -name report.tex -print <RET>カレントディレクトリから`.tex'という名前のファイルを検索する
./report.tex
% _

この例では,`t01000tf'のカレントディレクトリ上に`report.tex'というファイルが存在することがわかります.

findコマンドは次のような書式で使用します.

%find [検索開始ディレクトリ] [検索条件] [コマンド]

なお,findのオプションは,検索条件の位置で指定するものと,コマンドの位置で指定するものがありますので注意してください.

次に検索条件として指定するオプションを示します.オプションは省略できません.

-name ファイル名で検索する
find [検索対象のディレクトリ] -name [ファイル・ディレクトリ名] [コマンド]
%find . -name report.tex -print <RET>
./report.tex
./groupwork/report.tex
...


-atime 一定時間内にアクセスされたファイルを検索する
find [検索対象ディレクトリ] -atime [日付] [コマンド]

%find /home/archives/t01000tf -atime +30 -print <RET>メディアサーバ内で30日以上アクセスしてないファイルを検索
/home/archives/t01000tf/taro.jpg
/home/archives/t01000tf/hanako.tif
/home/archives/t01000tf/movie/document.mov
/home/archives/t01000tf/music/jazz.wav



次にコマンドとして指定するオプションを示します.コマンドは複数指定できますが,省略できません.


-print 結果を表示する
find [検索対象ディレクトリ][検索条件] -print
%find . -name report.tex -print <RET>
./report.tex
./groupwork/report.tex