очистить директорию
какой командой очистить директорию, не удаляя саму директорию?
уточню- cd директория && sudo rm -rf
rm -rf /path/to/dir — удалит директорию вместе с содержимым
rm -rf /path/to/dir/* — удалит только содержимое
. без скрытых файлов и каталогов
Точно.
Тогда так:
rm -rf /path/to/dir/* ; rm -rf /path/to/dir/.[^.]*
Тогда уж можно свести все в одну команду )
Да. А еще можно так: shopt -s dotglob && rm -rf /path/to/dir/*
🙂
О, а я как лох пишу .[a-zA-Z0-9]* Меня несколько оправдывает то, что нужно мне это пару раз в год.
Это не удалит файлы с двумя точками (..file). Ну и незачем два раза вызывать: rm -rf /path/to/dir/* /path/to/dir/.[^.]* . *
Как удалить всё содержимое в папке, но саму папку оставить?
Как удалить всё файлы, папки, ссылки в папке, но саму папку оставить? У меня есть временная папка temp и в неё я кладу файлы, а после работы с ними я хотел бы удалить всё содержимое. У меня есть файлы типо .zshrc temp.txt и так же папки с дочерними подпапками и скрытыми каталогами типо .config и так же есть обычные файлы типо info.txt temp.php и т.п. А также есть файл в имене которых есть две точки типо ..12
Как очистить всё это из папки temp ??
Я уже пробовал команду sudo rm -rf /home/temp/.* /home/temp/* /home/temp/*.*
Но она не всегда срабатывает. Eсли в папке temp будет находится все типы перечисленных файлов тогда да, она сработает, но если же например только папка и всё, а остальных типов файлов не будет, то выдает это
Хотя папка с подпапками существует даже после выполнения команды. Если же отдельно вручную удалять по каждой папке и по каждому файлу, тогда всё нормально удаляется. Что я делаю не так?
How to delete a non-empty directory in Terminal?
Is there a command to delete all the files in the directory and delete the directory folder?
4 Answers 4
Use the below command :
It deletes all files and folders contained in the lampp directory.
In case user doesn’t have the permission to delete the folder:
Add sudo at the beginning of the command :
Otherwise, without sudo you will be returned permission denied. And it’s a good practice to try not to use -f while deleting a directory:
Note: this is assuming you are already on the same level of the folder you want to delete in terminal, if not:
FYI: you can use letters -f , -r , -v :
- -f = to ignore non-existent files, never prompt
- -r = to remove directories and their contents recursively
- -v = to explain what is being done
However, you need to be careful with a recursive command like this, as it’s easy to accidentally delete a lot more than you intended.
It is a good idea to always double-check which directory you’re in, and whether you typed the command correctly, before pressing Enter.
Safer version
Adding -i makes it a little safer, because it will prompt you on every deletion. However, if you are deleting many files this is not going to be very practical. Still, you can try this first.
Many people suggest using -f (combining it into -Rf or -rf ), claiming that it gets rid of annoying prompts. However, in normal cases you don’t need it, and using it suppresses some problems that you probably do want to know about. When you use it, you won’t be warned if your arguments supply a non-existing directory or file(s): rm will just silently fail to delete anything. As a general rule, try first without the -f : if there are problems with your arguments, then you’ll notice. If you start getting too many prompts about files without write access, then you can try it with -f . Alternatively, run the command from a user (or the superuser using sudo) that has full permissions to the files and directories you’re deleting to prevent these prompts in the first place.
Как удалить все файлы в папке 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.
Не буду даже пробовать такое. С самого начала следовало бы написать, насколько это безопасно и почему (и какие) файлы должны быть удалены из системы.