9.14. Удаление файлов и каталогов

Проблема
Ваша система переполнена файлами и каталогами. Как удалить те из них, кото рые вам больше не нужны?
Решение
Используйте команду rm (ReMove) — но будьте внимательны! Команда rm удаля ет файлы и каталоги без предупреждения.
Удаление одного файла с расширенным выводом:
$ rm -v game-stats.txt
removed 'game-stats.txt'
Удаление с запросом подтверждения:
$ rm -vi dpkglist
гт: remove regular f i l e 'dpkglist'?y
removed 'dpkglist'
Ключ -г (Recursive) обеспечивает удаление каталога со всеми файлами и под каталогами:
$ rm -rvi /home/games/stats/baseball
Команда удаляет каталог /baseball вместе со всем содержимым.
Для удаления групп файлов можно использовать метасимволы командного
процессора:
$ rm -v *.txt
removed 'file4.txt'
removed 'file5.txt'
removed 'file6.txt'
removed 'file7.txt'
Или:
$ rm -v file*
ВНИМАНИЕ
Ключ -f (Force) обеспечивает принудительное выполнение команды. Это очень опасно! Команда
ничего не сообщает пользователю, а просто удаляет все на своем пути.
Комментарий
Команда rm -rf / стирает всю корневую файловую систему. Некоторые личности
предлагают новичкам выполнить ее, считая это забавной шуткой.
Хотя обычно говорят «rm удаляет файлы», в действительности команда не уда ляет файлы, а только отсоединяет их от i-узлов. Файл по-настоящему удаляется
лишь после удаления всех жестких ссылок, указывающих на него, и перезаписи
данных на диске. Рядовые пользователи могут удалять командой rm любые фай лы в любых подкаталогах, доступных для них, но с каталогами дело обстоит ина че: команда rm удаляет только каталоги, принадлежащие данному пользователю.
Команда touch на самом деле предназначена для изменения временных поме ток файла. Ее применение для создания новых файлов может рассматриваться
как неожиданный побочный эффект.
Для удаления каталогов также существует команда rmdir. Эта команда отказы вается удалять каталоги, содержащие какие-либо данные. На первых порах это
помогает, но со временем начинает раздражать; многие программы создают файлы,
не отображаемые в нормальных списках (имена файлов, начинающиеся с точки,
обычно игнорируются; чтобы включить их в вывод, следует выполнить команду
Is -а). Соответственно, при попытке выполнения rmdir команда скажет, что в ката логе еще остались файлы. Вероятно, со временем вы перейдете на команду rm -r.
См. также
touch(l),rm(l).