Linux как очистить содержимое папки
Чтобы полностью удалить файл, используйте команду rm («remove»). Укажите имя удаляемого файла в качестве аргумента.
Чтобы удалить файл `notes’ в текущем рабочем каталоге, используйте:
Чтобы удалить каталог со всеми подкаталогами и файлами в нем, используйте опцию `-R’ («recursive»). Например, для удаления каталога `waste’ вместе с его содержимым, наберите:
$ rm -R waste [Enter]
Чтобы удалить пустой каталог, используйте команду rmdir; она удаляет каталог, указанный в качестве аргумента. Если Вы укажете каталог, в котором есть файлы или подкаталоги, rmdir сообщит об ошибке.
Чтобы удалить каталог `empty’, введите:
$ rmdir empty [Enter]
Alex Otwagin 2002-12-16
Как удалить всё содержимое в папке, но саму папку оставить?
Как удалить всё файлы, папки, ссылки в папке, но саму папку оставить? У меня есть временная папка temp и в неё я кладу файлы, а после работы с ними я хотел бы удалить всё содержимое. У меня есть файлы типо .zshrc temp.txt и так же папки с дочерними подпапками и скрытыми каталогами типо .config и так же есть обычные файлы типо info.txt temp.php и т.п. А также есть файл в имене которых есть две точки типо ..12 Как очистить всё это из папки temp ?? Я уже пробовал команду sudo rm -rf /home/temp/.* /home/temp/* /home/temp/*.* Но она не всегда срабатывает. Eсли в папке temp будет находится все типы перечисленных файлов тогда да, она сработает, но если же например только папка и всё, а остальных типов файлов не будет, то выдает это
no matches found: /home/temp/*.*
Хотя папка с подпапками существует даже после выполнения команды. Если же отдельно вручную удалять по каждой папке и по каждому файлу, тогда всё нормально удаляется. Что я делаю не так?
Отслеживать
задан 17 окт 2019 в 22:25
493 4 4 серебряных знака 17 17 бронзовых знаков
find /home/temp -delete
17 окт 2019 в 22:44
@AlexanderProkoshev тогда получится что и папка temp удалится, а мне нужно всё её содержимое удалить, а её оставить.
Как удалить все файлы в папке Linux
Время от времени стоит чистить систему, чтобы она не засорялась ненужными данными. В случае с дистрибутивами Linux есть несколько способов удаления файлов, применимых в разных ситуациях.
Из данной статьи вы узнаете, как удалить все файлы в папке Ubuntu, в том числе скрытые и не скрытые. Заодно мы разберем важные нюансы данной процедуры, упомянув несколько способов чистки.
Как удалить все файлы в папке Linux
Многие действия в данной операционной системе удобно выполнять с помощью команд в терминале. Чистка содержимого папок тоже относится к их числу. Для начала предлагаем посмотреть полный список файлов в конкретном каталоге, на примере ~/Downloads:
find ~/Downloads -maxdepth 1 -type f

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

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

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

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

Похожие записи
Оцените статью
(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 в графической оболочке ОС и вручную выделить или отсортировать файлы на удаление и затем стереть? На это уйдут секунды. Ответить
Как из командной строки удалить папку и все ее содержимое?
цитата с лурка:
-Ключ -r — recursively (рекурсивно) — позволяет удалять каталоги со всем содержимым, без этого ключа команда отвечает «каталог не пуст».
-Ключ -f — force — не спрашивать подтверждения (вообще команды Linux не страдают обычным маздаевским назойливым переспрашиванием «а Вы точно уверены?», это редкое исключение (и то, только потому, что почти всегда по умолчанию в .bashrc прописано alias rm=’rm -i’).