Linux удаление директории со всем содержимым

Команда rm – удаление файлов и директорий в дистрибутивах Linux

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

Команда rm – это одна из важных команд в терминале Linux. Она позволяет удалить файлы и папки из операционной системы. Но, несмотря на свою простоту, использование этой команды может быть опасным, поскольку неправильное использование может привести к потере ценных данных. А то и вовсе может повредить саму систему. В этой статье мы рассмотрим основы использования команды rm и наиболее распространенные опции.

Команда rm

Синтаксис у команды rm довольно простой. Вводим команду rm, а затем указываем файл или директорию которую хотим удалить. Что бы увидеть содержимое директории, можно использовать команду ls, подробнее о которой читайте по этой ссылке. К примеру, имеется файл под названием “text”, для его удаления вводим команду:

rm удаление файлов и директорий в дистрибутивах Linux 1

Если необходимо удалить несколько файлов, то просто указываете их имена через пробел после команды rm. К примеру, имеются файлы “text” и “file” которые необходимо удалить:

rm удаление файлов и директорий в дистрибутивах Linux 2

Разумеется, у команды rm, как и у многих других в дистрибутивах Linux, есть некоторые опции, которые разберем чуть ниже. Для удаления директории вместе со всем ее содержимым, необходимо использовать опцию “-r”, что означает – рекурсивно:

rm удаление файлов и директорий в дистрибутивах Linux 3

Опции команды rm

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

f (force)

Опция – f (force) позволяет команде rm удалить файлы без запроса подтверждения. Используйте эту опцию с осторожностью:

i (interactive)

Опция -i (interactive) наоборот, запрашивает подтверждения на удаления каждого файла. Данная опция может помочь вам избежать удаления файлов по ошибке:

rm удаление файлов и директорий в дистрибутивах Linux 4

r (recursive)

Опция -r (recursive) позволяет удалять директорию полностью, со всем ее содержимым. Выше мы уже встречались с этой опцией:

v (verbose)

Опция -v (verbose) выводит информацию о каждом файле, который подлежит удалению:

rm удаление файлов и директорий в дистрибутивах Linux 5

Заключение

Команда rm – это мощный инструмент для удаления директорий и файлов в дистрибутивах Linux. Но, она может быть опасной, если использовать ее неправильно. К примеру, можно удалить не тот файл или целую директорию, что также может сказаться на работоспособности системы. К примеру, команда “sudo rm -rf /*” удалит содержимое в корневой директории, что приведет к неработоспособности системы. Ни в коем случае не вводите данную команду!

Читайте также:  Linux install apt key

Чтобы избежать потери данных и не повредить систему, используйте команду rm с осторожностью, особенно при использовании опции -f (force) или -r (recursive).

Более подробно о всех доступных опциях команды rm можно узнать из справки набрав команду man rm и rm –help.

При работе с командой rm могут быть полезны и другие, к примеру, команда pwd, которая позволяет узнать в какой директории вы сейчас находитесь. О том как копировать директории и файлы, читайте тут. Про перемещение файлов и директорий написано тут. А про команду ls, ссылка была дана выше…

А на этом сегодня все, если статья оказалась вам полезна, подписывайтесь на рассылку журнала в pdf формате, а так же на социальные сети журнала Cyber-X:

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

Источник

Как удалять директории в 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

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

Почему существует две различные команды для одной операции?

Казалось бы, а зачем создавать отдельную команду для удаления только пустых директорий, если можно воспользоваться rm? Но, вдумавшись, понимаешь, что это была просто великолепная идея! Почему? Да потому что невозможно запомнить какие и где файлы хранятся, и когда нужно удалить директорию с каким-нибудь глупым или подозрительным названием (явно созданную по ошибке) можно воспользоваться безопасной командой rmdir, которая выдаст ошибку если в этой директории есть какие-то файлы. Очень удобно! Это защищает от случайного удаления.

Читайте также:  Mpeg 4 for linux

По материалам отличного сайта cyberciti.biz. Желаю Вам хорошего дня и переходите на Linux!

Источник

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

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

В этой статье мы объясним, как удалять каталоги в Linux с помощью команд rmdir , rm и find .

Подготовка

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

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

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

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

Удаление каталогов с помощью rmdir

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

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

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

rmdir: failed to remove 'dir1': No such file or directory 

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

Удаление каталогов с помощью rm

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

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

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

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

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

Читайте также:  Функции файловой системы linux

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

Чтобы удалить каталог, введите y и нажмите Enter .

rm: remove 1 argument recursively? y 

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

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

Удаление каталогов с помощью find

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

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

find . -type d -name '*_cache' -exec rm -r <> +

Давайте проанализируем команду выше:

  • /dir — рекурсивный поиск в текущем рабочем каталоге ( . ).
  • -type d — ограничивает поиск каталогами.
  • -name ‘*_cache’ — искать только каталоги, заканчивающиеся на _cache
  • -exec — выполняет внешнюю команду с необязательными аргументами, в данном случае это rm -r .
  • <> + — добавляет найденные файлы в конец команды rm .

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

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

find /dir -type d -empty -delete

Вот объяснение используемых опций:

  • /dir — рекурсивный поиск в каталоге /dir .
  • -type d — ограничивает поиск каталогами.
  • -empty — ограничивает поиск только пустыми каталогами.
  • -delete — удаляет все найденные пустые каталоги в поддереве. -delete может удалять только пустые каталоги.

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

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

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

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

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

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

find /dir -type f -delete && rm -r /dir

Выводы

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

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

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

Источник

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