команда rm в Linux с примерами
rm здесь означает удалить . Команда rm используется для удаления таких объектов, как файлы, каталоги, символические ссылки и т. д. из файловой системы, такой как UNIX. Чтобы быть более точным, rm удаляет ссылки на объекты из файловой системы, где эти объекты могли иметь несколько ссылок (например, файл с двумя разными именами). По умолчанию каталоги не удаляются.
Эта команда обычно работает незаметно, и вы должны быть очень осторожны при запуске команды rm, потому что после удаления файлов вы не сможете восстановить содержимое файлов и каталогов.
Синтаксис:
rm [ОПЦИЯ] ... ФАЙЛ ...
Рассмотрим 5 файлов с именами a.txt, b.txt и так далее до e.txt .
$ ls a.txt b.txt c.txt d.txt e.txt
Удаление одного файла за раз $ rm a.txt $ ls b.txt c.txt d.txt e.txt Удаление более одного файла за раз $ rm b.txt c.txt $ ls d.txt e.txt
Примечание: rm не производит никаких выходных данных, поскольку обычно он генерирует сообщения только в случае ошибки.
Параметры:
1. -i (Интерактивное удаление): как и в cp, опция -i заставляет команду запрашивать у пользователя подтверждение перед удалением каждого файла, вы должны нажимать y для подтверждения удаления, любая другая клавиша оставляет файл не удаленным.
$ rm -i d.txt rm: удалить обычный пустой файл d.txt? у $ ls e.txt
2. -f (Принудительное удаление): rm запрашивает подтверждение удаления, если файл защищен от записи . Параметр -f отменяет эту незначительную защиту и принудительно удаляет файл.
$ ls -l всего 0 -r - r - r - + 1 Пользователь Пользователь 0 2 января 22:56 e.txt $ rm e.txt rm: удалить обычный пустой файл e.txt, защищенный от записи? п $ ls e.txt $ rm -f e.txt $ ls
Примечание. Параметр -f команды rm не работает для каталогов с защитой от записи.
3. -r (Рекурсивное удаление): с параметром -r (или -R) команда rm выполняет обход дерева и рекурсивно удаляет все файлы и подкаталоги родительского каталога. На каждом этапе он удаляет все, что находит. Обычно rm не удаляет каталоги, но при использовании с этой опцией удаляет.
Ниже представлено дерево каталогов и файлов:
$ ls А $ cd A $ ls до н.э $ ls B a.txt b.txt $ ls C c.txt d.txt
Теперь удаление из каталога A (как родительского каталога) будет выполняться следующим образом:
$ rm * rm: невозможно удалить 'B': это каталог rm: невозможно удалить 'C': это каталог $ rm -r * $ ls
Каждый каталог и файл внутри каталога A удаляются.
4. –version: этот параметр используется для отображения версии rm, которая в настоящее время работает в вашей системе.
$ rm --version rm (GNU coreutils) 8.26 Упаковано Cygwin (8.26-2) Авторское право (C) 2016 Free Software Foundation, Inc. Лицензия GPLv3 +: GNU GPL версии 3 или новее. Это бесплатное программное обеспечение: вы можете изменять и распространять его. НИКАКИХ ГАРАНТИЙ в той степени, в которой это разрешено законом. Авторы Пол Рубин, Дэвид Маккензи, Ричард М. Столмен, и Джим Мейеринг.
Приложения wc Command
Удалить файл, имя которого начинается с символа дефиса (-): Чтобы удалить файл, имя которого начинается с дефиса («-»), вы можете указать двойной дефис («-») отдельно перед именем файла. Это дополнительное тире необходимо для того, чтобы rm не неправильно интерпретировала имя файла как параметр. Допустим, это имя файла -file.txt , чтобы удалить этот файл, запишите команду как:
$ ls -file.txt $ rm -file.txt rm: неизвестный вариант - l Попробуйте 'rm ./-file.txt', чтобы удалить файл '-file.txt'. Для получения дополнительной информации попробуйте 'rm --help'. $ rm - -file.txt $ ls