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

  • Автор темы m4rcer
  • Дата начала
  • Просмотров 2242 Просмотров

m4rcer

Местный
113
152
6 Фев 2019
В операционных системах на базе ядра Linux обычно хранится большое количество пустых и непустых директорий. Некоторые из них занимают достаточное большое количество места на накопителе, а также часто становятся ненужными. В таком случае правильным вариантом будет их удаление. Способов выполнения очистки существует несколько, каждый из них применим в определенной ситуации. Давайте рассмотрим все доступные методы более детально, а вы выберете наиболее подходящий, исходя из своих потребностей.

УУдаляем каталоги в Linux
В рамках данной статьи мы поговорим о консольных утилитах и дополнительных инструментах, запуск которых осуществляется через ввод команд. Однако не стоит забывать, что часто в дистрибутивах реализованы графические оболочки. Соответственно, для удаления директории вам всего лишь нужно перейти к ней через файловый менеджер, щелкнуть правой кнопкой мыши на иконке и выбрать «Удалить». После этого не забудьте очистить корзину. Однако не для всех юзеров такой вариант будет применим, поэтому советуем ознакомиться со следующими руководствами.

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

Откройте файловый менеджер и перейдите в место хранения папки.

N64gmxzyhuE.jpg


Щелкните по ней ПКМ и выберите «Свойства».

xoOIlpMsYLQ.jpg


В разделе «Основные» отыщите полный путь и запомните его.

Запустите консоль через меню или с помощью стандартной горячей клавиши Ctrl + Alt + T.

Используйте cd, чтобы перейти к работе в расположении. Тогда строка ввода обретает вид cd /home/user/folder и актируется после нажатия на клавишу Enter. Userв данном случае — имя пользователя, а folder — название родительской папки.

Если же вы не имеете возможности определить расположение, при удалении вам придется вводить полный путь самостоятельно, поэтому его придется знать.

ССпособ 1: Стандартные команды «Терминала»
В командной оболочке любого дистрибутива Linux присутствует набор основных утилит и инструментов, позволяющих выполнять самые разнообразные действия с системными настройками и файлами, в том числе осуществлять удаление директорий. Таких утилит существует несколько и каждая будет максимально полезной в определенной ситуации.

Команда rmdir

В первую очередь хотелось бы затронуть rmdir. Она предназначена для очистки системы только от пустых директорий. Удаляет их безвозвратно, а преимущество этого инструмента заключается в простоте его синтаксиса и отсутствии возникновения каких-либо ошибок. В консоли достаточно прописать rmdir folder, где folder — имя папки в текущем расположении. Активация инструмента производится нажатием на клавишу Enter.

Ничто не мешает указать полный путь к каталогу, если вы не можете перейти в необходимое расположение или в этом нет надобности. Тогда строка обретает, например, следующий вид: rmdir /home/user/folder/folder1, где user— имя пользователя, folder — родительский каталог, а folder1 — папка для удаления. Обратите внимание, что перед home обязательно ставится слеш, а в конце пути он должен отсутствовать.

Команда rm

Предыдущий инструмент является одной из составляющих утилиты rm. Изначально она предназначена для удаления файлов, но если придать ей соответствующий аргумент, она сотрет и папку. Такой вариант уже подходит для непустых каталогов, в консоль при этом нужно ввести rm -R folder (или полный путь к каталогу). Обратите внимание на аргумент -R — он запускает рекурсивное удаление, то есть касается оно всего содержимого папки и ее самой. Учитывать регистр при вводе обязательно, потому что -r — уже совсем другая опция.

Если вы хотите вывести на экран список всех удаленных файлов и папок при использовании rm, тогда потребуется немного видоизменить строку. Введите в «Терминале» rm -Rfv folder, а затем активируйте команду.

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

Команда find

Как известно, find служит для поиска объектов внутри системы. Благодаря применению дополнительных опций вы можете найти каталоги с определенным именем и сразу же удалить их. Для этого в консоли введите find . -type d -name "folder" -exec rm -rf {} \;, где folder — наименование каталога. Обязательно при этом писать двойные кавычки.

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

find ~/ -empty -type d -deleteпозволяет удалить все пустые папки, находящиеся в системе. Некоторые из них доступны только суперпользователю, поэтому перед find следует добавить sudo.

На экране появятся данные обо всех найденных объектах и успешности выполнения операции.

Можно также указать только определенный каталог, в котором инструмент будет осуществлять поиск и очистку. Тогда строка будет выглядеть, например, так: find /home/user/Folder/ -empty -type d -delete.

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

ССпособ 2: Утилита wipe
Если предыдущие инструменты встроены в командную оболочку, то утилиту wipe нужно будет самостоятельно установить их официального репозитория. Ее преимущество в том, что она позволяет безвозвратно удалить каталог без возможности его восстановления через специальный софт.

Откройте «Терминал» и пропишите там sudo apt install wipe.

Введите пароль для подтверждения учетной записи.

Ожидайте завершения добавления новых пакетов в системные библиотеки.

Осталось только перейти к нужному расположению или прописать команду с полным путем к папке. Выглядит это так: wipe -rfi /home/user/folder или просто wipe -rfi folder при предварительном выполнении cd + путь.

Если с работой в инструменте wipeпришлось столкнуться впервые, пропишите в консоли wipe -help, чтобы получить информацию по использованию этой утилиты от разработчиков. Там отобразится описание каждого аргумента и опции.

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