Как удалить файл в 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».

Остались вопросы?

Задайте вопрос в комментариях под статьей или на странице «Задать вопрос» и вы обязательно получите ответ.

Оставить комментарий