Меню Рубрики

Команда в linux rmdir

Команда rmdir для начинающих (с примерами)

Оригинал: Linux rmdir Command for Beginners (with Examples)
Автор: Himanshu Arora
Дата публикации: 9 февраля 2018 года
Перевод: А. Кривошей
Дата перевода: июль 2018 г.

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

Команда rmdir

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

Вот как man-страница объясняет ее назначение:

Удаляет директорию(ии), если они пусты.

Следующие примеры в стиле вопрос/ответ должны дать вам представление о том, как работает эта утилита.

Q1. Как работает rmdir?

Это довольно просто — передайте имя каталога в качестве ввода команды. Например:

Q2. Как заставить rmdir игнорировать непустые каталоги.

По умолчанию команда rmdir выдает ошибку, если вы попытаетесь удалить непустой каталог. Однако, если вы хотите, вы можете отменить вывод ошибки, используя опцию —ignore-fail-on-non-empty.

Q3. Как заставить rmdir удалить родительский каталог?

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

Например, следующая команда удалит каталоги «test» и «test-dir».

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

Q4. В чем разница между rmdir и rm -r?

Если вы помните, вы также можете удалить каталоги, используя команду rm, включив опцию -r. Так в чем разница между нею и rmdir? Ответ в том, что rmdir работает только в случае пустых каталогов — нет никакого способа, каким вы могли бы заставить rmdir удалить непустые каталоги.

Таким образом, rmdir полезна в в тех ситуациях, когда вам нужно проверить, пуст ли каталог, до его удаления.

Заключение

Как можно видеть, rmdir не является сложной для понимания и использования командой. Кроме того, она предлагает только несколько вариантов командной строки. Мы обсудили почти все их здесь. На всякий случай вам может понадобится man-страница для rmdir .

Источник

Команда rmdir в Linux с примерами

Команда rmdir используется для удаления пустых каталогов из файловой системы в Linux. Команда rmdir удаляет каждый каталог, указанный в командной строке, только если эти каталоги пусты. Поэтому, если в указанном каталоге есть несколько каталогов или файлов, это нельзя удалить командой rmdir .

Синтаксис:

rmdir [-p] [-v | –verbose] [–ignore-fail-on-non-empty] directories …

Параметры:

    –Help: Он напечатает общий синтаксис команды вместе с различными параметрами, которые можно использовать с командой rmdir, а также даст краткое описание каждой опции.

  • rmdir -p: в этой опции каждый аргумент каталога обрабатывается как путь, из которого будут удалены все компоненты, если они уже пусты, начиная с последнего компонента.
  • rmdir -v, –verbose: эта опция отображает подробную информацию для каждого обрабатываемого каталога.
  • rmdir –ignore-fail-on-non-empty: эта опция не сообщает об ошибке, которая происходит только потому, что каталог не пуст. Обычно, когда rmdir получает указание удалить непустой каталог, он просто сообщает об ошибке. Эта опция состоит из всех этих сообщений об ошибках.
  • rmdir –version: эта опция используется для отображения информации о версии и выхода.

    Пример 1. Сначала будет удален дочерний каталог, а затем удален родительский каталог.

    Пример 2. Удалите каталоги mydir1 , mydir2 и mydir3 , если они пусты. Если какой-либо из этих каталогов не пуст, то для этого каталога будет напечатано сообщение об ошибке, а остальные каталоги будут удалены.

    Пример 3. Удалите каталог mydir / mydir1, если он пуст. Затем удалите каталог mydir, если он был пуст после удаления mydir / mydir1 .

    Источник

    Как удалить файлы и каталоги в терминале Linux?

    Команды rm и rmdir удаляют файлы и каталоги в Linux, macOS и других Unix-подобных операционных системах. Они похожи на команды del и deltree в Windows и DOS. Эти команды очень мощные и имеют довольно много опций.

    Важно отметить, что файлы и каталоги, удаленные с помощью rm и rmdir , не перемещаются в корзину. Они сразу же удаляются с вашего компьютера. Если вы случайно удалили файлы с помощью этих команд, вы сможете восстановить их только из резервной копии.

    Как удалить файлы с помощью rm

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

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

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

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

    Эта команда удалит все файлы с одним символьным расширением. Например, это удалит File.1 и File.2, но не File.12.

    Если файл защищен от записи, вам будет предложено удалить файл. Вы должны ответить с помощью y или n и нажать «Enter».

    Чтобы снизить риск использования rm с подстановочными знаками, используйте параметр -i (интерактивный). Для этого необходимо подтвердить удаление каждого файла.

    Опция -f (сила) противоположна интерактивной. Он не запрашивает подтверждение, даже если файлы защищены от записи.

    Как удалить каталоги с помощью rm

    Чтобы удалить пустой каталог, используйте опцию -d (directory). Вы можете использовать подстановочные знаки (* и ?) В именах каталогов так же, как и в именах файлов.

    Предоставление более одного имени каталога удаляет все указанные пустые каталоги.

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

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

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

    Используйте apt-get для установки этого пакета в вашу систему, если вы используете Ubuntu или другой дистрибутив на основе Debian. В других дистрибутивах Linux используйте инструмент управления пакетами вашего дистрибутива Linux.

    Выполнение команды tree дает простую для понимания диаграмму структуры каталогов и файлов под каталогом, из которого она запускается.

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

    Команда rm также имеет параметры —one-file-system , —no-preserve-root , —preserve-root , но они рекомендуются только для опытных пользователей. Если вы что-то не так, вы можете случайно удалить все ваши системные файлы.

    Как удалить каталоги с помощью rmdir

    Есть еще одна команда rmdir , которую вы можете использовать для удаления каталогов. Разница между rm и rmdir том, что rmdir может удалять только пустые каталоги. Он никогда не удалит файлы.

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

    Удалите один каталог в текущем каталоге, передав его имя в rmdir :

    Удалите несколько каталогов, передав список имен в rmdir :

    Удалите каталог не в текущем каталоге, указав полный путь к этому каталогу:

    Если вы попытаетесь удалить не пустую папку, rmdir выдаст вам сообщение об ошибке. В следующем примере rmdir успешно и без вывода сообщений удаляет каталог clients но отказывается удалять каталог projects поскольку он содержит файлы. Каталог projects остается точно таким, каким он был, а файлы в нем нетронутыми.

    Когда rmdir выдает ошибку «Directory not empty», он прекращает обработку каталогов, переданных ему в командной строке. Если вы попросили удалить четыре каталога, а в первом содержались файлы, rmdir выдаст вам сообщение об ошибке и больше ничего не сделает. Вы можете заставить его игнорировать эти ошибки с —ignore-fail-on-non-empty чтобы обрабатывать другие каталоги.

    В следующем примере две папки были переданы в rmdir , это work/reports и work/quotes. Параметр —ignore-fail-on-non-empty включен в команду. В папке work/reports находятся файлы, поэтому rmdir не может удалить ее. Опция —ignore-fail-on-non-empty заставляет rmdir игнорировать ошибку и переходить к следующей папке, которую он должен обработать, это work/quotes. Это пустая папка, и rmdir удаляет ее.

    Эта команда использовалась.

    Вы можете использовать опцию -p (parent), чтобы удалить каталог, а также удалить его родительские каталоги. Этот прием работает, потому что rmdir начинается с целевого каталога, а затем возвращается к родительскому. Теперь этот каталог должен быть пустым, поэтому он может быть удален rmdir, и процесс повторяет шаг назад по пути, предоставленному rmdir.

    В следующем примере команда, переданная в rmdir:

    Каталоги invoices и work удаляются по запросу.

    Используете ли вы Bash или любую другую оболочку? Linux предоставляет гибкие и мощные команды для удаления каталогов и файлов прямо из командной строки терминала. Некоторые люди предпочитают иметь рабочий процесс, который вращается вокруг терминала. У других может не быть выбора в этом вопросе. Они могут работать на серверах без установленного графического интерфейса или в удаленном сеансе в автономной системе, такой как Raspberry Pi. Эти команды идеально подходят для этой группы людей.

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

    Источник

  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Команда в linux less
  • Команда в linux curl
  • Команда yum в linux
  • Команда wget в linux
  • Команда uname a в ос linux