
rm — это утилита командной строки для удаления файлов и каталогов. Это одна из важнейших команд, которую должен знать каждый пользователь Linux. Удаляете ли вы несколько файлов или целые каталоги, rm — надёжный и эффективный инструмент, который сэкономит вам время и силы.
В этой статье мы объясним, как использовать команду rm , с помощью примеров и объяснений наиболее распространенных опций rm .
Как использовать команду rm
Общий синтаксис команды rm (удалить) следующий:
rm [ OPTIONS ] ... FILE...
По умолчанию, при запуске без каких-либо опций, rm не удаляет каталоги и не запрашивает у пользователя подтверждение на удаление указанных файлов.
Чтобы удалить один файл, используйте команду rm , указав за ней имя файла в качестве аргумента:
rm filename
Если у вас нет прав на запись в родительский каталог, вы получите ошибку «Операция не разрешена».
Если файл не защищён от записи, он будет удалён без уведомления. В случае успешного выполнения команда не выводит никаких данных и возвращает ноль.
При удалении файлов, защищенных от записи, команда запросит подтверждение, как показано ниже:
rm: remove write-protected regular empty file 'filename'?
Введите y и нажмите Enter , чтобы удалить файл.
Опция -f сообщает rm , что не нужно выдавать пользователю запросы и игнорировать несуществующие файлы и аргументы.
rm -f filename
Если вы хотите увидеть удаляемые файлы, используйте опцию -v (подробный вывод):
rm -v filename
removed 'filename'
Удаление нескольких файлов
В отличие от команды unlink , rm позволяет удалить несколько файлов одновременно. Для этого передайте имена файлов команде в качестве аргументов, разделив их пробелом:
rm filename1 filename2 filename3
Вы можете использовать регулярные выражения для поиска по нескольким файлам. Например, чтобы удалить все файлы .png в текущем каталоге, введите:
rm *.png
При использовании регулярных выражений перед запуском команды rm всегда полезно вывести список файлов с помощью команды ls , чтобы можно было увидеть, какие файлы будут удалены.
Удаление каталогов (папок)
Чтобы удалить один или несколько пустых каталогов, используйте опцию -d :
rm -d dirname
rm -d функционально идентична команде rmdir .
Эта опция позволяет удалить один или несколько пустых каталогов без необходимости вручную проверять каждый из них на предмет его пустоты.
Чтобы рекурсивно удалить непустые каталоги и все файлы в них, используйте опцию -r (рекурсивно):
rm -r dirname
Приведенная выше команда удалит указанный каталог, включая все файлы, каталоги и символические ссылки в нем.
Запрос перед удалением
Опция -i указывает rm запрашивать у пользователя каждый указанный файл перед его удалением:
rm -i filename1 filename2
Для подтверждения введите y и нажмите Enter :
rm: remove regular empty file 'filename1'? rm: remove regular empty file 'filename2'?
При удалении более трех файлов или рекурсивном удалении каталога, чтобы получить один запрос для всей операции, используйте опцию -I :
rm -i filename1 filename2 filename3 filename4
Вам будет предложено подтвердить удаление всех указанных файлов и каталогов:
rm: remove 4 arguments?
rm -rf
Команда rm запросит подтверждение операции, если указанный каталог или файл в нём защищён от записи. Чтобы удалить каталог без запроса, используйте опцию -f :
rm -rf dirname
Имейте в виду, что команда rm -rf очень опасна и должна использоваться с особой осторожностью и вниманием.
Заключение
Мы показали вам, как использовать команду Linux rm для удаления файлов и каталогов из вашей системы Linux.
Будьте предельно осторожны при удалении важных файлов или каталогов, поскольку после удаления файл невозможно будет легко восстановить.
Связанные руководства