Что такое рекурсивное удаление

Команда Rm в Linux

rm — утилита командной строки для удаления файлов и каталогов Это одна из основных команд, с которыми должен быть знаком каждый пользователь Linux.

Как использовать rm команду

Общий синтаксис команды rm (удалить) следующий:

По умолчанию, когда выполняется без какой-либо опции, rm не удаляет каталоги и не запрашивает пользователя, следует ли продолжить удаление указанных файлов.

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

Если у вас нет прав на запись в родительский каталог, вы получите сообщение об ошибке «Операция не разрешена».

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

При удалении защищенных от записи файлов команда запросит подтверждение, как показано ниже:

Введите y и нажмите, Enter чтобы удалить файл.

-f Опция говорит rm никогда не предложит пользователю и игнорировать несуществующие файлы и аргументы.

Если вы хотите получить информацию о том, что удаляется, используйте -v (подробный) вариант:

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

В отличие от unlink команды, rm позволяет удалить несколько файлов одновременно. Для этого передайте имена файлов в качестве аргументов через пробел:

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

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

Удаление каталогов (папок)

Чтобы удалить один или несколько пустых каталогов, используйте -d параметр:

rm -d функционально идентичен rmdir команде.

Чтобы удалить непустые каталоги и все файлы внутри них рекурсивно, используйте -r (рекурсивный) параметр:

Подскажите перед удалением

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

Чтобы подтвердить тип y и нажмите Enter :

При удалении более трех файлов или рекурсивном удалении каталога, чтобы получить одно приглашение для всей операции, используйте -I параметр:

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

rm -rf

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

Команда rm -rf очень опасна и должна использоваться с особой осторожностью!

Вывод

Мы показали вам, как использовать команду Linux rm для удаления файлов и каталогов из вашей системы Linux.

Будьте предельно осторожны при удалении важных файлов или каталогов, так как после удаления файл не может быть легко восстановлен.

Урок 5. Команда rm — удаление файлов и каталогов

rm файл — удаляет файл, но не каталог.

rm -f файл либо rm —force файл — принудительное удаление файла. Это необходимо тогда, когда у пользователя нет права работать с объектами каталога, в котором находится сам файл.

rm -i файл либо rm —interactive файл — при удалении файла система спросит, действительно ли ты хочешь его удалить. При этом достаточно ввести y(yes) либо n(no)

Кстати, имей ввиду, что объект считается удаленным только тогда, когда удалены все его жесткие ссылки. Подробнее о жестких ссылках поговорим немного позже.

А как узнать их количество?

С помощью команды ls -l

rm -r каталог — рекурсивное удаление всех каталогов и файлов.

Что такое рекурсивное удаление?

Представим, что есть каталог. А в нем еще подкаталоги и файлы, а в тех подкаталогах другие подкаталоги. Чтобы удалить сразу все объкты одним разом, то достаточно при удалении указать корневой родительский каталог и система, начиная с самого низа удалит и файлы и подкаталоги. Данный процесс и называется рекурсивным.

Например, у нас имеется недавно созданный родительский каталог catalogue_A, и в нем имеются дочерние объекты.

Теперь удалим каталог catalogue_A вместе с содержимым и проверим все

rm -r catalogue_A/

После удаления catalogue_A отсутствует.

А можно ввести просто rm catalogue_A/?

Нет, система выдаст ошибку, так как команда rm используется в основном для удаления файлов.

Для удаления отдельных каталогов используется следующая команда:

rmdir каталог — удаление пустых каталогов.

А если он не пустой?

Если он не пустой, то система выдаст ошибку.

В данном случае поможет команда

rmdir —ignore-fail-on-non-empty каталог — удаление непустых каталогов

rmdir -p каталог/подкаталог_1/подкаталог_2 — удаление родительского и всех вложенных в него каталогов. Данная команда работает, когда они не содержат других файлов, кроме самих каталогов и подкаталогов.

Для большей информативности можно использовать опцию -v (—verbose)

Команда rm Linux

Для удаления файлов в операционной системе Линукс используется команда rm, она означает «remove».

Обращаться с утилитой необходимо максимально аккуратно. Небольшие опечатки могут привести к удалению важных документов, тем самым разрушить операционную систему.

Стоит отметить, что удаление файлов посредством введения команды «rm» установлено по умолчанию. Если необходимо убрать директорию и все ее содержимое, рекомендуется воспользоваться опцией «-r». Такое действие именуется рекурсивным удалением.

Синтаксис

rm [параметр] путь к файлу или его название

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

  • -f — дает возможность игнорировать несуществующие аргументы и определенные типы файлов. В ОС Linux никогда не появится запрос на подтверждение изъятия файлов/директорий, которые вы предварительно указали.
  • -i — перед удалением выводится запрос на подтверждение.
  • -I — такая функция позволяет вывести на экран 1 запрос на удаление определенной группы файлов. Она пригодится в том случае, когда вам необходимо убрать более трех файлов или провести рекурсивное удаление. Опция «-I» является более бережной версией «-i».
  • -d — удалить пустые директории.
  • -r — рекурсивное удаление.
  • «—interactive[=ХХХ]». Вместо букв «ХХХ» можно установить различие задачи. Формулировка «never» запретит выдавать запросы для подтверждения удаления файла. «Once» позволит вывести запрос только один раз. «Always» приводит к тому, что запросы будут выводиться всегда. Если вы не установите значение «КОГДА», в автоматическом режиме будет задана формулировка «always».
  • «—one-file-system». Такая опция применяется при рекурсивном удалении. Она позволит пропустить определенные группы директорий, которые могут размещаться в иных файловых системах.
  • «—no-preserve-root». Опция пригодиться в том случае, когда при изъятии директорий задан определенный корневой раздел. Команда посчитает, что это классическая директория, начнет совершать изъятие.
  • «—preserve-root».Такая опция дает возможность исключить вероятность выполнения команды «rm» выше корневого раздела. Эта особенность установлена по молчанию.
  • «-v или —verbose». С помощью такой опции можно посмотреть информацию об удаленных ранее данных.

Примеры

При введении команды рекомендуется учесть рекомендацию. Если вам необходимо удалить файл, начинающийся с «-», стоит ввести команду в виде «rm — -file» или «rm./-file».

Стирание файла

Для первого примера удалим файл «test2» в каталоге root/test2.

Это можно сделать как минимум двумя способами:

  1. с помощью команды «cd» зайти в директорию /root/;
  2. в утилите rm указать полный путь.

Воспользуемся 2 вариантом.

rm /root/test2
alt=»Уничтожение документа» width=»600″ height=»36″ />

Стоит отметить, что допускается удаление одновременно нескольких файлов. Названия указываются через пробел.

Если такого файла нет в каталоге, система выдаст предупреждение.

Принудительное удаление документа с установленной защитой

Бывают ситуации, когда требуется удалить документ, который защищен от записи. По умолчанию выдается запрос, требующий подтверждения. Для отключения такого запроса используется аргумент «-f».

Удаление всех файлов, которые расположены в определённой директории

Для осуществления поставленной цели потребуется применить шаблон « *».

Для примера удалим все файлы в каталоге /root/catalog.

alt=»Рекурсивное удаление» width=»600″ height=»83″ />Вывести запрос, всплывающий перед удалением отдельно взятых файлов

Для появления подтверждения на необходимость изъятия данных нужно воспользоваться аргументом «-i».

rm -i /root/catalog/file

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

Для осуществления этой задачи нужно воспользоваться аргументом «-I», но удаляемых файлов должно быть более четырех.

Удаление определенной директории и файлов, которые в ней содержатся. В данном случае требуется воспользоваться опцией «-r». К примеру, нужно удалить файлы в директории «XXX». Для этого требуется ввести команду «rm -r XXX».

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

Чтобы стиреть весь каталог со всем его содержимым, будем использовать опцию «-R».

Команда rm

Команда rm в Linux

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

Синтаксис

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

Опции

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

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

Примечание

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

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

Удалить файл

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

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

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

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

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

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

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

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

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *