Я думаю, что это разумный способ:
find . -maxdepth 1 \! -name . -print0 | xargs -0 rm -rf
и он также позаботится о скрытых файлах и каталогах. Косая черта не обязательна после точки, и это также устранит возможную случайность ввода . /
.
Теперь, если вас беспокоит, что он удалит, просто измените его на
find . -maxdepth 1 \! -name . -print | less
И посмотрите на список. Теперь вы можете поместить его в функцию:
function enum_files { find . -maxdepth 1 \! -name . "$@"; }
И теперь ваше удаление безопасно:
enum_files | less # view the files
enum_files -print0 | xargs -0 rm -rf # remove the files
Если вы не привыкли вставлять новые строки в имена файлов, вы можете опустить параметры -print0
и -0
. Но я бы использовал их, на всякий случай:)