Bash linux удаление файлов

Как удалить файл через терминал Linux

Эта небольшая заметка ориентирована на совсем начинающих. Сегодня мы рассмотрим как удалить файл linux через терминал. Для более опытных пользователей это элементарная задача, но новичкам надо с чего-то начинать. Знать как работать с файлами в консоли очень важно.

К тому же удаление из консоли дает много преимуществ и большую гибкость. Например, с помощью специальной команды вы можете полностью стереть файл с жесткого диска, так что его уже ни за что невозможно будет восстановить или одной командой с помощью специальных символов, условий или регулярных выражений удалить сотни ненужных файлов в одном каталоге или подкаталогох соответствующих определенному критерию.

В Linux для удаления файлов предусмотрена стандартная утилита rm. Как и все остальные, стандартные утилиты в имени rm тоже заложена определенная идея. Это сокращение от английского слова Remove.

Удаление файлов в Linux

Чтобы удалить файл linux достаточно передать в параметрах команде адрес файла в файловой системе:

Чтобы удалить все файлы, начинающиеся на слово file можно использовать специальный символ *, означает любой символ в любом количестве:

Эта команда удаления файла в linux должна использоваться очень осторожно, чтобы не удалить ничего лишнего. В утилите есть опция -i, которая заставляет программу спрашивать пользователя перед тем, как удалить файл linux:

rm: удалить пустой обычный файл «/home/user/file»?

Если файлов очень много, вы уверены в правильности команды и отвечать каждый раз y неудобно, есть противоположная опция — f. Будут удалены все файлы без вопросов:

Для удаления директорий, вместе с файлами и поддиректориями используется опция -R, например:

Будет удалено все что находиться в папке dir, и эта папка. Только будьте бдительны, чтобы не получился знаменитый патч Бармина:

Не стоит выполнять эту команду в своей системе, как видите, она удаляет все файлы в файловой системе Linux.

Удаление файла в linux также возможно с помощью утилиты find. Общий синтаксис find:

find папка критерий действие

Например, мы хотим удалить файл linux по имени:

find . -type f -name «file» -exec rm -f <> \;

Будут найдены все файлы с именем file в текущей папке и для них вызвана команда rm -f. Можно не вызывать стороннюю утилиту, а использовать действие delete:

Читайте также:  Создать новую папку линукс

find . -type f -name «file» -delete

Удалить все файлы в текущей директории, соответствующие определенному регулярному выражению:

find . -regex ‘\./[a-f0-9\-]\.bak’ — delete

Или удалить файлы старше определенного строка, может быть полезно для удаления старых логов:

find /path/to/files* -mtime +5 -exec rm <> \;

Будет выполнено удаление файлов через терминал все файлы в папке старше 5-ти дней.

Чтобы полностью стереть файл, без возможности восстановления используйте команду shred. Во время удаления файлов с помощью утилиты rm удаляется только ссылка на файл, само же содержимой файла по-прежнему находиться на диске, пока система не перезапишет его новыми данными, а пока этого не случится файл можно легко восстановить. Принцип действия утилиты такой — после удаления файла, его место на диске несколько раз перезаписывается.

Опцией -n — можно указать количество перезаписей диска, по умолчанию используется 3. А если указать опцию -z программа при последней перезаписи запишет все нулями чтобы скрыть, уничтожение файла.

Выводы

Вот и все. Теперь вы знаете как удалить файл в Ubuntu, как видите, делать это не так уж сложно. Если у вас остались вопросы, пишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Как удалить файл в bash

Bash Heredoc

Л юбой файл можно удалить временно и навсегда в bash. Когда файл временно удаляется с помощью графического пользовательского интерфейса, он сохраняется в папке «Trash» и при необходимости может быть восстановлен. Файл, который был удален безвозвратно, не может быть восстановлен позже обычным образом. Команда rm используется для окончательного удаления файла с компьютера. Если какой-либо файл был случайно удален этой командой, его можно восстановить из резервной копии. В этой статье показано, как удалить любой файл из терминала и графический интерфейс пользователя.

Удаление файла с помощью команды `rm`:

Команда rm может использоваться с опцией и без опции для различных типов удаления. Синтаксис команды rm приведен ниже.

Синтаксис:

Параметр ‘-i’ может использоваться с командой rm для вывода подсказки перед удалением любого файла, чтобы предотвратить случайное удаление. Параметр ‘-f’ может использоваться с командой rm для принудительного удаления любого файла. Ниже показаны различные варианты использования команды rm.

Пример-1: Удаление файла с помощью команды `rm` без опции

#!/bin/bash # Установить имя файла filename = 'test.txt' # Создать пустой файл touch $filename # Проверить, существует ли файл, if [ -f $filename ]; then rm test.txt echo "$filename удален" fi

Пример-2: Удалите файл с помощью команды `rm` с параметром -i

Следующий сценарий запросит разрешение у пользователя перед удалением файла для параметра «-i». Здесь имя файла будет взято у пользователя в качестве ввода. Если файл существует и пользователь нажимает «n», то файл не будет удален, иначе файл будет удален.

#!/bin/bash # Считайте имя файла read -p 'Введите имя файла для удаления: ' filename # Проверьте, существует ли файл, if [ -f $filename ] ; then # Удалить файл с разрешением rm -i " $filename " # Проверить, удален ли файл, if [ -f $filename ] ; then echo " $filename не удаляется" else echo " $filename удален" fi else echo "Файл не существует" fi

Пример-3: Удалите файл с помощью команды `rm` с параметром -v

Следующий скрипт получит имя файла с помощью аргумента командной строки. Если файл существует, он напечатает сообщение об удалении с именем файла для параметра ‘-v’.

#!/bin/bash # Проверить, существует ли файл if [[ $1 != "" && -f $1 ]]; then # Вывести сообщение об удалении rm -v $1 else echo "Имя файла не указано или имя файла не существует" fi

Пример-4: Удалить несколько файлов с помощью команды `rm`

Более одного файла можно удалить, используя команду ‘rm’ и разделяя имена файлов пробелом. В следующем скрипте несколько имен файлов будут взяты из аргументов командной строки. Если какой-либо файл не существует, он покажет сообщение, иначе имена файлов будут объединены пробелом и сохранены в переменной с именем files. Затем будет выполнена команда rm с переменной files для удаления нескольких файлов.

#!/bin/bash files="" space="" # Проверить, указано ли несколько имен файлов, if [ $# > 2 ]; then # Чтение значений аргументов с использованием цикла for argval in "$@" do if [ -f $argval ]; then files+=$argval$space else echo "$argval не существует" fi done # Удалить файлы rm $files echo "файлы удалены." else echo "Имена файлов не указаны или имя файла не существует" fi

Заключение:

В приведенных выше примерах показаны различные типы способов удаления файла с помощью сценария bash, чтобы помочь пользователям bash легко выполнять этот тип задачи.

Читайте также:  Стандартный логин пароль кали линукс

Источник

How to delete a file in bash

Any file can be deleted temporarily and permanently in bash. When a file is removed temporarily by using a graphical user interface, then it is stored in the Trash folder, and it can be restored if required. The file which is removed permanently cannot be restored later normally. `rm` command is used to remove the file permanently from the computer. If any file is removed accidentally by this command, then it can be restored from the backup. How any file can be removed from the terminal and the graphical user interface are shown in this article.

Delete the file using `rm` command:

`rm` command can be used with option and without the option for the different types of delete. The syntax of the `rm` command is given below.

Syntax:

‘-i’ option can be used with `rm` command to provide a prompt before deleting any file to prevent accidental deletion. ‘-f’ option can be used with `rm` command to remove any file forcefully. The different uses of the `rm` command are shown below.

Example-1: Delete the file using `rm` command without the option

You can apply the ‘rm’ command to remove an existing file. In the following script, an empty file is created by using the ‘touch’ command to test ‘rm‘ command. Next, ‘rm’ command is used to remove the file, test.txt.

# Set the filename
filename = ‘test.txt’
# Create an empty file
touch $filename
# Check the file is exists or not
if [ -f $filename ] ; then
rm test.txt
echo » $filename is removed»
fi

Читайте также:  Canon linux printer drivers

Example-2: Delete the file using `rm` command with -i option

The following script will ask for permission from the user before removing the file for ‘-i’ option. Here, the filename will be taken from the user as input. If the file exists and the user press ‘n’ then the file will not remove otherwise the file will remove.

# Take the filename
read -p ‘Enter the filename to delete: ‘ filename

# Check the file is exists or not
if [ -f $filename ] ; then
# Remove the file with permission
rm -i » $filename »
# Check the file is removed or not
if [ -f $filename ] ; then
echo » $filename is not removed»
else
echo » $filename is removed»
fi
else
echo «File does not exist»
fi

Example-3: Delete the file using `rm` command with -v option

The following script will take the filename by a command-line argument. If the file exists then, it will print a remove message with the filename for ‘-v’ option.

# Check the file is exists or not
if [ [ $1 ! = «» && -f $1 ] ] ; then
# Print remove message
rm -v $1
else
echo «Filename is not provided or filename does not exist»
fi

Example-4: Delete multiple files using `rm` command

More than one file can be deleted by using ‘rm’ command and separating the filenames with space. In the following script, multiple filenames will be taken from the command line arguments. If any file does not exist, then it will show a message otherwise filenames will be combined by the space and stored into the variable named ‘files’. Next, the rm command will be executed with the ‘files’ variable to remove multiple files.

# Check the multiple filenames are given or not
if [ $# > 2 ] ; then
# Reading argument values using loop
for argval in «$@»
do
if [ -f $argval ] ; then
files+= $argval $space
else
echo » $argval does not exist»
fi
done

# Remove files
rm $files
echo «files are removed.»
else
echo «Filenames are not provided, or filename does not exist»
fi

Conclusion:

The above examples show the different types of ways to delete the file using a bash script to help bash users to do this type of task easily.

About the author

Fahmida Yesmin

I am a trainer of web programming courses. I like to write article or tutorial on various IT topics. I have a YouTube channel where many types of tutorials based on Ubuntu, Windows, Word, Excel, WordPress, Magento, Laravel etc. are published: Tutorials4u Help.

Источник

Оцените статью
Adblock
detector