Часто возникает необходимость удалить что-то на сервере. Для удаления одного объекта можно воспользоваться функцией rm, а вот для массового удаления - все объекты для удаления сначала нужно найти.
Начнем с простого - удаление просто файла с подтверждением:
rm /path/to/file
После вызова данной команды система выдаст вам запрос на подтверждение удаления. Чтобы подтверждение не спрашивалось, необходимо к команде добавить ключ -f:
rm -f /path/to/file
Если удалить нужно не файл, а каталог, то необходимо для начала убедиться, что он пустой и тогда удаление будет аналогично файлу. Но если каталог будет не пустой - данная команда выдаст ошибку. Чтобы ошибки не было, удалять нужно рекурсивно, т.е. вместе со всем содержимым:
rm -rf /path/to/folder
В результате, все папка, вместе со всем содержимым, будет успешно удалена.
Но что, если нужно удалять не всю папку, а только выборочные файлы в ней, или выборочные подразделы? В данном случае поможет команда "find":
Удаляем все файлы (ключ -type f ) с маской имени (упоминанием в имени) "*some_text*" в каталоге ./folder/:
find ./folder/* -type f -name "*some_text*" -delete
Удаляем все пустые каталоги по маске (просто * = все):
find ./folder/* -type d -name "*" -empty -delete
Удалить все файлы, модифицированные более суток назад, по маске:
find ./folder/* -type f -mtime 1 -name "*some_text*" -delete
Другие варианты поиска, можно посмотреть в консоли, в справке функции поиска:
man find