Как удалить каталог с файлами в linux
Перейти к содержимому

Как удалить каталог с файлами в linux

  • автор:

Команда Rm в Linux

rm — это утилита командной строки для удаления файлов и каталогов. Это одна из основных команд, с которой должен быть знаком каждый пользователь Linux.

В этом руководстве мы объясним, как использовать команду rm на примерах и объяснениях наиболее распространенных параметров rm .

Как использовать команду rm

Общий синтаксис команды rm (remove) следующий:

rm [OPTIONS]. FILE. 

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

Чтобы удалить один файл, используйте команду rm за которой следует имя файла в качестве аргумента:

rm filename

Если у вас нет прав на запись в родительский каталог, вы получите ошибку «Операция запрещена».

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

При удалении файлов, защищенных от записи, команда запросит подтверждение, как показано ниже:

rm: remove write-protected regular empty file 'filename'? 

Введите y и нажмите Enter чтобы удалить файл.

Параметр -f указывает rm никогда не запрашивать пользователя и игнорировать несуществующие файлы и аргументы.

rm -f filename

Если вы хотите получить информацию о том, что удаляется, используйте параметр -v (подробный):

rm -v filename
removed 'filename' 

Удаление нескольких файлов

В отличие от команды unlink , rm позволяет удалить сразу несколько файлов. Для этого передайте имена файлов в качестве аргументов, разделенных пробелом:

rm filename1 filename2 filename3

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

rm *.png

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

Удаление каталогов (папок)

Чтобы удалить один или несколько пустых каталогов, используйте параметр -d :

rm -d dirname

rm -d функционально идентична команде rmdir .

Чтобы рекурсивно удалить непустые каталоги и все файлы в них, используйте параметр -r (рекурсивный):

rm -r dirname

Запрашивать перед удалением

Параметр -i указывает rm запрашивать пользователя для каждого заданного файла перед его удалением:

rm -i filename1 filename2

Для подтверждения введите y и нажмите Enter :

rm: remove regular empty file 'filename1'? rm: remove regular empty file 'filename2'? 

При удалении более трех файлов или рекурсивном удалении каталога, чтобы получить одно приглашение для всей операции, используйте параметр -I :

rm -i filename1 filename2 filename3 filename4

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

rm: remove 4 arguments? 

rm -rf

Если данный каталог или файл в каталоге защищен от записи, команда rm предложит вам подтвердить операцию. Чтобы удалить каталог без запроса, используйте параметр -f :

rm -rf dirname

Команда rm -rf очень опасна и должна использоваться с особой осторожностью!

Выводы

Мы показали вам, как использовать команду Linux rm для удаления файлов и каталогов из вашей системы Linux.

Будьте предельно осторожны при удалении важных файлов или каталогов, поскольку после удаления файла его будет нелегко восстановить.

Как удалить каталог с файлами в linux


Next: Присвоение файлу нескольких имен Up: Работа с файлами Previous: Перемещение файлов и каталогов Contents Index

Чтобы полностью удалить файл, используйте команду rm («remove»). Укажите имя удаляемого файла в качестве аргумента.

Чтобы удалить файл `notes’ в текущем рабочем каталоге, используйте:

Чтобы удалить каталог со всеми подкаталогами и файлами в нем, используйте опцию `-R’ («recursive»). Например, для удаления каталога `waste’ вместе с его содержимым, наберите:

$ rm -R waste [Enter]

Чтобы удалить пустой каталог, используйте команду rmdir; она удаляет каталог, указанный в качестве аргумента. Если Вы укажете каталог, в котором есть файлы или подкаталоги, rmdir сообщит об ошибке.

Чтобы удалить каталог `empty’, введите:

$ rmdir empty [Enter]

Alex Otwagin 2002-12-16

Команды Linux для работы с файлами

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

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

  • ls — список файлов в директории;
  • cd — переход между директориями;
  • rm — удалить файл;
  • rmdir — удалить папку;
  • mv — переместить файл;
  • cp — скопировать файл;
  • mkdir — создать папку;
  • ln — создать ссылку;
  • chmod — изменить права файла;
  • touch — создать пустой файл.

А теперь перейдем к подробному рассмотрению всех этих команд.

1. ls — просмотр содержимого папки

Команда ls позволяет вывести список файлов заданной папки, по умолчанию, будет выведен список файлов текущей папки:

Вы можете вывести список файлов из всех подкаталогов рекурсивно, для этого используйте опцию -R:

Чтобы вывести список файлов нужной папки, вы можете передать ее адрес утилите, например, /home:

Чтобы получить больше информации и вывести все имена файлов в виде списка используйте опцию -l:

2. cd — изменить папку

Команда cd позволяет изменить текущую папку на другую. По умолчанию, текущей считается домашняя папка, например, cd Desktop меняет папку на рабочий стол, если вы выполните ее из домашнего каталога:

Вы также можете указать полный путь к папке:

Команда cd .. переходит в папку, которая находится выше на одну в файловой системе:

Вы также можете вернуться в предыдущую рабочую папку:

3. rm — удалить файлы

Команда rm позволяет удалить файл. Будьте очень осторожны с ней, она не будет спрашивать подтверждения:

Например, rm file удалит файл с именем file, который находится в текущей папке. Как и в предыдущих вариантах, вы можете указать полный путь к файлу linux. Например:

Если вы хотите удалить папку, то нужно использовать опцию -r. Она включает рекурсивное удаление всех файлов и папок на всех уровнях вложенности:

rm -r /home/user/photo/

Будьте осторожны, потому что эта команда удаляет файлы безвозвратно.

4. rmdir — удалить папку

Команда rmdir позволяет удалить пустую папку. Например, команда rmdir directory удалит папку directory, которая находится в текущей папке:

Если вам нужно удалить папку с файлами, то нужно использовать утилиту rm вместе с опцией -r.

5. mv — перемещение файлов

Команда mv перемещает файл в новое место. Она также может использоваться для переименования файлов. Например, mv file newfile переименует файл file в newfile:

mv file newfile

Чтобы переместить файл в другую папку нужно указать путь к ней, например, переместим файл file в папку /home/user/tmp/

mv file /home/user/tmp/

6. cp — копирование файлов

Эта cp и mv — это похожие команды linux для работы с файлами. Они работают аналогичным образом, только исходный файл остается на своем месте.

cp file newfile

Вы также можете рекурсивно скопировать всю папку с помощью команды cp -r. Эта команда скопирует всю папку вместе со всеми файлами и вложенными папками в новое место. Например, скопируем папку /etc/:

cp -r /etc /etc_back

7. mkdir — создать папку

Команда mkdir позволяет создать новую папку mkdir test создаст папку в текущем каталоге:

Если нужно создать папку в другом каталоге, укажите полный путь к нему:

8. ln — создание ссылок

Утилита ln позволяет создавать жесткие и символические ссылки на файлы или папки. Для создания символической ссылки используется опция -s. Например, мы создадим ссылку на папку с загрузками:

ln -s /home/user/Downloads/ /home/user/test/

Для создания жесткой ссылки никаких опций задавать не нужно:

ln /home/user/Downloads/ /home/user/test/

9. chmod — изменить права

chmod позволяет изменить права доступа к файлам. Например, chmod +x script.sh добавляет флаг исполняемости к файлу script.sh:

chmod +x script.sh

Чтобы убрать флаг исполняемый используйте опцию -x:

chmod -x script.sh

Подробнее о том, как работают разрешения для файлов смотрите в статье права доступа к файлам в Linux.

10. touch — создать файл

Команда touch создает пустой файл. Например, touch file создаст пустой файл в текущей папке с именем file:

Для создания файлов через терминал существует еще несколько команд, они рассмотрены в статье как создать файл в linux.

11. mc

Работа с файлами Linux через терминал может выполняться не только с помощью обычных консольных команд, каждая из которых выполняет только определенное действие. Вы можете использовать полнофункциональный файловый менеджер с псевдографическим интерфейсом на основе ncurses. Midnight Commander — это файловый менеджер, который можно использовать прямо в терминале. Для установки mc в Ubuntu выполните:

sudo apt install mc

После завершения установки достаточно выполнить команду mc:

Используйте клавиши со стрелками для перемещения по файлам, Tab для перехода на другую панель, Alt+1 для просмотра справки и Alt+2 для вывода меню:

Если терминальное окружение поддерживает мышь, то вы можете ее использовать в Midnight Commander.

Выводы

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

Как удалить все файлы в папке Linux

Время от времени стоит чистить систему, чтобы она не засорялась ненужными данными. В случае с дистрибутивами Linux есть несколько способов удаления файлов, применимых в разных ситуациях.

Из данной статьи вы узнаете, как удалить все файлы в папке Ubuntu, в том числе скрытые и не скрытые. Заодно мы разберем важные нюансы данной процедуры, упомянув несколько способов чистки.

Как удалить все файлы в папке Linux

Многие действия в данной операционной системе удобно выполнять с помощью команд в терминале. Чистка содержимого папок тоже относится к их числу. Для начала предлагаем посмотреть полный список файлов в конкретном каталоге, на примере ~/Downloads:

find ~/Downloads -maxdepth 1 -type f

WDS53SE3p2fPeNb3+f64hJQU5y2WzAAAAAElFTkSuQmCC

Файлы, название которых начинается с точки, являются скрытыми. Остальные – не скрытые. Простая чистка не скрытых файлов внутри директории осуществляется такой командой:

KzQAAAABJRU5ErkJggg==

Чтобы стереть все файлы, даже скрытые, выполните эту команду:

p7ceCC3TODQAAAABJRU5ErkJggg==

Для просмотра всех файлов и каталогов в выбранном местоположении, в том числе и скрытых, подойдет команда find без параметров. Например:

Pxc+PyGgnnu4AAAAAElFTkSuQmCC

Полная чистка директории со всеми вложенными файлами и папками (даже скрытыми) осуществляется другой командой:

rm -rf ~/Downloads/

bPfrTNdgvYyWXLIJT7ROQRcd0vynn7xbE0wkYbx3WMHC+3I807hUBWG74s199RG0PVHGDNwVZbGbLaAsLqq+13lP8Pq5g85P3Um+gAAAAASUVORK5CYII extapp-feedback-container

Похожие записи

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

(13 оценок, среднее: 4,15 из 5)

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

7 комментариев к “Как удалить все файлы в папке Linux”

АДМИНУ — Вопрос можно удалить. Тупо не разобрался в чём дело и сморозил. Мои извинения. Ответить

Спасибо за статью. А как можно настроить, что при запуске команды «rm -rf » данные не удалялись напрямую, а складывались во временную папку или в корзину, как сделано в Windows? Чтобы я потом сам удалял из корзины, после того, как убедился что ничего не поломалось после удаления. Ответить

Осознаю, не панацея. Но если устроит, то создайте такой скрипт: #!/usr/bin/bash TRASH=»/home/$USER/.trash/» if [ ! -d $TRASH ] ; then
# echo $TRASH
mkdir -p $TRASH
fi for file in $*
do
if [ -f $file ] ; then
# echo $file
mv $file $TRASH
fi
done Назовите его rm и поместите в директорий, в котором находятся Ваши личные запускаемые файлы и скрипты. У меня Debian/MATE. Такой директорий находится в домашнем директории и называется bin. Кроме того, путь к этому поддиректорию у меня задаётся в файле .bashrc. И этот путь размещён раньше пути к директорию /usr/bin/, где находится сстемная утилита rm. Таким образом при выполнении команды rm будет «срабатывать» Ваш скрип, а не системная утилита. И да! После создания скрипта не забудьте сделать его исполняемым — chmod +x. В скрипте я оставил пару команд echo. Это на тот случай, если Вам захочется с ним поиграться. Просто закомментируйте команды mkdir и mv и удалите комментарий у рядом стоящих команд echo. Ответить

Посмотри на https://github.com/nivekuil/rip Ответить

Можно просто использовать gio trash: Usage:
gio trash [OPTION…] [LOCATION…] Move/Restore files or directories to the trash. Options:
-f, —force Ignore nonexistent files, never prompt
—empty Empty the trash
—list List files in the trash with their original locations
—restore Restore a file from trash to its original location (possibly recreating the directory) Note: for —restore switch, if the original location of the trashed file
already exists, it will not be overwritten unless —force is set. Ответить

Не буду даже пробовать такое. С самого начала следовало бы написать, насколько это безопасно и почему (и какие) файлы должны быть удалены из системы. Ответить

А не проще зайти в папку Downloads в графической оболочке ОС и вручную выделить или отсортировать файлы на удаление и затем стереть? На это уйдут секунды. Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *