Вероятно, вы ищете gpgdir из пакета signing-party (стандартный репозиторий ubuntu), который может рекурсивно шифровать контуры.
Страница руководства находится здесь: http://manpages.ubuntu.com /manpages/saucy/man1/gpgdir.1.html
Единственная причина, по которой rm -r ./* работает не всегда, состоит в том, что вы можете иметь скрытые файлы и / или папку, которые не соответствуют *.
С этой целью bash предоставляют возможность чтобы * соответствовал всем, даже скрытым объектам:
cd dont-delete-me
shopt -s dotglob
rm -r ./*
Может быть полезно сбросить dotglob в состояние по умолчанию (unset), если вы продолжаете использовать оболочку, в которой вы выполнили над командами:
shopt -u dotglob
Открыть терминал (Ctrl + Alt + T) ant type this:
find somedir -mindepth 1 -delete
Это будет соответствовать всем файлам и каталогам внутри somedir и его (grand-) детей, включая «скрытые» точечные файлы но исключая somedir из-за -mindepth 1, затем -delete их.
find /dontDeleteMe/ -xdev -depth -mindepth 1 -exec rm -Rf {} \;
Используйте параметр xdev для удаления файлов только на границе устройства.
Чтобы удалить (в терминале) все файлы и подкаталоги, за исключением базового каталога с именем «dontdelete»:
rm -rf dontdelete/*
Вы можете использовать find с флагом -delete:
find dontDeleteMe/* -delete
Важно /*, поскольку он сообщает find искать только INSIDE папка с именем «dontDeleteMe».
Также убедитесь, что флаг -delete находится в конце команды find.
rm -rf directory/{.*,/*}
Что говорит:
Удалить все файлы, начиная с. в «каталоге» и во всех других файлах.
Хотя это не одобрено Neftas, это решение небезопасно!
Более безопасное решение:
rm -rf directory/!(.|..)
Я не уверен, почему это так сложно, помогите мне, если я ошибаюсь
cd DoNotDeleteDir #<- this is just to make sure we are inside
find . | xargs rm -rf
Вот оно
Существует еще более простой ответ:
cd dontDeleteMe rm -rf *Время основной лекции системы: обязательно обратите внимание на то, где вы находитесь, когда используете подметающие команды как это.
Я не могу сказать этого достаточно. Я должен был восстановить коробку, потому что кто-то не обращал внимания и набрал rm -rf *, когда находился в /.
* nix предполагает, что если вы являетесь пользователем root или если вы являетесь sudo-ing как root, вы знаете, что вы делаете. Поэтому убедитесь, что вы знаете, что делаете, прежде чем это сделать.
Альтернатива, которая гарантирует, что ваша команда «cd» работает до того, как вы выпустите «rm», будет использовать
cd dontDeleteMe && rm -rf *