日刊アスキー Linux Top ASCII24 News ASCII24 Review ASCII24 Business Center 携帯24 Mac24 Akiba2GO! 日刊アスキー Linux デジタル用語辞典 ASCII24 Broadband Center ニュース 今日のコラム イベント情報 セミナー情報 Linux magazine ASCII24メールサービス アスキー編集会議
ASCII24 - [Main Menu] [Menu 2]
  ASCII24 > 日刊アスキー Linux > All ASCII Linux Issue 1
111
記事/用語/ID検索 

Linux Magazineの最新記事一覧

Biz Express Focus 『HDE Mail Filter 1.0』 (2003年7月8日)
Biz Express Focus “Ready for e-business” (2002年6月7日)
これで解決! Linux 100の疑問―その3 (2001年9月6日)
これで解決! Linux 100の疑問―その2 (2001年8月27日)
これで解決! Linux 100の疑問―その1 (2001年8月24日)
覚えておきたい必須コマンド30―その6・vi、最初の一歩 (2001年7月13日)
覚えておきたい必須コマンド30―その5・シェルを使おう (2001年6月27日)
覚えておきたい必須コマンド30―その4・コマンドリファレンス (2001年6月18日)
覚えておきたい必須コマンド30―その3・管理コマンド (2001年6月12日)
覚えておきたい必須コマンド30―その2・便利なコマンド (2001年6月9日)
覚えておきたい必須コマンド30―その1・ファイルの基本操作 (2001年5月31日)
初めてでも大丈夫!今日から使える Linux (第3部) (2001年5月25日)
初めてでも大丈夫!今日から使える Linux (第2部) (2001年5月21日)
初めてでも大丈夫!今日から使える Linux (第1部) (2001年5月14日)






Contact Information

[PR]
Printable Version All ASCII Linux Issue / Linux Magazine 2000年5月号

覚えておきたい必須コマンド30―その2・便利なコマンド

知っているとオペレーションが100倍便利になる各種のコマンドを覚えよう


2001年6月9日

ファイルの検索

ファイルが多くなってくると、どこに何のファイルを置いたか忘れてしまうことがある。また、エディタが作ったバックアップファイルだけを削除したいというようなこともある。findコマンドは、ディレクトリツリーの中から指定された条件に合うファイルを見つけてくれる。さらに、そのファイルに対して操作をすることもできる。

拡張子が.bakの名前を持つファイルを探したいときは、次のようにする。最初の引数のドットは検索をするディレクトリ位置である。この場合は、カレントディレクトリ以下を探すよう指定している。-nameはファイル名で探すという指示であり、名前の条件は「*.bak」に一致するファイルとしている。ファイル名を引用符で囲んでいるのは、アスタリスクをシェルに解釈されないようにするためだ。


USER$ find . -name '*.bak'
./2000-05/linux.txt.bak
./2000-05/lists.txt.bak

execオプションを用いると、探し出した各ファイルに対して、削除やパーミッションを変更したりといった操作をすることができる。たとえば、バックアップファイルを削除するには、次のように指定する。execオプションはセミコロン(;)までの間をコマンドとして実行する。セミコロンにバックスラッシュを付けているのも、シェルに解釈されないためである。


USER$ find . -name '*.bak' -exec rm -f {} \;

{}の部分が見つかったファイルの名前に置換される。上記の例は、次のように実行されることに等しい。


rm -f ./2000-05/linux.txt.bak
rm -f ./2000-05/lists.txt.bak

ディレクトリ単位でファイルのパーミッションを変更するようなとき、chmodのRオプションでは、ファイルもサブディレクトリもすべて変更してしまう。しかし、設定するパーミッションによっては、ディレクトリのパーミッションは変更したくない場合がある。このようなときにもexecオプションは便利だ。

次の例では、ファイルのパーミッションを644、ディレクトリを755にしている。


USER$ find . -type f -exec chmod 644 {} \;
USER$ find . -type d -exec chmod 755 {} \;

findは時刻をもとに検索することもできる(画面5)。


USER$ date
Wed Mar 22 15:07:46 JST 2000
USER$ ls -ltr
合計 228
-rw-r--r--   1 ken-na   staffs       2909 Mar 13 15:27 from-kinoshita.txt
-rw-r--r--   1 ken-na   staffs       1958 Mar 14 20:15 options.txt
-rw-r--r--   1 ken-na   staffs       2643 Mar 15 17:42 lists.txt
-rw-r--r--   1 ken-na   staffs       2643 Mar 15 17:42 lists.txt.bak
-rw-r--r--
  
1 ken-na   staffs      58572 Mar 22 15:11 genko.txt
-rw-r--r--   1 ken-na   staffs      58655 Mar 22 15:11 genko.txt.bak
USER$ find . -mtime +6
./from-kinoshita.txt
./options.txt
USER$ find . -mtime -6
.
./genko.txt
./genko.txt.swp
./genko.txt.bak
USER$ find . -mtime 6
./lists.txt
./lists.txt.bak
USER$ find . -mmin -10
.
./genko.txt
./genko.txt.bak
USER$ find . -newer options.txt
.
./genko.txt
./genko.txt.bak
./lists.txt
./lists.txt.bak
画面5 findの実行例

mtimeオプションはファイルが最後に修正された時刻で検索する。オプションのうしろの数値は日数を示している。日数の前にプラスを付けると、最後に修正された時刻がその日数よりも前のファイルが報告される。マイナスの場合は指定した日数が経っていないファイルが報告される。何もつけないとその日数分だけ経過したファイルになる。

mminオプションもmtimeと同様だが、指定する数値の意味が分単位になる点だけが違う。

newerオプションは数値でなく、ファイルを指定する。そして、指定されたファイルが最後に修正された時刻よりも、最近修正されたファイルが報告される。

mtime/mmin/newerはファイルが最後に修正された時刻をもとにしたが、同様のものとして、最後にアクセスされた時刻をもとにするatime/amin/anewer、最後に属性が変更された時刻をもとにするctime/cmin/cnewerもある。

(中野 賢)


[前ページ][次ページ]

Contents...



Copyright (C) 1997-2006 ASCII Corporation. All Rights Reserved.
No portion of this web site may be reproduced or duplicated without the express written permission of ASCII Corporation.
This web site is written in Japanese only.
記事に関するご意見やご質問は、お問い合わせフォームにてお送りください