Rm директорию. Удаление файлов в Linux

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

Чтобы удалить файл или папку (а здесь корректно говорить не о папках, а о директориях) из терминала Линукс используются команды 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 начинает работать с целевой папкой, поднимаясь “по команде” наверх по иерархическому древу, удаляя одну папку за другой.

Бесплатное распространение, скорость работы и иммунитет к вирусам являются причиной перехода на операционные системы, работающие на ядре Linux. Первый вопрос, с которым сталкивается человек – работа с директивами. О том, как создать и удалить папку в Linux пойдет речь далее.

Как создать директорию в Linux

Решается вопрос двумя способами:

Оба метода имеют индивидуальный подход. Для тех, кто привык большинство операций выполнять мышкой, удобным будет первый метод, если же в работе преобладает использование клавиатуры – второй. Более того, создание каталога в Linux через терминал имеет дополнительные функции, о которых рассказано ниже.

Как создать папку в Ubuntu через терминал

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

Чтобы создать каталог в Ubuntu, используют команду mkdir (от англ. – make directory). При этом нужно обладать правами на запись данных в родительском каталоге. Задание команды предполагает написание имени самой программы и перечисление следом за ней операндов (названий директорий). При необходимости указывают дополнительные опции:

  • - m – задает права доступа к папке;
  • -p – создает дерево папок.

Шаблон полной записи выглядит следующим образом:

mkdir-p-m права имя_папки1 имя_папки2 имя_папки3

Чтобы создать папку в операционной системе Debian, применяют тот же принцип, так как она основана на ядре Linux.

Как создать папку в Линукс через файловый менеджер

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

Запускается программа путем клика по ее ярлыку на панели инструментов, а также используя меню Dash. Следующим шагом осуществляется переход к директории, в которой планируется создать дочернюю папку. Клик на пустом пространстве менеджера правой кнопкой мыши вызовет контекстное меню, где находится нужный пункт – «Создать папку». Остается задать имя новому каталогу. В отличие от Windows, Linux позволяет использовать все символы раскладки клавиатуры при выборе имени, за исключением дробной черты (слэша). Для сохранения результата необходимо кликнуть на свободном пространстве утилиты.

Права на папку Ubuntu

После создания каталога в Linux для нее задают права доступа по умолчанию, разрешающие выполнять с ней различные операции.

Средства Linux позволяют наложить ограничения на пользование папкой. Для просмотра установленных разрешений применяют команду ls-lt . Результатом ее выполнения является подобная запись:

Здесь d инициализирует namedir как директорию, а каждый последующий символ подразумевает соответствующее действие:

  • r – чтение;
  • w – запись в папку;
  • x – выполнение.

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

Для редактирования разрешений доступа к папке или файлу используют команду chmod . Она оперирует тремя цифровыми значениями:

  • 4 – открывает доступ к чтению;
  • 2 – позволяет осуществлять запись;
  • 1 – разрешает выполнение.

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

Изменение управляющей папкой группы реализуется командой chgrp . Сначала следующим образом создается учетная запись группы:

Теперь можно передать группе управление папкой:

chgrp accgroup namedir

Как сделать файлы общедоступными Linux Ubuntu

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

Необходимо кликнуть правой кнопкой мыши по ярлыку каталога и затем выбрать пункт «Общедоступная папка локальной сети». Если его нет – отсутствует дополнение Nautilus Share, которое легко находится в Ubuntu Software Center. После установки менеджер нужно перезапустить.

Если нужно организовать доступ по имени пользователя и паролю, устанавливается расширение System Config Samba. Через настройки оно позволяет добавить или удалить пользователя, для которого открывается директория.

Подробные инструкции по настройке Samba описаны в видео:

Как удалить папку в Linux

Ubuntu предоставляет возможность удалить каталог с помощью команды rmdir . Для этого записывается ее имя, и перечисляются каталоги (при условии нахождения в нужной директории):

rmdir namedir1 namedir2

Важно! Если у пользователя открыт другой каталог, стоит указать полный путь во избежание исчезновения нужных файлов:

rmdir home/dir1/namedir1

Чтобы удалить папку с файлами в Ubuntu, необходимо воспользоваться командой rm-rf :

Для удаления нескольких директорий с помощью rmdir их все нужно перечислить.

Заключение

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

Команда 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» - удалить каталог.

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

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

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

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

Rm file_1.txt

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

Rm ./path/to/the/file/file_1.txt

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

Rm file_2.txt file_3.txt

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

Rm * .png

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

Рм *.?

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

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

Rm -i * .dat

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

Rm -f имя_файла

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

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

Rm -d directory

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

Rm -d directory1 directory2 /path/to/directory3

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

Rm -r directory1 directory2 directory3

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

Rm -rf directory

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

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

Sudo apt-get install tree

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

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

Tree path/to/directory

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

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

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

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

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

Rmdir directory

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

Rmdir directory1 directory2 directory3

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

Rmdir /path/to/directory

Если вы попытаетесь удалить не пустую папку, 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 удаляет ее.

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

Rmdir --ignore-fail-on-non-empty work/reports /work/quotes

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

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

Rmdir -p work/invoices

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

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

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

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