Хотя 林果 皞 и Томас уже дали хорошие ответы на этот вопрос, я чувствую, что их ответы забыли объяснить , почему такое поведение было реализовано в первую очередь.
В вашем найти. -delete
Пример удаления текущего каталога звучит довольно логично и разумно. Но подумайте:
$ find . -name marti\*
./martin
./martin.jpg
[..]
Есть ли удаление .
по-прежнему звучит логично и разумно для вас?
Удаление непустого каталога является ошибкой, поэтому вы вряд ли потеряете данные с помощью find
(хотя вы могли бы с rm -r
) - но ваша оболочка будет иметь текущий рабочий каталог, установленный на каталог, который больше не существует, что приведет к некоторому сбивающему с толку и удивительному поведению:
$ pwd
/home/martin/test
$ rm -r ../test
$ touch foo
touch: cannot touch 'foo': No such file or directory
Не удаление текущего каталога - это просто хороший дизайн интерфейса и соблюдает принцип наименьшего удивления.