%20%D0%B8%D0%B7%20%D1%82%D0%B5%D0%BA%D1%83%D1%89%D0%B5%D0%B3%D0%BE%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0%20(%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%20%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0%20%D0%B2%20%D1%8D%D1%82%D0%BE%D1%82%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3)%3F.png)
Как безопасно удалить все файлы (включая скрытые) из текущего каталога (после cd
перехода в этот каталог)?
Насколько мне известно, cd RELEVANT_DIR && rm *
скрытые файлы не удаляются.
Я предполагаю, cd RELEVANT_DIR && rm -rf ./*
что это правильная команда, но я могу ошибаться.
Обновлять
Я также хочу удалить каталоги (и возможные символические ссылки, и в принципе все в каталоге).
решение1
Поскольку вы упомянули об этом, rm -rf *
я предполагаю, что вы имеете в виду не просто удаление файлов, но и удаление всего содержимого, включая каталоги.
Сbash
cd "RELEVANT_DIR" && ( shopt -s dotglob; rm -r * )
В противном случае сPOSIXинструменты
cd "RELEVANT_DIR" && (
find . ! -type d -delete
find . -depth -path './*' -type d -exec rmdir {} +
)
В этом примере опустите второй параметр, find
если вы хотите оставить структуру каталогов нетронутой.