- Как удалить каталог в Linux
- Подготовка
- Удаление каталогов с помощью rmdir
- Удаление каталогов с помощью rm
- Удаление каталогов с помощью find
- Удаление всех пустых каталогов
- / bin / rm: слишком длинный список аргументов
- Выводы
- Как удалять файлы и директории в Linux
- Как удалить файл в терминале Linux
- Как удалить несколько файлов
- Как удалить файлы в интерактивном режиме
- Как принудительно удалить файлы
- Как удалить пустые каталоги
- Как в Linux удалить директорию с файлами
- Как рекурсивно удалить несколько каталогов
- Как удалить папку в терминале 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 , после которой укажите имена каталогов, разделенные пробелом. Приведенная ниже команда удалит все перечисленные каталоги и их содержимое:
Параметр -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 вы можете быстро и эффективно удалять каталоги по различным критериям.
Удаление каталогов — простой и легкий процесс, но вы должны быть осторожны, чтобы не удалить важные данные.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Как удалять файлы и директории в Linux
Visitors have accessed this post 50235 times.
В некоторых случаях может потребоваться удалить ненужные директории и файлы, чтобы освободить место на жестком диске. Рассказываем, как это сделать.
Для удаления файлов используется команда rm. Предупреждение: удаление файлов и каталогов в Linux с помощью команды rm является необратимым. Поэтому следует проявлять особую осторожность при ее применении.
Как удалить файл в терминале Linux
Чтобы в Linux удалить файл с помощью команды rm, используйте следующий синтаксис:
$ rm filename
Например, мы создадим текстовый файл file1.txt с помощью команды touch. Для удаления файла запустите:
$ rm file1.txt
Вывод
Как удалить несколько файлов
Чтобы удалить несколько файлов с помощью команды rm, используйте синтаксис:
$ rm file1 file2 file3
Создадим 3 файла — file1.txt, file2.txt, file3.txt, используя команду touch. Чтобы удалить эти файлы при помощи одной команды, запустите:
$ rm file1.txt file2.txt file3.txt
Вывод
Удалить все файлы в папке Linux с определенным расширением можно, используя подстановочный символ (*). В приведенном ниже примере подстановочный символ ищет и удаляет все файлы с расширением .txt
$ rm *.txt
Как удалить файлы в интерактивном режиме
Если нужно подтвердить удаление файлов перед их удалением, используйте -i flag, как показано ниже.
$ rm -i file1.txt
Вывод
Как принудительно удалить файлы
Чтобы принудительно удалить файлы, особенно те, которые были защищены от записи, используйте флаг -f , как показано ниже.
$ rm -f file1.txt
Вывод
Как удалить пустые каталоги
Если вы хотите удалить пустой каталог, используйте флаг -d с командой rm
$ rm -d directory_name
Давайте создадим пустой каталог и назовем его data.
Чтобы удалить этот каталог, запустите
$ rm -d data
Вывод
В Linux команда удалить папку может выглядеть, как rmdir. Rmdir — это сокращение от слов remove directory. Ниже приведен синтаксис.
$ rmdir directory_name
Во втором примере мы создадим новый каталог и назовем его linux . Затем мы удалим его с помощью команды rmdir.
Вывод
Как в Linux удалить директорию с файлами
Если нужно удалить заполненные каталоги и все их содержимое, используйте флаг -r, как показано ниже
$ rm -r directory_name
В этом примере у нас есть каталог с названием distros, в котором хранится 5 файлов, а именно centos, debian, fedora и mint.
Чтобы удалить каталог и его содержимое, запустите:
$ rm -r distros
Как рекурсивно удалить несколько каталогов
Чтобы удалить сразу несколько каталогов, используйте приведенный ниже синтаксис:
$ rm -r directory_1 directory_2 directory_3
Например, для того чтобы удалить 3 каталога, а именно data1, data2 и data3, запустите:
$ rm -r data1 data2 data3
Вывод
Как удалить папку в терминале Linux принудительно и рекурсивно
Для того чтобы рекурсивно и принудительно удалить каталоги без запроса, используйте комбинацию флага -rf , как показано ниже:
$ rm -rf directory_name
Заключение
Теперь вы знаете, как безопасно удалить файл в Linux, как удалить папку в Linux через терминал, как удалить несколько файлов и многое другое.
Каждую неделю мы в live режиме решаем кейсы на наших открытых онлайн-практикумах, присоединяйтесь к нашему каналу в Телеграм, вся информация там.
Если вы хотите освоить функционал системного администратора Linux на практике, приглашаем на наш практикум Linux by Rebrain.