sonyps4.ru

Как удалить файлы и каталоги в терминале Linux? Как удалять файлы и каталоги с помощью командной строки Linux Команда удаления директории в linux.

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

Команда RMDIR имеет синоним RD и предназначена для удаления каталогов файловой системы Windows.

Формат командной строки:

RMDIR [диск:]путь

RD [диск:]путь

Параметры командной строки:

/S - Удаление дерева каталогов, т. е. не только указанного каталога, но и всех содержащихся в нем файлов и подкаталогов.

/Q - Отключение запроса подтверждения при удалении дерева каталогов с помощью ключа /S .

Примеры использования команды RD (RMDIR )

Команда RD не поддерживает шаблоны имен файлов и подкаталогов. Так, например, попытка выполнения команды RD C:\Users\*.* , завершится сообщением об ошибке в имени каталога. Однако, в качестве параметров можно задавать несколько путей каталогов:

RD C:\Mydocs C:\Myprogs - выполнить удаление содержимого папок C:\Mydocs и C:\Myprogs.

RD C:\docs - выполнить удаление папки C:\docs. Если параметр /S не задан, то удаляемая папка C:\docs должна быть пустой.

RD /S /Q C:\Docs - удаление папки C:\Docs и всех ее подпапок без запроса на подтверждение.

Особенность реализации команды RD с параметром /S заключается в том, что будут удалены не только подкаталоги, но и сам каталог C:\Docs, даже если в нем существовали файлы, а не подпапки. Поэтому, для удаления только содержимого каталога (когда требуется сделать каталог пустым, а не удалить его совсем), можно воспользоваться следующим приемом – сделать удаляемый каталог текущим и выполнить команду RD по отношению к его содержимому:

CD "My Folder"

RD /s/q "My Folder"

Имя каталога, содержащее пробелы заключается в двойные кавычки. Поскольку команда CD сделала удаляемый каталог текущим, то его удаление не выполнится, а ключ /S приведет к удалению всех подкаталогов и файлов каталога "My Folder"

Ниже приведенный командный файл удаляет пустые папки в каталоге временных файлов, определяемом значением переменной окружения TEMP . Список удаленных папок записывается в файл с именем c:\tempfoldersempty.txt

FOR /D %%i in (*) do (

RMDIR /Q %%~i && echo %%~i >> c:\tempfoldersempty.txt

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

Почему лучше удалять файлы из консоли? Дело в том, что это даёт ряд преимуществ и бо́льшую гибкость. К примеру, используя специальную команду, вы легко и полностью удалите файл с жёсткого диска без возможности восстановления. Или всего одной командой и с помощью определённых символов, условий либо регулярных выражений удалите сотни не нужных вам файлов в каталоге либо подкаталогах, отвечающих некоторому критерию.

Удаляем файлы в Linux: практика

В ОС Linux для удаления файлов есть стандартная утилита rm . Как это принято со стандартными утилитами, в названии rm есть определённая идея. В нашем случае речь идёт о сокращении от английского слова Remove - удалять.

Итак, чтобы выполнить удаления одного файла, используем команду rm , указывая за ней имя нашего файла:

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

Rm /home/user/filename

Бывает, что файл защищён от записи. Тогда нам предложат подтвердить команду. Чтобы удалить файл в такой ситуации, просто вводим y и нажимаем Enter.

rm: remove write-protected regular empty file "filename"?

Если мы хотим удалить сразу несколько файлов в Linux, то это тоже не проблема: используем команду rm , за которой прописываем имена наших файлов через пробел:

rm filename1 filename2 filename3

Ещё вариант - использование подстановочного знака * и регулярных выражений для соответствия определённым файлам. К примеру, мы легко удалим все файлы в Linux, имеющие расширение.txt следующей командой:

Для подтверждения каждого файла перед удалением используйте опцию -i:

rm -i filename(s)

Но когда файлов много, а вы твёрдо уверены в правильности своей команды и не хотите каждый раз отвечать на вопрос системы, используйте противоположную опцию -f . Будут удалены все файлы безоговорочно, т. е. без лишних вопросов:

rm -f filename(s)

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

Если хотите удалить пустой каталог, задействуйте опцию -d .

Если хотим удалить непустой каталог и все файлы, которые в нём находятся, поступаем следующим образом:

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

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

rm -r dirname1 dirname2 dirname3

Кстати, здесь мы тоже можем использовать подстановочный знак (*) и регулярные выражения, обеспечивающие соответствие нескольким каталогам.

Выводы

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

Какую команду можно использовать?
Ответ : Чтобы удалить директорию (также известную как «папка» в ОС Windows и Mac OS), Вы можете воспользоваться следующими командами:

  • rmdir – удаляет указанную директорию при этом она должна быть пуста, т.е. не содержать файлов.
  • rm – удаляет указанную директорию вместе со всеми вложенными файлами и директориями.

Синтаксис команды rmdir

rmdir удаляет директорию(и) только если они не содержат файлов. Синтаксис команды довольно прост:

rmdir directory-name
rmdir [ option] directory-name

Примеры

Откройте терминал и введите следующую команду чтобы удалить директорию / tmp/ docs :

rmdir / tmp/ docs

Если директория содержит файлы, то команда выдаст ошибку:

$ rmdir letters
rmdir: letters: Directory not empty

Вы можете зайти в директорию и узнать что за файлы там хранятся:

$ cd letters
$ ls

В следующем примере, удалим директорию data, foo и bar. Структура этих директорий следующая: data содержит только директорию foo, которая, в свою очередь, содержит только директорию bar, которая пуста. Удалить сразу все эти директорию можно следующей командой:

cd / home/ nixcraft
rmdir -p data/ foo/ bar

  • Параметр -p указывает команде, чтобы было произведено удаление пустых директорий по всему указанному пути. Т.е. в нашем примере будет удалены все три директории, т.к. они не содержат никаких файлов, а только пустые вложенные директории.

Удаление всей директории со всеми вложенными файлами и директориями командой rm

В повседневной работе гораздо чаще приходится удалять не пустые директории, и тут на на помощь приходит команда rm . К примеру, удалить все содержимое директории letters можно командой (Осторожно! удаление без подтверждения):

$ rm -rf letters/

  • -r – указывает что нужно производить удаление рекурсивно, т.е. пройтись по всему списку файлов и папок и попытаться удалить каждую из них.
  • -f — удаление без запроса его подтверждения.

Дополнительная информация о командах rmdir и rm

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

man mkdir
man rm

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

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

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

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



Загрузка...