Команда Linux rm

Опубликовано admin - чт, 07/21/2022 - 16:48

В Linux команда rm (remove) используется для удаления файлов. Они удаляются навсегда поэтому следует соблюдать осторожность и желательно иметь резервные копии.

Использование команды Linux rm с примерами

Содержание

Синтаксис

rm [ПАРАМЕТР]… [ФАЙЛ]…

Опции

-f, --force
Игнорировать несуществующие файлы и аргументы, ни о чём не спрашивать
-i
Запрашивать подтверждение перед каждым удалением
-I
Запрашивать подтверждение один раз перед удалением более трёх файлов или перед рекурсивным удалением; не так назойливо, как с -i, но всё же защищает от большинства ошибок
    --interactive[=КОГДА]
Запрашивать подтверждение в соответствии с КОГДА: never (никогда), once (-I, один раз) или always (-i, всегда); если КОГДА не задано — запрашивать всегда
    --one-file-system
При рекурсивном удалении дерева, пропускать все каталоги, находящиеся не на той же файловой системе, что и соответствующий аргумент командной строки
    --no-preserve-root
Не обрабатывать / особым образом
    --preserve-root[=all]
Не удалять / (по умолчанию); при указании all отвергать любой аргумент командной строки на отдельном устройстве от его родителя
-r, -R, --recursive
Рекурсивно удалять каталоги и их содержимое
-d, --dir
Удалять пустые каталоги
-v, --verbose
Пояснять производимые действия

По умолчанию каталоги не удаляются. Используйте параметр --recursive (-r или -R), чтобы удалить все перечисленные каталоги вместе с их содержимым.

Для удаления файла, начинающегося с - (например: -foo), используйте одну из следующих команд:

  • rm -- -foo
  • rm ./-foo

Заметим, что при использовании утилиты для удаления файла, обычно, его содержимое можно восстановить, имея соответствующий опыт и время.

Примеры использования в Linux команды rm

Удаление файла

В каталоге Directory был создан файл examle:

oleg@mobile:~/Directory:$ ls -l
итого 0
-rw-r--r-- 1 oleg users 0 июл 21 15:21 exmample

Для удаления файла команде опции не нужны:

oleg@mobile:~/Directory:$ rm exmample 

Результат:

oleg@mobile:~/Directory:$ ls -l
итого 0

Удаление нескольких файлов

В этом же каталоге были созданы файлы example_1, example_2, example_3:

oleg@mobile:~/Directory:$ touch example_1 example_2 example_3

oleg@mobile:~/Directory:$ ls -l
итого 0
-rw-r--r-- 1 oleg users 0 июл 21 15:29 example_1
-rw-r--r-- 1 oleg users 0 июл 21 15:29 example_2
-rw-r--r-- 1 oleg users 0 июл 21 15:29 example_3

Для удаления файлов их можно просто перечислить:

oleg@mobile:~/Directory:$ rm example_1 example_2 example_3

Результат:

oleg@mobile:~/Directory:$ ls -l
итого 0

Интерактивное удаление файла

Если вы хотите получать запрос на подтверждение удаления файла, то используйте опцию -i:

oleg@mobile:~/Directory:$ rm -i example 
rm: удалить пустой обычный файл 'example'? y

При запросе подтверждения вводите y для удаления файла, либо n для прерывания выполнения команды.

Удаление защищённого файла

В каталоге Directory создан файл example, защищённый от записи:

oleg@mobile:~/Directory:$ ls -l
итого 0
-r--r--r-- 1 oleg users 0 июл 21 15:42 example

Пробуем удалить:

oleg@mobile:~/Directory:$ rm example 
rm: удалить защищённый от записи пустой обычный файл 'example'? y

В любом дистрибутиве Linux команда запросит подтверждения на удаление, но с опцией -f файл удаляется без предупреждения:

oleg@mobile:~/Directory:$ rm -f example

Результат:

oleg@mobile:~/Directory:$ ls -l
итого 0

Удаление каталога

Команда может использоваться для рекурсивного удаления каталога и его содержимого:

oleg@mobile:~:$ rm -r Directory

Удаление содержимого каталога

Для удаления содержимого каталога команда используется с подстановочным символом *:

oleg@mobile:~/Directory:$ rm *

Удаление пустого каталога

Для удаления пустого каталога команда используется с опцией -d:

oleg@mobile:~:$ rm -d Directory

Использование подстановочных символов

В качестве примера были созданы несколько файлов:

oleg@mobile:~/Directory:$ ls -l
итого 0
-rw-r--r-- 1 oleg users 0 июл 21 16:18 example_1.txt
-rw-r--r-- 1 oleg users 0 июл 21 16:18 example_2.txt
-rw-r--r-- 1 oleg users 0 июл 21 16:18 example_3.txt
-rw-r--r-- 1 oleg users 0 июл 21 16:18 linux_example_1
-rw-r--r-- 1 oleg users 0 июл 21 16:18 linux_example_2
-rw-r--r-- 1 oleg users 0 июл 21 16:18 linux_example_3

В данном примере файлы, имена которых оканчиваются на .txt, удаляются следующим образом:

oleg@mobile:~/Directory:$ rm *.txt

Файлы, имена которых начинаются с linux, удаляются так:

oleg@mobile:~/Directory:$ rm linux*

Заключение

Команда Linux rm является одной из базовых утилит. Она позволяет вам удалять файлы и каталоги. В этой статье мы рассмотрели некоторые титичные примеры.

Поделиться с друзьями