Linux удаление каталога со всеми подкаталогами

Как удалить каталог в 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 , вы должны использовать следующую команду:

Читайте также:  Работа с разделами жесткого диска средствами windows

Использование регулярных расширений при удалении каталогов может быть рискованным. Рекомендуется сначала перечислить каталоги с помощью команды 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 вы можете быстро и эффективно удалять каталоги по различным критериям.

Удаление каталогов — простой и легкий процесс, но вы должны быть осторожны, чтобы не удалить важные данные.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Как удалить каталог в Linux через терминал

Управление многопользовательской системой Линукс зачастую осуществляется при помощи терминала. Отдельно взятые действия (например, удаление папки) можно выполнить и другими способами, но через окно терминала это делается гораздо быстрее и удобнее, поскольку только так пользователь получает тотальный контроль над ситуацией. При желании, он волен удалить все пустые каталоги в системе, либо очистить её от папок с повторяющимися наименованиями.

Чтобы удалить папку в Linux, необходимо воспользоваться специальной командой. Стоит отметить тот факт, что в Линукс существует несколько альтернативных комбинаций для проведения подобной операции. Именно их мы и рассмотрим в данной статье.

Удаление

Первое, что приходит на ум в таком деле – это удаление каталога посредством утилиты rmdir. Данная программа прекрасно справляется со своей задачей, при условии, что пользователю необходимо очистит Линукс от пустых папок.

Читайте также:  Mac os тач бар

Однако, команда «rmdir» имеет существенный недостаток, она удаляет только пустые каталоги.Чтобы удалить все файлы и подкаталоги, необходимо использовать команду rm с опцией «-R».

Изначально команда rm разработана для удаления файлов в ОС Линукс, однако, с применением правильных опций, эта команда способна выполнить и другие поставленные задачи. Убедитесь в этом сами:

ВАЖНО! Опция -R отвечает за рекурсивное удаление папок, в которых содержатся файлы.

Чтобы вывести данные об объектах, которые будут уничтожены, необходимо ввести следующую комбинацию в строке терминала:

С опцией -R мы уже разобрались ранее. При добавлении -f пользователь застрахует систему от удаления файлов без запроса. При добавлении -v пользователь получает информацию об удаляемых файлах – их наименования.

Приведенные примеры особенно актуальны при случае, если пользователь Линукс удаляет файлы из домашнего каталога. Если нужно очистить другую папку, необходимо указать в окне терминала её полный путь или при помощи «cd,» зайти в нужную директорию. На практике это должно выглядеть следующим образом:

# rm -Rfv /var/log/test

Более подробно о «rm» написано в другой статье здесь

А теперь поговорим об удалении каталога, в наименовании которого есть конкретные слова. Как это сделать на практике:

$ find . -type d -name «papka» -exec rm -rf <> \;

В данной комбинации «-type d» означает, что пользователь хочет найти только каталоги, а «-name» — это параметр, который задает нужное наименование для поиска в системе.

Еще раз вернемся к домашнему каталогу. Как убрать из него пустые папки:

/ -empty -type d -delete

Чтобы понимать, сколько пустых папок будет удалено из системы, можно посчитать их количество посредством специальной комбинации. Она представлена ниже:

/ -empty -type d | wc -l

При необходимости удалить каталог из консоли Linux без шанса на дальнейшее восстановление файлов, рекомендуется использовать для этих целей программу wipe. Данная утилита не входит в пакет стандартных установок, но её легко заиметь на своем ПК:

# apt install wipe

Чтобы удалить нужную папку посредством утилиты, нужно ввести в терминале:

В данном случае функция -f обеспечит автоматическое удаление всех под папок без запроса юзера системы.

В данной статье представлено несколько простых и быстрых способов удаления каталога из операционной системы Linux. Всего несколько кликов – и вопрос закрыт! Выберите для себя оптимальный метод удаления папки, и принимайтесь за дело.

Источник

Удаление Папки и Файлов в Linux

Работать с командной строкой должен уметь каждый будущий системный администратор и опытный пользователь Linux. Сегодня мы рассмотрим ещё одну базовую функцию — удаление папки и файлов в Linux с помощью командной строки.

Прокачайте ваш Linux сервер, воспользовавшись скидками на VPS-хостинг в Hostinger! Большой выбор планов, как для учебных, так и для крупных коммерческих проектов.

Команда rmdir

Команда, используемая, чтобы удалить пустую папку в Linux через командную строку — это rmdir.

Основной синтаксис этой команды довольно простой. Вот пример:

  • rmdir — это команда
  • [опция] — опциональный модификатор, который изменяет поведение команды
  • НазваниеПапки — каталог, который вы хотите удалить

Если опция не указана, rmdir просто удаляет каталог, имя которого указано в качестве места назначения. Перед использованием этой команды вам нужно будет войти на сервер VPS через SSH. Вот статья, которая поможет вам это сделать.

Удаление Папки в Linux с Помощью Команды rmdir

Перед использованием команды rmdir мы рекомендуем вам проверить список файлов в каталоге с помощью команды ls. В нашем случае у нас есть каталог с названием Dir1.

Читайте также:  Сравнение содержимого папок linux

Эта команда удалит пустой каталог с именем Dir1. Довольно просто, правда?

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

После выполнения этой команды каталоги с именами Dir1, Dir2 и Dir3 будут удалены.

Допустим, у нас есть папка Dir3. Dir3 содержит подкаталоги и файлы. Теперь, если мы используем команду:

То получим ошибку:

Как вы уже могли догадаться, rmdir работает только с пустыми каталогами.

Rmdir — умная утилита, которая позволяет удалять только пустые папки. Таким образом, она защищает данные от случайной потери. Помните, что удалённые данные в любом дистрибутиве Linux практически невозможно восстановить.

Опция -p позволяет удалить папку через командную строку, а также её родительские каталоги.

Эта команда удалит Dir3 и его родительские каталоги Dir2 и Dir1.

Опция -v выводит диагностический текст для каждого обработанного каталога. Использование этой опции выведет подтверждение со списком всех каталогов, которые были удалены.

Команда rm

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

Синтаксис этой команды похож на rmdir:

Как Удалить Файл в Linux с Помощью Команды rm

Давайте используем команду rm, чтобы удалить файл с именем article.txt:

Допустим, у нас есть каталог с именем Dir1, содержащий подкаталоги и файлы, чтобы удалить его, нам понадобится модификатор -r. Команда будет выглядеть так:

Опция -r рекурсивно удаляет каталоги и их содержимое.

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

Вы также можете удалить пустые каталоги, используя опцию -d. Следующая команда удалит пустую папку с именем Dir1:

Вы можете использовать подстановочный знак (*) и обычные расширения для сопоставления нескольких файлов. Например, следующая команда удалит все файлы PDF в текущем каталоге.

Вы можете использовать вариации всех перечисленных выше команд для удаления файлов с другими расширениями, такими как .txt, .doc, .odt и другими.

Опция -f позволяет принудительно удалить всё, что находится в каталоге. Команда будет выглядеть так:

Приведённая выше команда рекурсивно и принудительно удалит всё, что находится в каталоге Dir1, не запрашивая подтверждения в терминале.

Вы также можете удалить несколько папок за раз. Следующая команда удалит три каталога Dir1, Dir2 и Dir3.

Поздравляем, вы успешно освоили основные функции команд rm и rmdir, позволяющие удалить файл или папку в Linux!

Итоги

Случайное удаление папки или даже одного файла в Linux может привести к серьёзным проблемам. Вот почему важно освоить две основные команды для удаления файлов и каталогов — rm и rmdir. В этой статье мы рассмотрели эти две команды и различные опции, которые позволяют их модифицировать.

Надеемся, что эта статья была полезной! И помните, что после удаления файла или каталога из Linux вы не сможете их восстановить, поэтому будьте предельно осторожны! Удачи.

Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.

Источник

Оцените статью