- Примеры команды RM Linux
- Удаление файла
- Интерактивное удаление файлов
- Удаление пустой директории
- Рекурсивное удаление директорий
- Удаление файлов и подкаталогов интерактивно
- Принудительное удаление файлов
- Проверка при удалении более 3 файлов или рекурсивном удаление
- Регулярные выражения в команде rm
- Удаление большого количества файлов
- Удаление файлов, начинающихся с дефиса (-)
- Удаление файлов в Linux. Как удалять файл через терминал Linux?
- Удаляем файлы в Linux: практика
- Удаляем папки и каталоги в Linux
- Выводы
- Как удалять файлы и директории в Linux
- Как удалить файл в терминале Linux
- Как удалить несколько файлов
- Как удалить файлы в интерактивном режиме
- Как принудительно удалить файлы
- Как удалить пустые каталоги
- Как в Linux удалить директорию с файлами
- Как рекурсивно удалить несколько каталогов
- Как удалить папку в терминале Linux принудительно и рекурсивно
- Заключение
Примеры команды RM Linux
rm означает «remove», как следует из названия, команда rm используется для удаления файлов и каталогов в UNIX-подобной операционной системе. Если вы новичок в Linux, вы должны быть очень осторожны при запуске команды rm, потому что, как только вы удалите файлы, вы не сможете восстановить содержимое файлов и каталогов. Хотя есть некоторые инструменты и команды, с помощью которых можно восстановить удаленные файлы, но для этого вам нужны экспертные навыки.
В этом посте я продемонстрирую 10 примеров команд Linux rm. Ниже приведен основной синтаксис команды rm.
Удаление файла
Давайте удалим файл с именем «linux.log»
Удаление нескольких файлов одновременно.
Давайте предположим, что я хочу удалить четыре текстовых файла одновременно. Используйте приведенный ниже синтаксис.
$ rm file1.txt file2.txt file3.txt file4.txt
Интерактивное удаление файлов
Параметр ‘-i‘ спрашивает разрешение перед удалением, как показано ниже.
$ rm -i linuxstufff.log rm: remove regular file ‘linuxstufff.log’? y
Удаление пустой директории
Используйте опцию «-d» для удаления пустой папки.
$ ls -R appdata/ appdata/: $ rm -d appdata/
Вы также можете использовать команду ‘rmdir‘ для удаления пустых папок.
$ ls -R appdata/ appdata/: $ rmdir appdata
Рекурсивное удаление директорий
Команде rm вместе параметром ‘-r‘ рекурсивно удалит все файлы и подкаталогов в родительской директории.
$ ls -lR dbstore/ dbstore/: total 0 -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 26 23:59 file1.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 26 23:59 file2.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 26 23:59 file3.log drwxrwxr-x. 2 mordeniuss mordeniuss 6 Mar 26 23:59 service dbstore/service: total 0 $ rm -r dbstore/
Удаление файлов и подкаталогов интерактивно
Используйте опцию ‘-ri‘ в команде rm для интерактивного удаления файлов и подкаталогов.
$ ls -lR dbstore/ dbstore/: total 0 -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 00:02 file1.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 00:02 file2.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 00:02 file3.log drwxrwxr-x. 2 mordeniuss mordeniuss 6 Mar 27 00:02 service dbstore/service: total 0 [mordeniuss@cloud ~]$ rm -ri dbstore/ rm: descend into directory ‘dbstore/’? y rm: remove regular empty file ‘dbstore/file1.log’? y rm: remove regular empty file ‘dbstore/file2.log’? y rm: remove regular empty file ‘dbstore/file3.log’? y rm: remove directory ‘dbstore/service’? y rm: remove directory ‘dbstore/’? y
Принудительное удаление файлов
Параметр ‘-f‘ в команде rm принудительно удаляет файлы независимо от их прав доступа, а также игнорирует несуществующие файлы.
Давайте удалим защищенный от записи файл ‘tech.txt’
$ ls -l tech.txt -r--r--r--. 1 mordeniuss mordeniuss 0 Mar 27 00:23 tech.txt $ rm tech.txt rm: remove write-protected regular empty file ‘tech.txt’?
Как мы видим выше, когда мы пытаемся удалить файл, защищенный от записи, с помощью команды rm без опции ‘-f‘, выходит предупреждение.
Теперь попробуйте удалить файл, используя опцию ‘-f‘.
Также попробуем удалить несуществующий файл.
Примечание: опция -f не будет работать для каталогов, защищенных от записи.
Давайте рассмотрим пример, каталог ‘home/home/mordeniuss/location/protected‘ защищен от записи, а файл ‘db_stuff‘ внутри этого каталога нет.
$ ls -ld /home/mordeniuss/location/ drwxrwxr-x. 2 root root 29 Mar 27 00:43 /home/mordeniuss/location/ $ ls -l /home/mordeniuss/location/db_stuff -rw-rw-r--. 1 mordeniuss mordeniuss 17 Mar 27 00:43 /home/mordeniuss/location/db_stuff $ rm -f /home/mordeniuss/location/db_stuff rm: cannot remove ‘/home/mordeniuss/location/db_stuff’: Permission denied
Проверка при удалении более 3 файлов или рекурсивном удаление
Параметр ‘-I‘ в команде rm перед удалением более трех файлов или рекурсивным удалением запрашивает подтверждение.
Предположим, я хочу удалить все файлы журнала, которые начинаются с имени «app» в каталоге «linux_store».
$ ls -l linux_store/ total 0 -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:07 app1.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:07 app2.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:07 app3.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:07 app4.log -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:07 app5.log $ rm -I linux_store/app* rm: remove 5 arguments? y
Регулярные выражения в команде rm
Мы можем использовать регулярные выражения в команде rm, некоторые примеры показаны ниже:
Давайте удалим 5 файлов журнала, начиная с log1 до log5 в каталоге ‘linux_store‘.
$ pwd /home/mordeniuss/linux_store $ ll total 0 -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:15 log1.txt -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:15 log2.txt -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:15 log3.txt -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:15 log4.txt -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:15 log5.txt -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 01:15 log6.txt . $rm -f log.txt
Удалим все файлы в данной директории, которые заканчиваются на ‘.txt‘
Удалим все файлы в текущем каталоге, которые имеют три символа в расширение.
Удаление большого количества файлов
Если вы пытаетесь удалить большое количество файлов с помощью команды rm, вы получите сообщение об ошибке
‘Argument list too long‘ (Список аргументов слишком длинный)
В приведенном ниже примере я пытаюсь удалить все файлы (около 300001) каталога ‘/home/mordeniuss/linux_store‘ сразу.
$ ls -l | wc -l 300001 $ rm *.log -bash: /bin/rm: Argument list too long
Чтобы решить эту проблему, используйте команду:
$ find ~/linux_store/ -type f -exec rm <> \;
Удаление файлов, начинающихся с дефиса (-)
Давайте предположим, что у нас есть файл с именем ‘-store‘ в нашем текущем каталоге, и мы хотим удалить этот файл.
$ ll total 0 -rw-rw-r--. 1 mordeniuss mordeniuss 0 Mar 27 02:05 -store $ rm -store rm: invalid option -- 's' Try 'rm --help' for more information. [mordeniuss@cloud linux_store]$
Удалить этот файл можно с помощью команд ниже.
$ rm -- \ -store ИЛИ $ rm ./\ -store
Удаление файлов в Linux. Как удалять файл через терминал Linux?
Удаление файлов в Linux — задача, которая не вызывает затруднений у опытных пользователей. Наша же статься ориентирована, скорее, на начинающих. В ней вы сможете посмотреть, как удалить файлы через терминал, и какие команды лучше всего при этом использовать.
Почему лучше удалять файлы из консоли? Дело в том, что это даёт ряд преимуществ и бо́льшую гибкость. К примеру, используя специальную команду, вы легко и полностью удалите файл с жёсткого диска без возможности восстановления. Или всего одной командой и с помощью определённых символов, условий либо регулярных выражений удалите сотни не нужных вам файлов в каталоге либо подкаталогах, отвечающих некоторому критерию.
Удаляем файлы в Linux: практика
В ОС Linux для удаления файлов есть стандартная утилита rm . Как это принято со стандартными утилитами, в названии rm есть определённая идея. В нашем случае речь идёт о сокращении от английского слова Remove — удалять.
Итак, чтобы выполнить удаления одного файла, используем команду rm , указывая за ней имя нашего файла:
Если наш файл находится не в текущем рабочем каталоге, нужно указать путь к его местоположению:
Бывает, что файл защищён от записи. Тогда нам предложат подтвердить команду. Чтобы удалить файл в такой ситуации, просто вводим y и нажимаем Enter.
rm: remove write-protected regular empty file 'filename'?Если мы хотим удалить сразу несколько файлов в Linux, то это тоже не проблема: используем команду rm , за которой прописываем имена наших файлов через пробел:
rm filename1 filename2 filename3Ещё вариант — использование подстановочного знака * и регулярных выражений для соответствия определённым файлам. К примеру, мы легко удалим все файлы в Linux, имеющие расширение .txt следующей командой:
Для подтверждения каждого файла перед удалением используйте опцию -i :
Но когда файлов много, а вы твёрдо уверены в правильности своей команды и не хотите каждый раз отвечать на вопрос системы, используйте противоположную опцию -f . Будут удалены все файлы безоговорочно, т. е. без лишних вопросов:
Удаляем папки и каталоги в Linux
Если хотите удалить пустой каталог, задействуйте опцию -d .
Если хотим удалить непустой каталог и все файлы, которые в нём находятся, поступаем следующим образом:
Опять же, в случае наличия защиты от записи, система Linux спросит пользователя, стоит ли выполнять удаление. Если мы хотим удалить файлы и непустые каталоги без лишних вопросов, делаем так:
Когда хотим удалить сразу несколько каталогов, мы применяем команду rm, прописывая за ней имена каталогов через пробел:
rm -r dirname1 dirname2 dirname3Кстати, здесь мы тоже можем использовать подстановочный знак ( *) и регулярные выражения, обеспечивающие соответствие нескольким каталогам.
Выводы
Как видите, удалить файл в Linux через терминал совсем несложно, поэтому с этой операцией справится каждый. При этом вы должны не только понимать, как правильно использовать команду rm в Linux, но и знать, как делать это безопасно.
Как удалять файлы и директории в Linux
Visitors have accessed this post 50036 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.