rm -r /path/to/directory/*
или
rm -rv /path/to/directory/*
если Вы хотите видеть то, что происходит.
Хаос - Вы являетесь неправильными в своей озабоченности, что комната будет когда-либо удалять..
Я сделал быстрый поиск и нашел страницы справочника к комнате из 7-го руководства Unix выпуска по http://plan9.bell-labs.com/7thEdMan/vol1/man1.bun, где это говорит:
ДИАГНОСТИКА
Generally self-explanatory. It is forbidden to remove the file ..
merely to avoid the antisocial consequences of inadvertently doing
something like rm -r .
Учитывая, что 7-й Unix выпуска является родителем всего современного unixes и был выпущен в 1979, я скажу, что это - решительно безопасная вещь сделать. Это ничего не делает, но это не наносит ущерба вообще.
Теперь, существуют другие программы как показанный, в который это будет счастливо "убывать".. и вызовите все виды хаоса, если Вы делаете дурацкие вещи как "показанный-Rh пользователь.*" но комнату не показывают.
Почему не просто:
rm -rf directory
Вы получите сообщение об ошибке, так как у Вас нет разрешения удалить каталог. Но это также удалит все в каталоге, включая те неприятные скрытые файлы.
Это - одна из тех темных областей Unix, который может стать липким быстро.
Каждый из вышеупомянутых примеров щекочет давнюю ошибку в Unix, который в эти дни люди просто рассматривают как милую небольшую причуду личности.
найти. | xargs комната
не будет работать, если будут дурацкие имена файлов в каталоге как новые строки или пробел. Можно даже начать удалять другие файлы не в каталоге, если существует имя файла с a; в нем. Кто знает то, что происходит, если существует имя файла с 'в нем. Просто спросите небольшие таблицы отбрасывания bobby. Вещи могут стать захватывающими быстро.
Комментарий Bill Weiss правильно указывает, что современные версии находки и xargs, которые правильно используют, аннулируют как разделители полей для каждой вещи, которые находят, находит, используете ли Вы-print0 в находке и-0 в xargs. Не будучи доверчивым видом, и получавший первый опыт в более старых, случайным образом поврежденных версиях Unix, я склонен опасаться этих новомодных gnuisms, даже при том, что они работают вполне хорошо и в этом случае являются корректным решением этой определенной проблемы.
комната-r/path/to/directory /* не будет работать, если у Вас будет 10 000 файлов в том каталоге.
Теперь - главным образом я просто не потрудился делать это правильно, таким образом, я буду использовать комнату-rf и смотреть на ошибку, если будет ошибка. Если я на 100% уверен, что нет дурацких файлов, я мог бы использовать, находят и xargs, хотя я действительно не доверяю им.
Если я делаю его в сценарии, который работает автоматически, и я понятия не имею, сколько времени это будет используемым или кто собирается использовать его, я пытаюсь сделать это правильный путь.
Я не могу действительно думать о быстром, опрятном, и надежном способе сделать это, но я думаю, что мог сделать это со сценарием оболочки Bourne как:
for a in * .*
do
rm -rf "$a"
done
Теперь - это безопасно, потому что для цикла защищает командную строку "комнаты" от наличия миллиарда исходных данных, и двойные кавычки вокруг переменной защищают его от дурацких вещей как символы ESC или точки с запятой или другой meta мусор. Это также намного медленнее, чем находка + xargs.
Таким образом, я предполагаю, что правильный ответ "Нет никакой программы, чтобы сделать это. Необходимо записать программу, чтобы сделать это надежно". Я предполагаю, что это - то, какого киоскера и все сделали с находкой и xargs...
Я полагаю, что можно было использовать: комната-rf / тестирует /*