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

Для удаления файлов предназначена команда 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 со всем его содержимым

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: