find


ファイルが多い/大きい場合の削除

ファイル数が10万等多すぎるとls等の反応が無くなる場合がある。

# ファイル数の総数
ls -lf /path/to/dir/ | wc -l

# ファイルの先頭100個まで表示
ls -lf /path/to/dir/ | head -n 100

# tmpから始まるファイルを削除
find . -type f -name 'tmp.*' -exec sleep 0.1 \; -print

# 実際に削除: サーバの負荷をかけずに、ゆっくりファイルを消す。秒間10ファイル
nohup nice find . -type f -name 'tmp.*' -exec sleep 0.1 \; -print -delete &

# nohup.out 確認後削除

findの結果をgzファイルにする

gzipは出力ファイル名を指定できない。


findの結果をtar.gzファイルにする

tarの引数としてコマンドラインをそのまま渡すと、ファイルが多い場合に失敗する。そのため標準入力として渡す。


findで.svnを除外したディレクトリのパーミッションを変更する


findコマンドオプション


find+xargs


空のディレクトリを探す/削除する


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-08-28 (金) 12:21:15