Как удалить непустую директорию линукс

Содержание
  1. Linux и Windows: помощь админам и пользователям
  2. Администрируем и настраиваем Windows, Linux.
  3. 5 практических примеров для удаления директорий в Linux
  4. 1. Как удалить пустую директорию в Unix?
  5. 2. Как удалить вложенные директории в Linux?
  6. 3. Удаление директории с содержимым
  7. 4. Интерактивное удаление
  8. Рекурсивное и интерактивное удаление директории.
  9. Интерактивное удаление файла.
  10. 5. Полезные алиасы для команд rm и rmdir
  11. Алиас для постоянного выполнения rm в интерактивном режиме
  12. Как удалить каталог в Linux
  13. How to Remove (Delete) Directory in Linux
  14. В этой статье мы расскажем , как удалить каталоги в Linux , используя mdir, rm и find команду.
  15. Прежде чем вы начнете
  16. Удаление каталогов с rmdir
  17. Удаление каталогов с rm
  18. Удаление каталогов с find
  19. Удаление всех пустых каталогов
  20. / bin / rm: список аргументов слишком длинный
  21. Вывод
  22. Как удалить каталог в Linux
  23. Подготовка
  24. Удаление каталогов с помощью rmdir
  25. Удаление каталогов с помощью rm
  26. Удаление каталогов с помощью find
  27. Удаление всех пустых каталогов
  28. / bin / rm: слишком длинный список аргументов
  29. Выводы
  30. Удаление каталогов в Linux
  31. Удаляем каталоги в Linux
  32. Способ 1: Стандартные команды «Терминала»
  33. Способ 2: Утилита wipe

Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.

5 практических примеров для удаления директорий в Linux

1. Как удалить пустую директорию в Unix?

Команда rmdir поможет нам удалить пустую директорию, то есть директорию без файлов и папок. Синтаксис команды очень прост:

В случае если директория не пуста вы увидите следующее сообщение об ошибке.

2. Как удалить вложенные директории в Linux?

С помощью опции -p вы можете удалить директорию с вложенной в неё поддиректорией.

Команда rmdir -p dir1/dir2/dir3 это эквивалент команды

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

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

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

4. Интерактивное удаление

Во избежание случайного удаления нужных файлов рекомендую рассмотреть возможность использования опции -i для интерактивного удаления файлов и папок (особенно с правами root).

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

Интерактивное удаление файла.

5. Полезные алиасы для команд rm и rmdir

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

Алиас для постоянного выполнения rm в интерактивном режиме

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

В следующей команде использование -i не даст вам ожидаемый эффект..

В этом случае, при использовании алиаса, команду выше необходимо запускать следующим образом:

Все указанные ниже команды эквивалентны и выполняют один и тот же функционал.

Полезные ссылки:

Если вам необходима экспертная оценка здания, рекомендую заказать обследование готовых зданий специалистами научно-производственного центра «Технопласт»

Источник

Как удалить каталог в Linux

How to Remove (Delete) Directory in Linux

В этой статье мы расскажем , как удалить каталоги в Linux , используя mdir, rm и find команду.

Существует несколько различных способов удаления каталогов в системах Linux. Если вы используете файловый менеджер Desktop, такой как «Файлы Gnome» или «Dolphin» в KDE, вы можете удалять файлы и каталоги с помощью графического пользовательского интерфейса менеджера. Но если вы работаете на автономном сервере или хотите удалить несколько каталогов одновременно, лучшим вариантом будет удаление каталогов (папок) из командной строки.

Прежде чем вы начнете

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

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

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

Имена каталогов с пробелом в них должны быть экранированы обратной косой чертой ( / ).

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

Чтобы удалить каталог с помощью rmdir , введите команду, а затем имя каталога, который вы хотите удалить. Например, чтобы удалить каталог с именем dir1 , введите:

Если каталог не пустой, вы получите следующую ошибку:

В этом случае вам нужно будет использовать rm команду или вручную удалить содержимое каталога, прежде чем вы сможете удалить его.

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

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

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

Например, чтобы удалить каталог dir1 со всем его содержимым, вы должны набрать:

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

Читайте также:  Spreadtrum драйвера для windows 10 x64

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

-i Параметр указывает rm на запрос на подтверждение удаления каждого подкаталога и файла. Если каталог содержит много файлов, это может немного раздражать, поэтому вы можете рассмотреть возможность использования -I опции, которая предложит вам только один раз, прежде чем продолжить удаление.

Вы также можете использовать обычные расширения для сопоставления и удаления нескольких каталогов. Например, чтобы удалить все каталоги первого уровня в текущем каталоге, который заканчивается на _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 опцию с особой осторожностью. Командная строка find оценивается как выражение, и если вы -delete сначала добавите параметр, команда удалит все, что находится ниже указанных вами начальных точек.

Всегда проверяйте команду сначала без -delete опции и используйте -delete в качестве последней опции.

/ bin / rm: список аргументов слишком длинный

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

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

Самое простое решение — сначала удалить все файлы в каталоге с помощью find команды, а затем удалить каталог:

Вывод

С помощью rm и find вы можете удалять каталоги на основе различных критериев быстро и эффективно.

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

Источник

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

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

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

Источник

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

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

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

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

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

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

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

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

Используйте 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 служит для поиска объектов внутри системы. Благодаря применению дополнительных опций вы можете найти каталоги с определенным именем и сразу же удалить их. Для этого в консоли введите find . -type d -name «folder» -exec rm -rf <> \;, где folder — наименование каталога. Обязательно при этом писать двойные кавычки.

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

Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Читайте также:  Using clipboard in windows
Оцените статью