Для удаления файлов предназначена команда rm (от англ. remove - удалять). Она предназначена для удаления жестких ссылок, а не самих файлов. В Unix, чтобы полностью удалить файл, требуется последовательно удалить все жесткие ссылки на него. При этом все жесткие ссылки на файл (его имена) равноправны – среди них нет «главной», с исчезновением которой исчезнет файл. Пока есть хоть одна ссылка, файл продолжает существовать. Впрочем, у большинства файлов в Unix есть только одно имя (одна жесткая ссылка на файл), поэтому команда rm имя_файла/список_имен_файлов в большинстве случаев успешно удаляет файл. Например, команда
rm test
приведет к удалению файла test. А команда
rm *.txt
приведет к удалению всех файлов с расширениями txt.
Некоторые флаги команды rm:
-i, --interactive | требует подтверждения при удалении файлов |
-v, --verbose | печатает имя каждого файла перед его удалением |
Для удаления каталогов предназначена другая команда – rmdir (от англ. remove directory – удалить каталог). Впрочем, rmdir согласится удалить каталог только в том случае, если он пуст: в нем нет никаких файлов и подкаталогов. Удалить каталог вместе со всем его содержимым можно командой rm с ключом -r (--recursive). Команда
|
|
rm -r имя_каталога
является очень удобным способом потерять в одночасье все файлы: она рекурсивно обходит весь каталог, удаляя все, что попадется: файлы, подкаталоги, символьные ссылки. А ключ -f (--force) делает ее работу еще неотвратимее, так как подавляет запросы вида «удалить защищенный от записи файл», так что rm работает безмолвно и безостановочно.
Помните: если вы удалили файл, значит, он уже не нужен, и не подлежит восстановлению!
Некоторые флаги команды rmdir:
-р, --parents | после удаления указанного каталога пытается удалять каждый каталоговый компонент из полного маршрута |
-v, --verbose | печатает имя каждого файла перед его удалением |
Примеры:
rmdir dir32 | удаление пустого каталога с именем dir32 |
rmdir catalog tests temp | удаление пустых каталогов с именами catalog, tests и temp |
rm -r /home/anna/tmp | удаление каталога /home/anna/tmp со всем его содержимым |