プロが教える店舗&オフィスのセキュリティ対策術

Linuxのコマンドについてご教授ください。

1.ファイルの移動ですが特定の更新日付のファイルのみを移動するにはどうしたらよいのでしょうか?

2.ファイルを完全に消すにはrm コマンドでファイルは完全に削除されるのでしょうか?(ディスクが満杯に近い時にファイルを削除したいので、完全に削除した
いのですが)

ご存知でしたらよろしくお願いします。

A 回答 (3件)

特定の更新日付を指定しての移動は簡単ではありません。

まず相対日を求めます。
date -d "10 days ago"
などと数字を変えながら目的の日付が表示されるn日前を求めます。例えば、15日前とします。
find . -daystart -mtime 15 -print | xargs mv --target-directory=/home/hogehoge

15だとちょうど15日前、+15だと15日以上、-15だと15日以下の意味になります。また、標準だと、find コマンドを実行した時刻が基点となる(注)ので0時を基点とするために-daystartも指定します。

注:
find . -mtime 1
を、7/12 23:30 に実行すると、7/10 23:30~7/11 23:30のファイルが対象になる。

rm では完全に削除されます。例外は、
・そのファイルが使用中→使用が終わった時点で削除される
・ln コマンドで別名を持っている場合→別名もrmした時点で削除される
    • good
    • 0
この回答へのお礼

大変わかりやすい説明ありがとうございました。
早速使わせていただきます。
またわからないことがありましたらご教授よろしくお願いします。

お礼日時:2006/07/13 13:43

移動はmvですね。

移動ならこんな感じでは?
find /var/log -mtime +24 -print | xargs mv --target-directory=/home/hogehoge
    • good
    • 0
この回答へのお礼

ありがとうございます。
大変参考になりました。

お礼日時:2006/07/13 13:41

こんな感じでしょうか。



$ find directory -type f [-atime +nnn] [-mtime +nnn] -print | xargs rm -f

-atime +nnn :指定した日数の間アクセスのないファイルを見つける。
-mtime +nnn :指定した日数の間変更のないファイルを見つける。

ファイルシステムによって変わりますが、大抵の場合rmコマンドは
削除フラグをつけているだけだと思います。
ただ、問題になることは無いと思います。
    • good
    • 0
この回答へのお礼

早速のご解答本当にありがとうございました。
助かります。
確認してみます。

お礼日時:2006/07/12 10:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています