Команда MKDIR и RMDIR для создания и удаления каталога. Удаление каталогов в Linux Как удалить папку из терминала с помощью rmdir

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

Rmdir DIRNAME

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

$ rmdir test rmdir: failed to remove `test": Directory not empty

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

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

$ rmdir -p dir1/dir2/dir3

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

$ rmdir dir1/dir2/dir3 dir1/dir2 dir1

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

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

$ rm -rf DIRNAME

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

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

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

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

# rm -ir DIRNAME

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

# rm -i FILENAME

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

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

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

# alias rm="rm -i"

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

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

$ rm -irf DIRNAME

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

$ rm -rf DIRNAME

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

  • rm -fr
  • rm -rf
  • rm -r -f
  • rm -f -r

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

Как удалить файл или папку из терминала?

Чтобы удалить файл или папку (а здесь корректно говорить не о папках, а о директориях) из терминала Линукс используются команды rm и rmdir , по аналогии с командами del и deltree в консоли cmd Windows. Команды просты и опциями небогаты. Это не тот вариант, к которому будет прибегать заурядный пользователь во время работы в полноценно работоспособной системе. Однако для тех, кто запускает cron-задачи при помощи скрипта или при работе из ремонтного терминала с вылетевшим GUI, команды могут пригодится.

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

Как удалить файл и папку из терминала: команда rm

Простейшая команда на удаление выглядит как

rm путь-к-файлу/файл.расширение

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

Rm файл1.txt файл2.txt файл3.txt

При удалении файлов скопом также успешно используются и групповые символы. Как всегда в таких случаях, можно применять * и ? . “Звёздочкой” вы обозначаете множество символов, ? – одиночные. Например, для удаления ряда фотографий из выбранной папки можно использовать:

Rm *.jpeg

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

Rm *.????

Если файл, предполагаемый к удалению защищён ограничительными атрибутами (типа “только для чтения”), терминал затребует подтверждение. В случае, когда вам захочется всё-таки контролировать процесс удаления файла, дополните команду флагом -i . Теперь для удаление каждого из файлов нужно будет подтверждать действие:

Соглашаться придётся на английском:

Но. В противовес флагу -i есть флаг -f . Он в команде rm удалить любые файлы, даже если те защищены создателем или системой:

Rm -f Файл.txt

Как удалить папку из терминала с помощью rm?

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

rm -d путь-к-директории

Если в директории что-то есть, меняем флаг на -r :

rm -r путь-к-директории

Защищённую папку удаляем на знакомый уже манер:

rm -rf папка

Команда сколь проста, столь же и опасна. Нерадивое её использование может привести к случайному затиранию жизненно важных директорий Кали. Потому для получения представления о составе директории прямо из терминала можно предварительно запастись скриптом древовидного отображения содержимого папок и директорий Линукс. Установим…

Apt-get install tree

и посмотрим:

Как удалить папку из терминала с помощью rmdir?

Почти тоже самое, что и предыдущий вариант с одним, но серьёзным отличием

rmdir = rm -d

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

Rmdir папка1 папка2

Если папка не пуста, rmdir выдаст ошибку:

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

Ignore-fail-on-non-empty

в начале команды, чтобы массовое удаление пустых (предположительно) директорий не прекратилось как только rmdir наткнётся на непустую папку:

Rmdir --ignore-fail-on-non-empty папка1 папка2

Однако, если родительская директория содержит пустые папки, и она вам также не нужна, вы можете удалить и дочерние и родительскую одной командой, добавив флаг -p :

rmdir -p директория/папка

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

Командная строка – мощный инструмент для автоматизации и упрощения многих задач, которые возникают при администрировании компьютера с операционной системой Windows. В этой статье мы рассмотрим команды DEL, ERASE, RD и RMDIR. С их помощью вы сможете удалять файлы и папки прямо из командной строки.

Если вам нужно удалить файл через , то для этого нужно использовать команду DEL или ERASE . Эти команды являются синонимами и работают одинаково. Вы можете получить подробную информацию об этих командах, если введете их в командную строку с параметром «/? ». Например, вы можете ввести «del /? » и в консоль выведется вся основная информация о команде del .

Команда DEL (или ERASE ) предназначена для удаления одного или нескольких файлов и может принимать следующие параметры:

  • /P – удаление с запросом подтверждения для каждого файла;
  • /F – удаление файлов с атрибутом «только для чтения»;
  • /S – удаление указанного файла из всех вложенных папок;
  • /Q – удаление без запроса на подтверждение;
  • /A – удаление файлов согласно их атрибутам;

    • S — Системные;
    • H — Скрытые;
    • R – Только для чтения;
    • A — Для архивирования
    • Также перед атрибутами можно использовать знак минус «-», который имеет значение «НЕ». Например, «-S» означает не системный файл.

Обычно, для того чтобы воспользоваться командной DEL нужно сначала перейти в папку, в которой находится файл для удаления, и после этого выполнить команду. Для того чтобы сменить диск нужно просто ввести букву диска и двоеточие. А для перемещения по папкам нужно использовать команду «CD ».

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

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

Если есть необходимость выполнить запрос на подтверждение удаления каждого их файлов, то к команде DEL нужно добавить параметр «/p ». В этом случае в командной строке будет появляться запрос на удаление файла и пользователю нужно будет ввести букву «Y» для подтверждения.

Нужно отметить, что при использовании параметра «/a», отвечающие за атрибуты буквы нужно вводить через двоеточие. Например, для того чтобы удалить все файлы с атрибутом «только для чтения» и с расширением «txt» нужно ввести команду «del /F /A:R *.txt ».

Аналогичным образом к команде DEL можно добавлять и другие параметры. Комбинируя их вы сможете создавать очень мощные команды для удаления файлов через командную строку Windows. Ниже мы приводим еще несколько примеров:

  • del D:\ — уничтожение всех файлов в корне диска D;
  • del D:\*.txt – уничтожение всех файлов с расширением txt в корне диска D;
  • del D:\doc – уничтожение всех файлов в папке d:\doc (документы с атрибутами будут пропущены);
  • del /A:r d:\doc\*.txt – уничтожение всех файлов с атрибутом «только для чтения» и расширением «txt» в папке d:\doc;

Удаление папок через командную строку

Если вам нужно удалить папку через командную строку Windows, то указанные выше команды вам не помогут. Для удаления папок существует отдельная команда RD или RMDIR (сокращение от английского Remove Directory).

Команды RD и RMDIR являются синонимами и предназначены для удаления папок. Они могу принимать следующие параметры:

  • /S — удаление всего дерева каталогов, при использовании данного параметра будет удалена не только сама папка, но и все ее содержимое;
  • /Q – удаление дерева папок без запроса на подтверждение;

Например, для того чтобы удалить папку достаточно ввести команду RD и название папки.

Если папка содержит вложенные папки или файлы, то при ее удалении будет выведена ошибка».

Для решения этой проблемы к команде RD нужно добавить параметр «/s ». В этом случае удаление проходит без проблем, но появляется запрос на подтверждение удаления.

Для того чтобы удаление дерева папок прошло без появления запроса на подтверждение к команде нужно добавить параметр «/q ». В этом случае папка удаляется без лишних вопросов.

Также команда RD может принимать сразу несколько папок, для этого их нужно просто разделить пробелом. Например, если выполнить «rd 111 222 », то за один раз можно удалить папки с названиями «111 » и «222 ».

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

Комбинируя команды DEL и RD , можно создавать мощные скрипты для очистки и удаления папок в операционной системе Windows.

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

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

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


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

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

  1. Как известно, find служит для поиска объектов внутри системы. Благодаря применению дополнительных опций вы можете найти каталоги с определенным именем и сразу же удалить их. Для этого в консоли введите find . -type d -name "folder" -exec rm -rf {} \;, где folder — наименование каталога. Обязательно при этом писать двойные кавычки.
  2. В отдельной строке иногда отображается информация о том, что такого файла или каталога нет, но это не значит, что он не был найден. Просто find сработала повторно уже после удаления каталога из системы.
  3. find ~/ -empty -type d -delete позволяет удалить все пустые папки, находящиеся в системе. Некоторые из них доступны только суперпользователю, поэтому перед find следует добавить sudo .
  4. На экране появятся данные обо всех найденных объектах и успешности выполнения операции.
  5. Можно также указать только определенный каталог, в котором инструмент будет осуществлять поиск и очистку. Тогда строка будет выглядеть, например, так: find /home/user/Folder/ -empty -type d -delete .

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

Команда MKDIR используется для создания каталога или подкаталога . Команда имеет следующий синтаксис: MKDIR[диск:]путь. Как видно из синтаксиса команда, параметр «путь» является обязательным. Данный параметр определяет название создаваемого каталога.

Например, создадим на диске «C» папку «MyFolder»: mkdir MyFolder

Теперь загляните на диск «C». Если вы все сделали правильно, в корневой директории появится папка «MyFolder». В данном случае мы создали папку в текущей директории. Теперь создадим папку «MyFolder1» на диске «D»: mkdir d:\MyFolder

Теперь на диске «D» есть папка «MyFolder1»
Если необходимо создать подкаталог, то используются те же самые команды с указанием всех подкаталогов.
Например, создадим папку «мир», которая находится в папке «привет», которая в свою очередь находится на диске «C»: mkdir привет\мир

Теперь, если вы зайдете на диск «C», то увидите там папку «привет», а в этой папке – папку «мир». Таким способом можно создавать подкаталоги, уровень вложенности которых ограничен лишь объемом памяти жесткого диска.
Команда MKDIR не сработает, если вы попытаетесь создать каталог, который уже существует в выбранной директории.
Например, создадим на диске «D» еще одну папку с названием «MyFolder1»

Команда RMDIR удаляет каталог или подкаталог. Cинтаксис команды: RMDIR[Q][диск:]путь.
Например, удалим с диска «D», созданную ранее папку «MyFolder1»: rmdir d:\MyFolder1

Команда RMDIR не будет выполнена, если в удаляемом каталоге находятся другие каталоги или файлы.
Например, удалим папку «привет» с диска «C» (если не забыли, в этой папке содержится еще одна папка «мир»): rmdir привет
Для того чтобы удалить каталог вместе со всеми подкаталогами и файлами используются ключ /S или /Q
При использовании ключа /S команда RMDIR удалит каталог вместе со всем содержимым. При удалении на экран будет выведено сообщение о подтверждении удаления. rmdir /S привет

На экран выводится сообщение. При нажатии на клавишу «y» папка «привет» удалится вместе со всем содержимым.
Параметр /Q отключает запрос на подтверждение удаления непустого каталога: rmdir /S /Q привет

Обратите внимание, что в данном случаем в одной команде используется сразу 2 ключа. Ключ /S позволяет удалять каталог вместе со всем содержимым, а ключ /Q отключает запрос на подтверждение удаления.

Команду MKDIR можно записать как MD. Обе команды аналогичны друг и являются сокращениями от англ. «make directory» - создать каталог.

Команду RMDIR можно записать как RD. Обе команды аналогичны друг и являются сокращениями от англ. «remove directory» - удалить каталог.