Время от времени стоит чистить систему, чтобы она не засорялась ненужными данными. В случае с дистрибутивами Linux есть несколько способов удаления файлов, применимых в разных ситуациях.
Из данной статьи вы узнаете, как удалить все файлы в папке Ubuntu, в том числе скрытые и не скрытые. Заодно мы разберем важные нюансы данной процедуры, упомянув несколько способов чистки.
Как удалить все файлы в папке Linux
Многие действия в данной операционной системе удобно выполнять с помощью команд в терминале. Чистка содержимого папок тоже относится к их числу. Для начала предлагаем посмотреть полный список файлов в конкретном каталоге, на примере ~/Downloads:
find ~/Downloads -maxdepth 1 -type f
Файлы, название которых начинается с точки, являются скрытыми. Остальные – не скрытые. Простая чистка не скрытых файлов внутри директории осуществляется такой командой:
rm -f ~/Downloads/*
Для удаления только скрытых файлов подход несколько иной:
rm -f ~/Downloads/.*
Чтобы стереть все файлы, даже скрытые, выполните эту команду:
rm -f ~/Downloads/{*,.*}
Для просмотра всех файлов и каталогов в выбранном местоположении, в том числе и скрытых, подойдет команда find без параметров. Например:
find ~/Downloads
Полная чистка директории со всеми вложенными файлами и папками (даже скрытыми) осуществляется другой командой:
rm -rf ~/Downloads/{*,.*}
Это были основные команды, которые могут пригодиться при чистке определенных директорий через терминал.
Выводы
Теперь вы знаете как удалить все файлы в папке 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 в графической оболочке ОС и вручную выделить или отсортировать файлы на удаление и затем стереть? На это уйдут секунды.