Linux/コマンドメモ/rm
提供: 初心者エンジニアの簡易メモ
目次
サブも含めてディレクトリごと削除
rm -fr /var/.backup/tmp_export2/
30日以上たったログファイルを削除
find /tmp/log -name '*.log' -mtime '+30' -exec rm -f {} \;
こちらのほうが高速?
find /tmp/log -name '*.log' -type f -mtime '+30' -print | xargs rm
引数に付けたdirpath内の30日以上たったログファイルを削除
sh rmlog.sh var/log1 var/log2
- rmlog.sh
#!/bin/bash for dirpath in $@ do if expr "$dirpath" : "[A-z0-9][A-z0-9_-]*$" > /dev/null; then # if [[ "$dirpath" =~ ^[A-z0-9][_A-z0-9_-]*$ ]]; then if [ -e $dirpath ]; then find $dirpath -name '*.*' -type f -mtime '+30' | xargs --no-run-if-empty rm -v fi else echo "error dirpath=$dirpath" fi done
ファイル削除
find /tmp/log -type f -exec rm {} \;
大量ファイル削除時( /bin/rm: 引数リストが長すぎます)エラー対処法
echo /tmp/*.log | xargs rm