- Как удалить каталог в Linux
- Подготовка
- Удаление каталогов с помощью rmdir
- Удаление каталогов с помощью rm
- Удаление каталогов с помощью find
- Удаление всех пустых каталогов
- / bin / rm: слишком длинный список аргументов
- Выводы
- Команда rm Linux
- Синтаксис
- Примеры
- Стирание файла
- Принудительное удаление документа с установленной защитой
- Удаление всех файлов, которые расположены в определённой директории
- Вывести запрос, всплывающий перед удалением отдельно взятых файлов
- Вывести запрос на стирание только один раз
- Удаление каталога с ее содержимым
- Команда rm
- Описание команды rm
- Синтаксис
- Опции
- Примечание
- Примеры использования команды rm
- Удалить файл
- Принудительно удалить защищенный файл
- Удалить все файлы в текущей директории
- Выдавать запрос перед удалением каждого файла
- Выдать запрос на удаление один раз
- Удалить директорию и ее содержимое
- Видео: Удаление корневого раздела командой RM
- Как удалять директории в Linux?
- Синтаксис команды rmdir
- Примеры
- Удаление всей директории со всеми вложенными файлами и директориями командой rm
- Дополнительная информация о командах rmdir и rm
- Почему существует две различные команды для одной операции?
Как удалить каталог в Linux
Есть несколько различных способов удаления каталогов в системах Linux. Если вы используете файловый менеджер рабочего стола, такой как Gnome’s Files или KDE’s Dolphin, вы можете удалять файлы и каталоги с помощью графического пользовательского интерфейса менеджера. Но если вы работаете на автономном сервере или хотите удалить сразу несколько каталогов, лучшим вариантом является удаление каталогов (папок) из командной строки.
В этой статье мы объясним, как удалять каталоги в Linux с помощью команд rmdir , rm и find .
Подготовка
При удалении каталога с помощью файлового менеджера рабочего стола каталог фактически перемещается в корзину и может быть легко восстановлен.
Будьте особенно осторожны при удалении файлов или каталогов из командной строки, поскольку после удаления каталога с помощью команд, описанных в этой статье, его невозможно полностью восстановить.
В большинстве файловых систем Linux для удаления каталога требуется разрешение на запись в каталог и его содержимое. В противном случае вы получите ошибку «Операция запрещена».
Имена каталогов с пробелами должны быть экранированы обратной косой чертой ( / ).
Удаление каталогов с помощью rmdir
rmdir — это утилита командной строки для удаления пустых каталогов. Это полезно, когда вы хотите удалить каталог только в том случае, если он пуст, без необходимости проверять, пуст каталог или нет.
Чтобы удалить каталог с помощью rmdir , введите команду, а затем имя каталога, который вы хотите удалить. Например, чтобы удалить каталог с именем dir1 , введите:
Если каталог не пустой, вы получите следующую ошибку:
В этом случае вам нужно будет использовать команду rm или вручную удалить содержимое каталога, прежде чем вы сможете его удалить.
Удаление каталогов с помощью rm
rm — это утилита командной строки для удаления файлов и каталогов. В отличие от rmdir команда rm может удалять как пустые, так и непустые каталоги.
По умолчанию при использовании без каких-либо параметров rm не удаляет каталоги. Чтобы удалить пустой каталог, используйте параметр -d ( —dir ), а для удаления непустого каталога и всего его содержимого используйте параметр -r ( —recursive или -R ).
Например, чтобы удалить каталог с именем dir1 вместе со всем его содержимым, введите:
Если каталог или файл в каталоге защищен от записи, вам будет предложено подтвердить удаление. Чтобы удалить каталог без запроса, используйте параметр -f :
Чтобы удалить сразу несколько каталогов, вызовите команду rm , после которой укажите имена каталогов, разделенные пробелом. Приведенная ниже команда удалит все перечисленные каталоги и их содержимое:
Параметр -i указывает rm запрашивать подтверждение удаления каждого подкаталога и файла. Если в каталоге много файлов, это может немного раздражать, поэтому вы можете рассмотреть возможность использования опции -I которая предложит вам только один раз, прежде чем продолжить удаление.
Чтобы удалить каталог, введите y и нажмите Enter .
Вы также можете использовать обычные расширения для сопоставления и удаления нескольких каталогов. Например, чтобы удалить все каталоги первого уровня в текущем каталоге, который заканчивается на _bak , вы должны использовать следующую команду:
Использование регулярных расширений при удалении каталогов может быть рискованным. Рекомендуется сначала перечислить каталоги с помощью команды ls чтобы вы могли видеть, какие каталоги будут удалены, прежде чем запускать команду rm .
Удаление каталогов с помощью find
find — это утилита командной строки, которая позволяет вам искать файлы и каталоги на основе заданного выражения и выполнять действие с каждым совпадающим файлом или каталогом.
Наиболее распространенный сценарий — использовать команду find для удаления каталогов на основе шаблона. Например, чтобы удалить все каталоги, которые заканчиваются на _cache в текущем рабочем каталоге, вы должны запустить:
Давайте проанализируем команду выше:
- /dir — рекурсивный поиск в текущем рабочем каталоге ( . ).
- -type d — ограничивает поиск каталогами.
- -name ‘*_cache’ — искать только каталоги, заканчивающиеся на _cache
- -exec — выполняет внешнюю команду с необязательными аргументами, в данном случае это rm -r .
- <> + — добавляет найденные файлы в конец команды rm .
Удаление всех пустых каталогов
Чтобы удалить все пустые каталоги в дереве каталогов, выполните:
Вот объяснение используемых опций:
- /dir — рекурсивный поиск в каталоге /dir .
- -type d — ограничивает поиск каталогами.
- -empty — ограничивает поиск только пустыми каталогами.
- -delete — удаляет все найденные пустые каталоги в поддереве. -delete может удалять только пустые каталоги.
Используйте параметр -delete с особой осторожностью. Командная строка поиска оценивается как выражение, и если вы сначала добавите параметр -delete , команда удалит все, что находится ниже указанных вами начальных точек.
Всегда сначала проверяйте команду без опции -delete и используйте -delete в качестве последней опции.
/ bin / rm: слишком длинный список аргументов
Это сообщение об ошибке появляется, когда вы используете команду rm для удаления каталога, содержащего огромное количество файлов. Это происходит из-за того, что количество файлов превышает системное ограничение на размер аргумента командной строки.
Есть несколько разных решений этой проблемы. Например, вы можете cd в каталог и вручную или с помощью цикла для удаления Подкаталогов один за другим.
Самое простое решение — сначала удалить все файлы в каталоге с помощью команды find а затем удалить каталог:
Выводы
С помощью rm и find вы можете быстро и эффективно удалять каталоги по различным критериям.
Удаление каталогов — простой и легкий процесс, но вы должны быть осторожны, чтобы не удалить важные данные.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник
Команда 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.
Это можно сделать как минимум двумя способами:
- с помощью команды «cd» зайти в директорию /root/;
- в утилите rm указать полный путь.
Воспользуемся 2 вариантом.
rm /root/test2
Стоит отметить, что допускается удаление одновременно нескольких файлов. Названия указываются через пробел.
Если такого файла нет в каталоге, система выдаст предупреждение.
Принудительное удаление документа с установленной защитой
Бывают ситуации, когда требуется удалить документ, который защищен от записи. По умолчанию выдается запрос, требующий подтверждения. Для отключения такого запроса используется аргумент «-f».
Удаление всех файлов, которые расположены в определённой директории
Для осуществления поставленной цели потребуется применить шаблон « *».
Для примера удалим все файлы в каталоге /root/catalog.
Вывести запрос, всплывающий перед удалением отдельно взятых файлов
Для появления подтверждения на необходимость изъятия данных нужно воспользоваться аргументом «-i».
rm -i /root/catalog/file
Вывести запрос на стирание только один раз
Для осуществления этой задачи нужно воспользоваться аргументом «-I», но удаляемых файлов должно быть более четырех.
Удаление определенной директории и файлов, которые в ней содержатся. В данном случае требуется воспользоваться опцией «-r». К примеру, нужно удалить файлы в директории «XXX». Для этого требуется ввести команду «rm -r XXX».
Удаление каталога с ее содержимым
Чтобы стиреть весь каталог со всем его содержимым, будем использовать опцию «-R».
Источник
Команда rm
Описание команды rm
По умолчанию команда rm не удаляет директории. Чтобы удалить директорию и все ее содержимое, включая вложенные директории, нужно использовать опцию -r (рекурсивное удаление).
Синтаксис
файл(ы) — один или несколько файлов и/или директорий, записанных через пробел. Можно использовать шаблон (например, *.txt ).
Опции
- never — никогда не выдавать запросы на подтверждение удаления.
- once — выводить запрос один раз (аналог опции -I ).
- always — выводить запрос всегда (аналог опции -i ).
Если значение КОГДА не задано, то используется always
Примечание
Если нужно удалить файл, название которого начинается с символа — , например, файл -myfile , то используется следующая команда:
Примеры использования команды rm
Удалить файл
Чтобы удалить файл с помощью команды rm достаточно указать название файла:
Можно удалить несколько файлов, перечислив их имена через пробел:
Принудительно удалить защищенный файл
Если файл защищен от записи, то по умолчанию будет выдан запрос на подтверждение операции удаления. Чтобы запрос не выводился, и происходило удаление защищенных файлов, используется опция -f
Удалить все файлы в текущей директории
Чтобы удалить все файлы в текущей директории можно использовать шаблонную запись звездочка *
Выдавать запрос перед удалением каждого файла
Чтобы перед удалением каждого файла выводилось подтверждение на удаление данного файла, используется опция -i
Выдать запрос на удаление один раз
При использовании опции -I выводится всего один запрос на подтверждение удаления файлов, причем, только если удаляемых файлов четыре и более. Если файлов 3, или 2, или 1, то запрос не выводится.
Удалить директорию и ее содержимое
Для удаления директорий и их содержимого используется опция -r . Удалим директорию mydir и все файлы и директории внутри нее:
Видео: Удаление корневого раздела командой RM
Источник
Как удалять директории в Linux?
Вопрос: Каким способом можно удалить директорию в Linux, какую команду можно использовать?
Ответ: Чтобы удалить директорию (также известную как «папка» в ОС Windows и Mac OS), Вы можете воспользоваться следующими командами:
- rmdir – удаляет указанную директорию при этом она должна быть пуста, т.е. не содержать файлов.
- rm – удаляет указанную директорию вместе со всеми вложенными файлами и директориями.
Синтаксис команды rmdir
rmdir удаляет директорию(и) только если они не содержат файлов. Синтаксис команды довольно прост:
rmdir directory-name
rmdir [option] directory-name
Примеры
Откройте терминал и введите следующую команду чтобы удалить директорию /tmp/docs:
Если директория содержит файлы, то команда выдаст ошибку:
$ rmdir letters
rmdir: letters: Directory not empty
Вы можете зайти в директорию и узнать что за файлы там хранятся:
В следующем примере, удалим директорию data, foo и bar. Структура этих директорий следующая: data содержит только директорию foo, которая, в свою очередь, содержит только директорию bar, которая пуста. Удалить сразу все эти директорию можно следующей командой:
cd /home/nixcraft
rmdir -p data/foo/bar
- Параметр -p указывает команде, чтобы было произведено удаление пустых директорий по всему указанному пути. Т.е. в нашем примере будет удалены все три директории, т.к. они не содержат никаких файлов, а только пустые вложенные директории.
Удаление всей директории со всеми вложенными файлами и директориями командой rm
В повседневной работе гораздо чаще приходится удалять не пустые директории, и тут на на помощь приходит команда rm. К примеру, удалить все содержимое директории letters можно командой (Осторожно! удаление без подтверждения):
- -r – указывает что нужно производить удаление рекурсивно, т.е. пройтись по всему списку файлов и папок и попытаться удалить каждую из них.
- -f — удаление без запроса его подтверждения.
Дополнительная информация о командах rmdir и rm
Чтобы получить дополнительную информацию по этим командам, Вы всегда можно воспользоваться следующей стандартной командой-справочником-подсказкой-документацией:
man mkdir
man rm
Почему существует две различные команды для одной операции?
Казалось бы, а зачем создавать отдельную команду для удаления только пустых директорий, если можно воспользоваться rm? Но, вдумавшись, понимаешь, что это была просто великолепная идея! Почему? Да потому что невозможно запомнить какие и где файлы хранятся, и когда нужно удалить директорию с каким-нибудь глупым или подозрительным названием (явно созданную по ошибке) можно воспользоваться безопасной командой rmdir, которая выдаст ошибку если в этой директории есть какие-то файлы. Очень удобно! Это защищает от случайного удаления.
Источник