Из окна терминала:
Когда я использую rm
команду, она может удалять только файлы.
Когда я использую rmdir
команду, она удаляет только пустые папки.
Если у меня есть каталог с файлами и папками в папках с файлами и т. Д., Есть ли способ удалить все файлы и папки, не набирая много команд?
Если это имеет значение, я использую оболочку Mac Bash из терминала, а не Microsoft DOS или Linux.
Ответы:
-r "recursive" -f "force" (подавить подтверждающие сообщения)
Быть осторожен!
источник
brew install trash
затемtrash -rf some_dir
Это переместит нежелательный каталог в вашу корзину вместо того, чтобы просто исчезать из сети в стиле Prestige . ( источник )Удалил бы все (папки и файлы) в текущем каталоге.
Но будь осторожен! Выполняйте эту команду, только если вы абсолютно уверены, что находитесь в правильном каталоге.
источник
ls -R *
первым, чтобы посмотреть, что будет удаленоrm -rf *
Да, есть.
-r
Опция указываетrm
, что г ecursive, и удалить всю иерархию файлов укоренились на своих аргументов; другими словами, если дан каталог, он удалит все его содержимое и затем выполнит то, что эффективноrmdir
.Два других варианта, которые вы должны знать, это
-i
и-f
.-i
означает я Интерактивно; это заставляетrm
вас перед удалением каждого файла.-f
обозначает ф Orce; это идет вперед и удаляет все, не спрашивая.-i
безопаснее, но-f
быстрее; используйте его, только если вы абсолютно уверены , что удаляете правильную вещь. Вы можете указать это с-r
или нет; это независимая настройка.И как обычно, вы можете комбинировать переключатели:
rm -r -i
естьrm -ri
иrm -r -f
естьrm -rf
.Также обратите внимание, что то, что вы изучаете, применимо к
bash
каждой ОС Unix: OS X, Linux, FreeBSD и т. Д. Фактически,rm
синтаксис одинаков практически во всех оболочках в каждой ОС Unix. OS X, под капотом, на самом деле является системой BSD Unix.источник
"rm -d"
, который удаляет либо файлы, либо пустые каталоги. Тем не менее, +1 за то, что OS X является BSD внутри.Поэтому я искал способ удалить все файлы в каталоге, за исключением некоторых каталогов и файлов, которые я хотел сохранить. После долгих поисков я придумал способ сделать это, используя find.
По сути, он использует регулярные выражения, чтобы выбрать каталоги, чтобы исключить из результатов, а затем удаляет оставшиеся файлы. Просто хотел выложить это на случай, если кому-то еще это понадобится.
источник