2

Какая разница между этим:

sudo find /usr/local/mysql/data -type f -exec rm {} ';'

и это:

sudo rm -rf /usr/local/mysql/data

3 ответа3

4
sudo find /usr/local/mysql/data -type f -exec rm {} ';'

sudo заставит его работать от имени пользователя root, а затем вы найдете команду find -type f чтобы получить все файлы (только файлы) в /usr/local/mysql/data

-exec rm{} будет вызываться для каждого найденного элемента и удалит файл.

Так что это рекурсивно удалит файлы, но НЕ удалит все каталоги. Также не то, чтобы команда rm использовалась без аргумента -f (force)

rm -rf /usr/local/mysql/data

Эта команда полностью удалит все по указанному пути, каталоги и файлы будут удалены. -f используется, поэтому не будет никаких запросов для выдающего пользователя.

2

Бывший удалит только файлы. Последний удалит всю структуру каталогов.

0

find /usr/local/mysql/data -type f -delete удалит только обычные файлы. Каталоги останутся

rm -rf /usr/local/mysql/data все что угодно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .