Команда RM в Linux. Описание и примеры
Написать статью
Войдите, чтобы писать статьи

Команда rm

11

Команда rm в Linux

Описание команды rm

rm
Удаление файлов и директорий.

По умолчанию команда rm не удаляет директории. Чтобы удалить директорию и все ее содержимое, включая вложенные директории, нужно использовать опцию -r (рекурсивное удаление).

Синтаксис

rm опции файл(ы)

файл(ы) — один или несколько файлов и/или директорий, записанных через пробел. Можно использовать шаблон (например, *.txt).

Опции

-f или --force
Игнорировать несуществующие файлы и аргументы. Никогда не выдавать запросы на подтверждение удаления.
-i
Выводить запрос на подтверждение удаления каждого файла.
-I
Выдать один запрос на подтверждение удаления всех файлов, если удаляется больше трех файлов или используется рекурсивное удаление. Опция применяется, как более «щадящая» версия опции -i
--interactive[=КОГДА]
Вместо КОГДА можно использовать:

  • never — никогда не выдавать запросы на подтверждение удаления.
  • once — выводить запрос один раз (аналог опции -I).
  • always — выводить запрос всегда (аналог опции -i).

Если значение КОГДА не задано, то используется always

--one-file-system
Во время рекурсивного удаления пропускать директории, которые находятся на других файловых системах.
--no-preserve-root
Если в качестве директории для удаления задан корневой раздел /, то считать, что это обычная директория и начать выполнять удаление.
--preserve-root
Если в качестве директории для удаления задан корневой раздел /, то запретить выполнять команду rm над корневым разделом. Данное поведение используется по умолчанию.
-r или -R или --recursive
Удаление директорий и их содержимого. Рекурсивное удаление.
-d или --dir
Удалять пустые директории.
-v или --verbose
Выводить информацию об удаляемых файлах.

Примечание

Если нужно удалить файл, название которого начинается с символа -, например, файл -myfile, то используется следующая команда:

rm -- -myfile

Или:

rm ./-myfile

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

Удалить файл

Чтобы удалить файл с помощью команды rm достаточно указать название файла:

rm myfile.txt

Можно удалить несколько файлов, перечислив их имена через пробел:

rm myfile1.txt myfile2.txt myfile3.txt

Принудительно удалить защищенный файл

Если файл защищен от записи, то по умолчанию будет выдан запрос на подтверждение операции удаления. Чтобы запрос не выводился, и происходило удаление защищенных файлов, используется опция -f

rm -f myfile.txt

Удалить все файлы в текущей директории

Чтобы удалить все файлы в текущей директории можно использовать шаблонную запись звездочка *

rm *

Выдавать запрос перед удалением каждого файла

Чтобы перед удалением каждого файла выводилось подтверждение на удаление данного файла, используется опция -i

rm -i myfile*.txt

Выдать запрос на удаление один раз

При использовании опции -I выводится всего один запрос на подтверждение удаления файлов, причем, только если удаляемых файлов четыре и более. Если файлов 3, или 2, или 1, то запрос не выводится.

rm -I myfile*.txt

Команда RM. Запрос на удаление файлов

Удалить директорию и ее содержимое

Для удаления директорий и их содержимого используется опция -r. Удалим директорию mydir и все файлы и директории внутри нее:

rm -r mydir

Видео: Удаление корневого раздела командой RM

Лайков: +3
войдите, чтобы ставить лайки
11
  • Опубликовано: 18.05.2019

Комментарии

Netifer
12.06.2024
16:34
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Как удалить все файлы, за исключением нескольких?
xKDE
Активный пользователь
Активный
12.06.2024
16:47
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийNetiferРодительский комментарий
0
войдите, чтобы ставить лайки
Вариантов масса. Есть что-то, что объединяет эти несколько файлов?
Netifer
12.06.2024
17:40
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
0
войдите, чтобы ставить лайки
нет, объединяющего критерия нет. Есть сотня файлов в одной папке, но из них нужно оставить только четыре. Я понимаю, что можно нужные файлы переместить во вновь созданную папку, удалить все содержимое первой папки, затем, перенести нужные файлы обратно, удалить временную папку. Но может быть можно сделать это параметрами одной команды rm?
xKDE
Активный пользователь
Активный
12.06.2024
17:42
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийNetiferРодительский комментарий
+1
войдите, чтобы ставить лайки
Тогда придется прописывать все имена исключений. Один из вариантов:
rm -v !("имя1"|"имя2"|"имя3"|"имя4")
xKDE
Активный пользователь
Активный
12.06.2024
18:47
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийNetiferРодительский комментарий
0
войдите, чтобы ставить лайки
Чтобы посмотреть, что будет удалено, можете сначала заменить rm -v на echo. И перейти в каталог с файлами не забудьте!)
Netifer
12.06.2024
18:54
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
0
войдите, чтобы ставить лайки
спасибо за ответ,
то есть !(...) будет означать исключение?
xKDE
Активный пользователь
Активный
12.06.2024
19:04
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийNetiferРодительский комментарий
0
войдите, чтобы ставить лайки
Да. "|" - разделитель имён файлов.
Minor748
Активный пользователь
Активный
12.06.2024
17:02
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийNetiferРодительский комментарий
0
войдите, чтобы ставить лайки
Чаще всего по любой команде есть 'команда --help (-h)'. Второй вариант — поискать статьи в рунете. Третий вариант для "экстрималов" (не знающих английский), но тоже вполне рабочий — идти и читать маны с переводчиком. Да, это долго, да, не всегда понятно, нет ничего лучше первоисточника.

Собственно, когда у меня был интерес, нужда, я нашёл на github как скачать видео с переведёнными автоматом субтитрами на русский через yt-dlp.
x230
Активный пользователь
Активный
12.06.2024
18:54
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Моя любимая команда после tar, zstd и find !
Minor748
Активный пользователь
Активный
12.06.2024
20:02
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийx230Родительский комментарий
0
войдите, чтобы ставить лайки
Команды разные нужны, команды разные важны
jlk
06.11.2024
20:59
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Как удалять только те файлы в которых содержится определенная строка

Написать комментарий

Ваше имя:
Текст комментария:
  • Уважать других.
  • Не ругаться.
  • Без оскорблений.
  • Без грубости.
  • Не переходить на личности.
  • Писать на русском языке.
  • Без политики.
  • Без флуда.
Правила