linux + найти команду с rm -rf

почему следующая команда удалила каталог tmp в / var и как этого избежать?

find /var/tmp -type d -ctime -1 -exec rm -rf {} \; pwd /var/tmp [root@linux /var/tmp]# find /var/tmp -type d -ctime -1 -exec rm -rf {} \; find: /var/tmp: No such file or directory 

2 Solutions collect form web for “linux + найти команду с rm -rf”

Первый find /var/tmp находит /var/tmp . Если вы хотите пропустить этот (и использовать Gnu find ), вы можете изменить команду:

 find /var/tmp -depth -mindepth 1 -type d -ctime -1 -exec rm -rf {} \; 

или

 find /var/tmp -mindepth 1 -type d -ctime -1 -exec rm -rf {} \; -prune 

Без -depth и -prune сообщения об ошибках могут возникать, потому что rm -rf удаляет подкаталоги, которые, возможно, уже были обнаружены с помощью find . -depth вызывает -depth rm -r для подкаталогов. Но, как и должно быть достаточно для запуска rm -rf один раз для каждого поддерева, вы можете альтернативно прекратить обработку содержимого каталога с помощью -prune .

Используйте логический оператор не ! или -not исключить путь / var / tmp из результатов. Примечание: – не совместим с POSIX.

 find /var/tmp -type d -ctime -1 ! -path /var/tmp -exec rm -rf {} \; 

Или

 find /var/tmp -type d -ctime -1 -not -path /var/tmp -exec rm -rf {} \; 
  • Невозможно изменить разрешения файлов / каталогов в chrooted файловой системе
  • Как создать списки прав на папки для каждого пользователя?
  • Поиск файлов по длине имени файла
  • Как применить awk-скрипт к нескольким файлам в одной папке с использованием цикла
  • Как я могу сделать так, чтобы у всех новых пользователей, созданных в будущем, был скопирован определенный файл?
  • Сценарий оболочки для объединения файлов с одинаковыми именами
  • Файл не отображается с помощью vi, но отображается с помощью команды ls -l CD *
  • Найти последние версии нескольких файлов в нескольких каталогах
  • Список файлов на основе даты и времени в имени файла
  • Как удалить только содержимое каталогов?
  • find: как игнорировать путь?
  • Очень медленная работа с файлами
  • Linux и Unix - лучшая ОС в мире.