Как удалить каталог в Linux
Существует несколько различных способов удаления каталогов в системах Linux. Если вы используете файловый менеджер Desktop, такой как «Файлы Gnome» или «Dolphin» в KDE, вы можете удалять файлы и каталоги с помощью графического пользовательского интерфейса менеджера. Но если вы работаете на автономном сервере или хотите удалить несколько каталогов одновременно, лучшим вариантом будет удаление каталогов (папок) из командной строки.
Прежде чем вы начнете
При удалении каталога с помощью файлового менеджера на рабочем столе этот каталог фактически перемещается в корзину и может быть легко восстановлен.
Будьте особенно осторожны при удалении файлов или каталогов из командной строки, поскольку после удаления каталога с помощью команд, описанных в этой статье, его невозможно полностью восстановить.
В большинстве файловых систем Linux удаление каталога требует разрешения на запись в каталог и его содержимое.
Имена каталогов с пробелом в них должны быть экранированы обратной косой чертой ( /
).
Удаление каталогов с
rmdir
rmdir
утилита командной строки для удаления пустых каталогов Это полезно, когда вы хотите удалить каталог, только если он пустой, без необходимости проверять, является ли каталог пустым или нет.
Чтобы удалить каталог с помощью rmdir
, введите команду, а затем имя каталога, который вы хотите удалить. Например, чтобы удалить каталог с именем dir1
, введите:
rmdir dir1
Если каталог не пустой, вы получите следующую ошибку:
rmdir: failed to remove 'dir1': No such file or directory
В этом случае вам нужно будет использовать rm
команду или вручную удалить содержимое каталога, прежде чем вы сможете удалить его.
Удаление каталогов с
rm
rm
утилита командной строки для удаления файлов и каталогов В отличие rmdir
от rm
команды можно удалять как пустые, так и непустые каталоги.
По умолчанию при использовании без какой-либо опции rm
не удаляются каталоги. Чтобы удалить пустой каталог, используйте опцию -d
( --dir
) и удалите непустой каталог, а все его содержимое используйте опцию -r
( --recursive
или -R
).
Например, чтобы удалить каталог dir1
со всем его содержимым, вы должны набрать:
rm -r dir1
Если каталог или файл в каталоге защищен от записи, вам будет предложено подтвердить удаление. Чтобы удалить каталог без запроса, используйте
параметр:
rm -rf dir1
Чтобы удалить несколько каталогов одновременно, вызовите rm
команду, а затем имена каталогов, разделенные пробелом. Команда ниже удалит все перечисленные каталоги и их содержимое:
rm -r dir1 dir2 dir3
-i
Параметр указывает rm
на запрос на подтверждение удаления каждого подкаталога и файла. Если каталог содержит много файлов, это может немного раздражать, поэтому вы можете рассмотреть возможность использования -I
опции, которая предложит вам только один раз, прежде чем продолжить удаление.
rm -rI dir1
Чтобы удалить каталог, введите y
и нажмите Enter
.
rm: remove 1 argument recursively? y
Вы также можете использовать обычные расширения для сопоставления и удаления нескольких каталогов. Например, чтобы удалить все каталоги первого уровня в текущем каталоге, который заканчивается на _bak
, вы должны использовать следующую команду:
rm -r *_bak
Использование регулярных расширений при удалении каталогов может быть рискованным. Рекомендуется сначала перечислить каталоги с помощью ls
команды, чтобы вы могли видеть, какие каталоги будут удалены перед выполнением rm
команды.
Удаление каталогов с
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
опцию с особой осторожностью. Командная строка find оценивается как выражение, и если вы -delete
сначала добавите параметр, команда удалит все, что находится ниже указанных вами начальных точек.
Всегда проверяйте команду сначала без -delete
опции и используйте -delete
в качестве последней опции.
/ bin / rm: список аргументов слишком длинный
Это сообщение об ошибке появляется при использовании rm
команды для удаления каталога, содержащего огромное количество файлов. Это происходит потому, что количество файлов превышает системное ограничение на размер аргумента командной строки.
Есть несколько разных решений этой проблемы. Например, вы можете cd
в каталог и вручную или с помощью цикла удалить подкаталоги один за другим.
Самое простое решение — сначала удалить все файлы в каталоге с помощью find
команды, а затем удалить каталог:
find /dir -type f -delete && rm -r /dir
Вывод
С помощью rm
и find
вы можете удалять каталоги на основе различных критериев быстро и эффективно.
Удаление каталогов — это простой и легкий процесс, но вы должны быть осторожны, чтобы не удалить важные данные.
Как удалить файлы и каталоги с помощью командной строки Linux
Как удалить файлы и каталоги с помощью командной строки Linux
How to Remove Files and Directories Using Linux Command Line
21 Июня 2020 | Терминал
В этом руководстве мы покажем Вам, как использовать rm , unlink и rmdir команды для удаления файлов и каталогов в Linux.
Как удалить файлы
Чтобы удалить (или удалить) файл в Linux из командной строки, используйте команду rm
(удалить) или unlink
команду.
Команда unlink
позволяет удалить только один файл, при этом rm
вы можете удалить несколько файлов одновременно.
Будьте особенно осторожны при удалении файлов или каталогов, потому что, как только файл удален, он не может быть легко восстановлен.
-
Чтобы удалить один файл, используйте команду
rm
or,unlink
а затем имя файла:unlink filename
rm filename
Если файл защищен от записи, вам будет предложено подтвердить, как показано ниже. Чтобы удалить тип файлаy
и нажмитеEnter
. В противном случае, если файл не защищен от записи, он будет удален без запроса.rm: remove write-protected regular empty file 'filename'?
-
Чтобы удалить несколько файлов одновременно, используйте
rm
команду, за которой следуют имена файлов, разделенные пробелом.rm filename1 filename2 filename3
Вы также можете использовать подстановочный знак (*
) и обычные расширения для сопоставления нескольких файлов. Например, чтобы удалить все.pdf
файлы в текущем каталоге, используйте следующую команду:rm *.pdf
При использовании обычных расширений сначала перечислите файлы с помощьюls
команды, чтобы вы могли видеть, какие файлы будут удалены перед выполнениемrm
команды. -
Используйте опцию
rm
with-i
для подтверждения каждого файла перед его удалением:rm -i filename(s)
-
Чтобы удалить файлы без запроса, даже если файлы защищены от записи, передайте параметр
-f
(force)rm
команде:rm -f filename(s)
-
Вы также можете комбинировать
rm
варианты. Например, чтобы удалить все.txt
файлы в текущем каталоге без запроса в подробном режиме, используйте следующую команду:rm -fv *.txt
Как удалить каталоги (папки)
В Linux вы можете удалять / удалять каталоги с помощью rmdir
и rm
.
rmdir
утилита командной строки для удаления пустых каталогов, в то время как rm
вы можете рекурсивно удалять директории и их содержимое.
-
Чтобы удалить пустой каталог, используйте либо имя,
rmdir
либоrm -d
имя каталога:rm -d dirname
rmdir dirname
-
Чтобы удалить непустые каталоги и все файлы в них, используйте
rm
команду с параметром-r
(рекурсивный):rm -r dirname
Если каталог или файл в каталоге защищен от записи, вам будет предложено подтвердить удаление.
-
Чтобы удалить непустые каталоги и все файлы без запроса, используйте
rm
с-r
(recursive) и-f
параметрами:rm -rf dirname
-
Чтобы удалить несколько каталогов одновременно, используйте
rm -r
команду, за которой следуют имена каталогов, разделенные пробелом.rm -r dirname1 dirname2 dirname3
Как и в случае с файлами, вы также можете использовать подстановочный знак (
*
) и обычные расширения для соответствия нескольким каталогам.
Вывод
Теперь вы должны иметь хорошее представление о том , как использовать Linux rm
, rmdir
и unlink
команды , и вы должны иметь возможность безопасно удалить файлы и папки из командной строки.
#remove #linux #command
Как удалить файлы и папки
ВПС
06 декабря 2022 г.
Игнас Т. и Леонардус Н.
5 минут Чтение
Изучение того, как использовать командную строку Linux, важно для всех пользователей Linux и системных администраторов. С его помощью можно выполнять простые задачи обслуживания, такие как создание файла, переход к папке или перемещение файла.
Поскольку Linux является популярной операционной системой для размещения виртуальных серверов, понимание основных команд Linux имеет решающее значение для управления сервером.
В этой статье показано, как удалять файлы и каталоги с помощью командной строки Linux.
How to Remove a Directory in Linux
To permanently remove a directory in Linux, use either the rmdir or rm command:
- Use the
rmdir
orrm -d
command для удаления пустых каталогов. - Используйте команду
rm -r
для удаления непустых каталогов.
Перед удалением каталога необходимо знать его имя. Чтобы обнаружить файлы и каталоги, используйте команду ls , а чтобы узнать текущий каталог, в котором вы находитесь, используйте команду pwd .
Параметры, которые вы используете вместе с этими командами, также важны для определения того, как они работают. Вот краткий обзор параметров команды rm:
Команда и параметр | Описание |
rm -d | Удалите пустой каталог с помощью команды rm . |
rm -r | Удалить непустой каталог и его содержимое. |
rm -f | Игнорировать любые подсказки при удалении защищенного от записи файла. |
rm -rf | Игнорировать любые подсказки при удалении непустой папки, защищенной от записи. |
rm -i | Выводить запрос перед удалением каждого файла. |
rm -I | Выводить подсказку только один раз перед удалением более трех файлов. |
rm * | Подстановочный знак, представляющий несколько символов. |
пм ? | Подстановочный знак, представляющий один символ. |
rmdir -p | Удалить пустой подкаталог и его родительский каталог. |
rmdir -v | Вывести информацию о том, что указанный каталог был удален. |
Если вы хотите использовать эти команды для управления VPS, не забудьте предварительно подключиться к серверу с помощью SSH-клиента. Затем выполните команды оттуда.
Как удалить пустой каталог (команда rmdir)
В среде Linux файлы и каталоги будут безвозвратно удалены, так как нет корзины или папки для мусора, куда вы можете их восстановить. Если вы случайно удалили файл или каталог в Linux, единственный способ восстановить его — из резервной копии.
Использование команды rmdir предотвращает такие нежелательные действия, поскольку она работает только для пустых каталогов. Он вернет следующее сообщение об ошибке, если каталог содержит файлы:
rmdir: не удалось удалить «Каталог»: каталог не пуст
Синтаксис команды rmdir следующий:
rmdir [опция] DirectoryName
Если вы не хотите использовать какой-либо параметр командной строки, удалите его из синтаксиса. Помните, что в командной строке учитывается регистр. Поэтому, если имя папки содержит заглавные буквы, введите его соответствующим образом.
Например, вот команда для удаления папки Simple-Directory :
rmdir Simple-Directory
Команда rmdir также работает для нескольких пустых каталогов. Добавьте каталоги в команду в качестве дополнительных аргументов для удаления нескольких каталогов в Linux.
rmdir Directory_1 Directory_2 Directory_3
Теперь давайте рассмотрим параметры, которые можно использовать с командой rmdir . Первый — -p, , который работает для удаления подкаталога и его родительского каталога. Например, если ваш путь к каталогу /Directory/SubDirectory , используйте следующую команду:
rmdir -p /Directory/SubDirectory
Эта команда сначала удалит папку SubDirectory в пути Directory . Затем, если папка Directory пуста после удаления SubDirectory , папка также будет удалена.
Следующая опция — verbose , представленная -v в командной строке. Эта опция напечатает текст в качестве подтверждения того, что указанный каталог был удален. Вот пример этой команды:
rmdir -v Simple-Directory
Выходное сообщение будет таким:
rmdir: удаление каталога, 'Simple-Directory'
Как удалить непустой Каталог (команда rm)
Теперь давайте посмотрим, как удалить непустые каталоги с помощью 9Команда 0019 rm . Эта команда изначально использовалась для удаления файлов, но мы можем использовать ее для удаления каталогов, используя такие параметры, как -r , -rf и -d . Основной синтаксис команды rm следующий:
rm [опция] FileOrFolderName
Используйте рекурсивную опцию , представленную -r , чтобы удалить каталог и его содержимое. Следующая команда показывает, как удалить Simple-Directory 9.0020 и его содержимое:
rm -r Simple-Directory
Внимание! Если вы удалите непустой каталог с помощью команды rm -r , все файлы внутри него будут безвозвратно удалены, и вы сможете восстановить их только из резервной копии. Выполняйте эту команду с осторожностью.
Если каталог защищен от записи, вам будет предложено подтвердить удаление каталога. Чтобы удалить каталог без запроса, используйте -рф вариант.
rm -rf Simple-Directory
Команда rm также работает для удаления пустых каталогов в Linux. Однако, в отличие от команды rmdir , вы должны использовать параметр -d .
rm -d Simple-Directory
Как и в случае с командой rmdir , вы можете использовать команду rm для удаления нескольких каталогов. Добавьте имена каталогов в качестве новых аргументов в командной строке:
rm -r Каталог_1 Каталог_2 Каталог_3
Как удалить файл с помощью команды rm
Вы можете использовать команду rm для удаления файлов вручную вместо того, чтобы сразу удалять непустую папку. Этот метод более безопасен, поскольку предотвращает случайное удаление важных файлов.
Чтобы удалить один файл в текущем рабочем каталоге, используйте команду rm , за которой следует имя файла:
rm file.txt
Чтобы удалить несколько файлов в каталоге, напишите все имена файлов, которые вы хотите удалить, в команде:
rm file1.txt file2.txt file3.txt
Все приведенные выше команды работают, если вы находитесь в тот же каталог, что и указанные файлы. Однако вы можете указать путь к файлу в аргументе командной строки, чтобы удалить файл, которого нет в вашем текущем рабочем каталоге.
rm dir/subdir/file.txt
Поскольку файлы будут удалены навсегда, вы можете добавить -i в команде, чтобы терминал запрашивал подтверждение каждого удаления файла. Так вы предотвратите неприятные ошибки.
rm -i file1. txt file2.txt file3.txt
Введите Y и нажмите Введите , если вы хотите удалить файл, или введите N и нажмите , если вы не хотите .
Вместо этого используйте -I , чтобы получить запрос только один раз перед удалением более трех файлов. Хотя это менее безопасно, чем -i , он по-прежнему обеспечивает дополнительную защиту, чтобы избежать удаления важных файлов.
rm -I файл1.txt файл2.txt файл3.txt
Однако система все равно выдаст вам запрос перед удалением файлов, если они защищены от записи. Если вы не хотите получать запрос при удалении таких файлов, используйте параметр -f .
rm -f file.txt
Команды, которые мы обсуждали до сих пор, удаляют определенные файлы. Однако, используя подстановочные знаки, вы можете удалить несколько файлов с помощью одной команды. Есть два типа подстановочных знаков — звездочка ( * ) и вопросительный знак ( ? ).
Звездочка представляет несколько неизвестных символов, и одним из наиболее распространенных примеров использования является удаление файлов с определенным расширением. Приведенная ниже команда удалит все файлы .txt в текущем рабочем каталоге:
rm *.txt
Вы также можете использовать звездочку, чтобы удалить все файлы, начинающиеся с определенной буквы.
rm a*
В приведенном выше примере звездочка представляет все неизвестные символы, идущие после буквы 9.0019 и . Команда удалит все файлы, начинающиеся с по , независимо от их расширений, например amazon.txt , alligator.png и aaron.zip .
Подстановочный знак вопросительного знака, с другой стороны, представляет один символ. В сочетании с подстановочным знаком звездочки вы можете использовать его для удаления файлов с односимвольным расширением, например .S , .O и .C .
п.м.*.?
Внимание! Будьте осторожны при использовании подстановочных знаков, так как это может привести к удалению важных файлов. Сначала проверьте все файлы в каталоге с помощью команды ls . Перед использованием команды подстановочного знака убедитесь, что нет важных данных или системных файлов.
Заключение
Удаление каталогов и файлов через командную строку в Linux требует понимания правильного использования команд rm и rmdir . Проще говоря, 9Команда 0019 rm работает с файлами и непустыми каталогами, а команда rmdir работает только с пустыми папками.
Помните, что в Linux нет корзины или папки для мусора. Как только вы удалите файлы и каталоги с помощью командной строки, они будут удалены навсегда. Поэтому используйте эти команды с осторожностью или создайте резервную копию перед удалением файлов и папок на вашем VPS.
Если у вас есть дополнительные вопросы, не стесняйтесь оставлять нам комментарии.
Дополнительные сведения о командах Linux для управления файлами
Как создать пустой файл
Как найти файл
Как сжать файл с помощью команды Tar
Как изменить владельца файла с помощью команды Chown
Как разархивировать файлы в Linux
Как изменить права доступа к файлу с помощью команды Chmod
Как переименовать файл
Как проверить тип файла
Как создать символическую ссылку (симлинк)
Часто задаваемые вопросы об удалении каталога в Linux
Как удалить все файлы и папки в Linux?
Для пустых папок используйте команды rmdir или rm -d, за которыми следует имя папки:
rm -d имя_каталога
rmdir имя_каталога
Команда rm с параметром -r каталог может использоваться для непустых папок.
rm -r имя_каталога
Игнас является частью технической команды Hostinger. Он занимается администрированием и мониторингом серверов, уделяя особое внимание виртуализации программного обеспечения. В свободное время он всегда готов покататься на лыжах, покататься на байдарках или поиграть в настольные игры.
Другие работы Игнаса Т.
Лео — фанатик WordPress и участник. Ему нравится быть в курсе последних новостей и обновлений WordPress и делиться своими знаниями, чтобы помочь людям создавать успешные веб-сайты. Когда он не работает, он участвует в команде документации WordPress и балует своих собак.
Подробнее от Leonardus N.
Как удалить каталог в Linux (команды rm и rmdir)
Введение
Удаление каталога в Linux — довольно простая задача, если вы используете графический интерфейс. Однако, если у вас нет доступа к графическому интерфейсу, вы также можете удалить каталоги с помощью команд терминала.
В этом уроке мы покажем вам, как удалить каталог в Linux с помощью команд в окне терминала или командной строке.
Предпосылки
- Система с дистрибутивом Linux.
- Учетная запись с привилегиями sudo.
- Доступ к окну терминала или командной строке.
Для удаления каталога из окна терминала или командной строки можно использовать две команды Linux:
- Команда
rm
удаляет полные каталоги, включая подкаталоги и файлы. - Команда
rmdir
удаляет пустые каталоги.
Важно отметить, что команды rm
и rmdir
безвозвратно удаляют каталоги, не перемещая их в каталог Trash . Это означает, что вы не можете восстановить каталог, удаленный с помощью этих команд.
Примечание: Несмотря на то, что rm
и rmdir
безвозвратно удаляют файлы и каталоги, у пользователей с достаточным опытом и временем все еще есть шанс восстановить некоторые из удаленных файлов. Если вы хотите узнать больше о постоянном удалении файлов, ознакомьтесь с нашим руководством по команде shred.
Команда rm
Команда rm
в Linux удаляет файлы и каталоги.
Используется следующий синтаксис:
rm [параметры] [имя файла или каталога]
Примечание: Чтобы удалить несколько файлов или каталогов с помощью команды rm
, добавьте несколько имен файлов или каталогов, разделенных пустые места.
Различные параметры команды rm
включают:
- —
f
: принудительное удаление всех файлов или каталогов. -
-i
: Запрашивает подтверждение перед удалением. -
-I
: Запрашивает один раз перед удалением более трех файлов или при рекурсивном удалении. -
-r
: Рекурсивно удаляет каталоги и их содержимое. -
-d
: Удаляет пустые каталоги. -
-v
: Предоставляет подробный вывод. -
--help
: Отображает текст справки. -
--version
: Отображает версию команды.
Попытка использовать команду rm
без параметров для удаления каталога приводит к сообщению об ошибке:
Если вы хотите удалить пустой каталог, добавьте флаг -d
к rm
команда:
rm -d Пример
Примечание: Если вы хотите удалить каталог, имя которого начинается с дефиса ( — ), используйте синтаксис rm -- [имя каталога]
или rm ./[имя каталога]
.
Пример ниже показывает, что команда rm
с флагом — d
удаляет каталог . .
На изображении ниже показана древовидная иерархия каталога Пример , который содержит подкаталоги Dir1 и Dir2 , с несколькими текстовыми файлами в каждом:
Использование флага -r
удаляет весь каталог включая подкаталоги и файлы, в то время как флаг -v
перечисляет каждый шаг процесса как результат: удаление. Тип Y
и нажмите Введите для подтверждения.
rm -d -i Пример
Каталоги, защищенные от записи, требуют ввода данных пользователем при удалении. Создайте такой каталог с помощью:
sudo mkdir Пример
Чтобы удалить каталог, используйте:
rm -d Пример
Введите Y и нажмите Введите для подтверждения удаления. Чтобы избежать подтверждения, используйте флаг -f
или повысьте привилегии команды до sudo:
rm -d -f Пример
sudo rm -d Пример
Если защищенный от записи каталог содержит другие файлы и каталоги, используйте следующую команду:
rm -rf <имя каталога>
Примечание: rm -rf /
— опасная команда Linux, которая вызывает рекурсивное удаление корневого каталога, делая вашу систему непригодной для использования.
Избегайте использования -f
и sudo при удалении каталогов, если только вы не знаете, что делаете. Чтобы узнать больше об этой команде, посетите нашу статью Что такое sudo rm -rf в Linux и опасно ли это.
Команда rmdir
Команда Linux rmdir
удаляет только пустые каталоги. Команда использует следующий синтаксис:
rmdir [опции] [имя каталога]
Команда rmdir
включает следующие параметры:
-
--ignore-fail-on-non-empty
8: Не показывает сообщение об ошибке при попытке удалить непустой каталог.
-
-p
: Удаляет каталог вместе с его родительским элементом в иерархии. -
-v
: Предоставляет подробный вывод. -
--help
: Отображает текст справки. -
--version
: Отображает версию команды.