Бывают случаи, когда вам нужно удалить файлы в терминале Linux. Команда rm позволяет удалять каталоги, файлы, символические ссылки и многое другое.
Примечание. Команда rm («remove» — удалять) удаляет файл навсегда, не перемещая его в корзину. Следовательно, убедитесь, что вы полностью понимаете что вы делаете, иначе вы можете навсегда потерять важные файлы.
$ rm file
Узнаем больше про rm
Чтобы узнать больше про команду rm, можно воспользоваться ключом —help.
$ rm --help Использование: rm [ПАРАМЕТР]… [ФАЙЛ]… Удаляет (ссылки на) ФАЙЛ(ы). -f, --force игнорировать несуществующие файлы и аргументы, ни о чём не спрашивать -i запрашивать подтверждение перед каждым удалением -I запрашивать подтверждение один раз перед удалением более трёх файлов или перед рекурсивным удалением; не так назойливо, как с -i, но всё же защищает от большинства ошибок --interactive[=КОГДА] запрашивать подтверждение в соответствии с КОГДА: never (никогда), once (-I, один раз) или always (-i, всегда); если КОГДА не задано — запрашивать всегда --one-file-system при рекурсивном удалении дерева, пропускать все каталоги, находящиеся не на той же файловой системе, что и соответствующий аргумент командной строки --no-preserve-root не обрабатывать «/» особым образом --preserve-root[=all] не удалять «/» (по умолчанию); при указании «all» отвергать любой аргумент командной строки на отдельном устройстве от его родителя -r, -R, --recursive рекурсивно удалять каталоги и их содержимое -d, --dir удалять пустые каталоги -v, --verbose пояснять производимые действия ...
Удаление одного файла.
Вы можете удалить один файл с помощью следующей команды:
rm <filename>
# ls dir1 dir2 dir3 file1 file2 file3 file4 file5 # rm file3 rm: удалить пустой обычный файл 'file3'? y # ls dir1 dir2 dir3 file1 file2 file4 file5
Удаление нескольких файлов.
Для удаления нескольких файлов вам нужно всего лишь добавить имена файлов через пробел:
# rm file1 file2 file4 rm: удалить пустой обычный файл 'file1'? y rm: удалить пустой обычный файл 'file2'? y rm: удалить пустой обычный файл 'file4'? y # ls dir1 dir2 dir3 file5
Если вы хотите удалить все файлы с одинаковым расширением, вы можете использовать * в качестве заполнителя. Например, чтобы удалить все файлы «.txt»:
# rm *.txt
Аналогично, чтобы удалить все файлы (с расширением) в каталоге, вы можете использовать:
# rm *.*
Удаление каталога.
Для удаления пустого каталога вы можете использовать опцию -d или команду rmdir:
# rm -d <Пустая_Директория>
или
# rmdir <Пустая_Директория>
Вы не можете удалить каталог, если в нем имеются файлы. Для удаления непустого каталога, используется опция -r. Это также приведет к удалению всех файлов в папке.
# rm -r <Имя_Каталога>
Аналогичным образом вы можете удалить все, включая подпапки и файлы внутри, из каталога:
# rm -r *
Удаление в интерактивном режиме.
Если вы хотите все проверить перед удалением какого-либо файла, лучше использовать опцию -i. Эта опция отображает запрос подтверждения перед удалением любого файла из системы.
# rm -i <имя_файла>
Как только вы выполните вышеуказанную команду, система попросит вас нажать Y или N, чтобы подтвердить свой выбор. В некоторых дистрибутивах эта функция включена по умолчанию и указывать ее не обязательно.
Если вы удаляете более трех файлов с помощью команды rm, используйте опцию -I:
# rm -I file1 file2 file3 rm: remove 3 arguments?
или
# rm -I *.txt
Получать сообщение после удаления файлов.
С опцией -v команда rm показывает, что делает команда:
# rm -v file3 удалён 'file3'
Вы можете использовать опцию -v и -i для интерактивного удаления файлов:
# rm -vi file4 rm: удалить пустой обычный файл 'file4'? y удалён 'file4'
Удалить файл принудительно
Существуют меры безопасности, так что очередной пользователь не сможет удалить кучу важных файлов. Защищенные от записи файлы спросят ваше подтверждение перед тем, как удалить их. Если директория также защищена от записи, то ее тоже будет не легко удалить.
Но, есть опция ‘-f’ («force» — принудительно), которая отменяет любую второстепенную защиту файла, защищенного от записи, и удаляет его принудительно.
# rm -f file5
Вы можете объединить это с опцией -r, чтобы принудительно удалить каталог и его подпапки.
Примечание. Параметр -rf в сочетании с sudo может быть опасной командой, которая может удалить любые/все файлы и папки в системе. Используйте его осторожно.
Удалить файл, начинающийся с тире (-)
Если вы попытаетесь удалить файл, в имени которого есть тире, вы можете получить сообщение об ошибке.
$ sudo rm -file1 rm: неверный ключ — «l» Попробуйте «rm ./-file1», чтобы удалить файл '-file1'. По команде «rm --help» можно получить дополнительную информацию.
Чтобы устранить вышеуказанную ошибку, используйте двойное тире (–), которое работает как инструкция «конец параметров» для команды в Linux:
$ sudo rm -v -- -file1 удалён '-file1'
Объедините Rm с командой Xargs.
Вы можете объединить команду rm с командой xargs в Linux, чтобы эффективно удалить множество файлов. Например, можно удалить файлы, перечисленные в файле info.txt:
$ sudo xargs rm < info.txt
Was this helpful?
0 / 0