Как удалить всё содержимое в папке, но саму папку оставить?
Как удалить всё файлы, папки, ссылки в папке, но саму папку оставить? У меня есть временная папка temp и в неё я кладу файлы, а после работы с ними я хотел бы удалить всё содержимое. У меня есть файлы типо .zshrc temp.txt и так же папки с дочерними подпапками и скрытыми каталогами типо .config и так же есть обычные файлы типо info.txt temp.php и т.п. А также есть файл в имене которых есть две точки типо ..12
Как очистить всё это из папки temp ??
Я уже пробовал команду sudo rm -rf /home/temp/.* /home/temp/* /home/temp/*.*
Но она не всегда срабатывает. Eсли в папке temp будет находится все типы перечисленных файлов тогда да, она сработает, но если же например только папка и всё, а остальных типов файлов не будет, то выдает это
Хотя папка с подпапками существует даже после выполнения команды. Если же отдельно вручную удалять по каждой папке и по каждому файлу, тогда всё нормально удаляется. Что я делаю не так?
Как удалить все файлы в папке Linux
Время от времени стоит чистить систему, чтобы она не засорялась ненужными данными. В случае с дистрибутивами Linux есть несколько способов удаления файлов, применимых в разных ситуациях.
Из данной статьи вы узнаете, как удалить все файлы в папке Ubuntu, в том числе скрытые и не скрытые. Заодно мы разберем важные нюансы данной процедуры, упомянув несколько способов чистки.
Как удалить все файлы в папке Linux
Многие действия в данной операционной системе удобно выполнять с помощью команд в терминале. Чистка содержимого папок тоже относится к их числу. Для начала предлагаем посмотреть полный список файлов в конкретном каталоге, на примере
/Downloads -maxdepth 1 -type f
Файлы, название которых начинается с точки, являются скрытыми. Остальные – не скрытые. Простая чистка не скрытых файлов внутри директории осуществляется такой командой:

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

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

Полная чистка директории со всеми вложенными файлами и папками (даже скрытыми) осуществляется другой командой:
Оцените статью
alt=»Creative Commons License» width=»» />
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
6 комментариев к “Как удалить все файлы в папке Linux”
АДМИНУ — Вопрос можно удалить. Тупо не разобрался в чём дело и сморозил. Мои извинения.
Спасибо за статью.
А как можно настроить, что при запуске команды «rm -rf » данные не удалялись напрямую, а складывались во временную папку или в корзину, как сделано в Windows? Чтобы я потом сам удалял из корзины, после того, как убедился что ничего не поломалось после удаления.
Осознаю, не панацея. Но если устроит, то создайте такой скрипт:
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.
Можно просто использовать 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.
Не буду даже пробовать такое. С самого начала следовало бы написать, насколько это безопасно и почему (и какие) файлы должны быть удалены из системы.
Как через cmd и терминал удалить из папки все файлы, кроме выбранных?

в linux bash есть инструмент указания файлов для параметров любых утилит, запускаемых.
например если написать myapp *.txt то в командную строку myapp улетит список txt фалов.
Конкретно по задаче, чтобы удалить все файлы исключая указанные, то можно использовать следующую запись:
rm -f !(file.txt|data.dat)
Для удаления файлов, размер которых больше определенного, можно использовать find (его вообще рекомендуется для многих задач использовать, например исключить каталоги из поиска можно с помощью директивы -not):
find . -type f -size +5M -exec rm -f <> +
upd. для windows cmd все грустнее, на столько издевательски неудобного языка еще поискать нужно, штатно утилит которые бы позволили искать файлы и запускать код по заданной команде на сколько я занаю нет, можно написать цикл for и уже в его теле делать проверки, если имя неравно такому то или размер не больше. можешь не помечать ответом, мне просто лень да и проверить негде уже
нужные команды if, for /? и set /? там будут исчерпывающие примеры
Как я могу удалить все файлы / подпапки в данной папке через командную строку?
Я хотел бы удалить все файлы и подпапки в пакетном файле в Windows 7 и сохранить верхнюю папку. В основном очистка папки. Какова инструкция командной строки для этого?
10 ответов 10
Вы можете сделать это, используя del и флаг /S (чтобы он удалил все файлы из всех подкаталогов):
Лучшее решение: например, я хочу удалить все файлы и подкаталоги родительского каталога, скажем «C:\Users\Desktop\New folder\». Самый простой способ — создать командный файл из трех команд.
Здесь сначала он очистит все файлы во всех подкаталогах, а затем очистит все пустые подкаталоги. Поскольку текущий рабочий каталог является родительским каталогом, т. Е. «\New folder», команда rmdir не может удалить этот каталог самостоятельно.