Как удалить файл в Linux через терминал
В операционной системе Linux практически все операции можно выполнить с помощью терминала. Для этого в системе предусмотрено мужество очень мощных и гибких команд и утилит, которые позволяют очень тонко управлять системой.
В этой инструкции мы рассмотрим удаление файлов. Это типичная и очень простая процедура, выполнять которую должен уметь любой пользователь. Здесь вы узнаете, как удалить файл в Linux через терминал и какие команды для этого понадобятся. Статья будет актуальной для любого дистрибутива Linux, например, Ubuntu Linux, Debian и т. д.
Содержание
Удаление файлов с помощью rm
Для того чтобы удалить файл в Linux через терминал необходимо использовать команду «rm» (от английского «remove»). Данная команда удаляет все указанные ей файлы, но по умолчанию не удаляет каталоги. Чтобы позволить команде «rm» удалять каталоги нужно добавить опцию «-r» или «-R». Более подробно об этом во второй половине статьи.
Также нужно отметить, что команда «rm» не выполняет физическое удаление данных, вместо этого указанные файлы просто удаляются из файловой системы, а занимаемое ими место маркируется как свободное. Это означает, что после удаления данные остаются на диске и пока они не будут перезаписаны другими данными, их можно будет восстановить с помощью специальных программ. Для физического удаления данных с перезаписью диска следует использовать команду «shred».
В общем случае для удаления файла в Linux через терминал достаточно просто ввести в терминал «rm» и указать имя документа. Например, для того чтобы удалить «file1.txt» из текущего каталога нужно выполнить вот такую команду:
rm file1.txt
Если удаляемый файл находится не в текущем каталоге, то в терминале нужно указать полный путь. Например, это может выглядеть вот так:
rm /tmp/temp/file.txt
При необходимости, с помощью команды «rm» можно удалить сразу несколько файлов. Для этого просто введите «rm» и перечислите имена через пробел, например:
rm file1 file2 file3
Для удаления большого количества похожих файлов можно использовать маски. Например, чтобы удалить все документы с расширением txt нужно выполнить вот такую команду:
rm *.txt
Также маску можно использовать для удаления вообще всех файлов. Например, чтобы удалить все файлы в текущей папке нужно выполнить:
rm *
Аналогичным способом можно удалить все файлы в определенной папке:
rm folder/*
Главное, соблюдать осторожность, так как при использовании масок можно удалить что-то лишнее.
Синтаксис и опции команды rm
Команда «rm» имеет множество опций, что позволяет очень тонко управлять процессом удаления файлов. Вы можете изучить все доступные опции если введете в терминал Linux команду «man rm». Здесь же мы будем рассматривать самые простые и часто используемые опции.
Синтаксис команды «rm» выглядит следующим образом:
rm [опции] файлы
Разберем основные опции команды rm:
-f, —force Игнорировать несуществующие файлы и не требовать подтверждения перед удалением. -i Требовать подтверждения перед каждым удалением. -I Запрашивать подтверждение один раз перед удалением более трех файлов или при рекурсивном удалении. -r, -R, —recursive Рекурсивное удаление каталогов и их содержимого. -v, —verbose Вывод подробной информации о процессе. —help Вывод справочной информации о команде.
Теперь разберем некоторые опции, которые часто используются при удалении файлов в Linux через терминал. Например, очень часто возникает необходимость удалить папку вместе с всем содержимым. Для этого нужно использовать опцию «-r», которая включает рекурсивный обход папок. Например, для того чтобы удалить папку «folder1» и все ее содержимое нужно выполнить:
rm -r folder1/
Если права доступа к файлу разрешают только чтение, то в терминале Linux появится запрос подтверждения, и чтобы продолжить вам нужно будет ввести букву «y» (от англ. «yes»).
Чтобы избежать такой ситуации и удалять все файлы без предупреждения нужно использовать опцию «-f». Например:
rm -f file.txt
Не редко возникает необходимость удалить папку вместе со всеми файлами и без запросов на подтверждение. В этом случае нужно комбинировать опции «-r» и «-f». В результате команда выглядит вот так:
rm -rf folder1/
Если вы, наоборот, хотите каждый раз получать запрос подтверждения, то команду «rm» нужно выполнять с опцией «-i». Например, для того чтобы удалить все файлы в текущем каталоге с запросом подтверждения нужно выполнить:
rm -i *
Также бывает полезной опция «-v». При ее использовании в терминале будет появляться подробная информация о выполняемых действиях. Например, для того чтобы удалить все файлы в текущем каталоге и вывести информацию в терминал нужно выполнить:
rm -v *
Также вывод информации можно перенаправить в файл. Для этого после команды нужно использовать оператор перенаправления вывода (>) и указать название файла. Например:
rm -v * > delete.log
Естественно все эти опции можно комбинировать, в зависимости от ваших задач.
Поиск и удаление файлов с помощью find
Также нужно отметить, что существуют и альтернативные способы удаления файлов. Например, вы можете использовать команду поиска «find». Команда «find» будет полезна в тех случаях, когда вам нужно удалить определенные файлы в целом ряде папок.
Например, для того чтобы найти и удалить все txt-файлы в текущей и во всех вложенных папках можно выполнить вот такую команду:
find . -type f -name «*.txt» -delete
Чтобы узнать больше об использовании «find» введите в терминал команду «man find».