Linux命令行删除某个目录的所有文件
以下是关于删除目录内容而不是目录本身的快速 Linux 命令提示。
有时您需要删除目录中的所有文件。不是目录本身,而是目录的内容。您可以这样做来清理项目、释放空间或用于任何其他目的。
要清空目录,请使用以下命令:
rm -r path_to_dir/*
通配符在这里意味着一切。因此,您指示 rm 命令删除给定目录中的所有内容。
请注意,这与直接在目录名称上使用 rm 而不使用 /*
不同。如果您使用 rm -r dir ,它将删除该目录及其内容。这并不总是令人满意的。是吗?
让我们详细看看删除目录的所有内容。
正确删除目录中的所有文件
Linux 命令行没有回收站。删除文件时必须小心。如果您必须使用通配符删除多个文件,则必须格外小心。
这就是为什么我建议切换到要清空的目录,然后使用 rm 命令。这降低了意外删除错误目录内容的风险。
第1步:进入所需目录
使用cd命令切换到要清空的目录。
例如,我将删除 /home/abhishek/sample
目录中的所有内容。所以,我先切换到它。
cd /home/abhishek/sample
最好确保您位于当前目录中:
pwd
第 2 步:列出目录内容
您应该检查目录内容以确保没有删除任何重要文件。我建议也显示隐藏文件。
ls -al
如果有子目录,请确保其中没有重要的内容。
第三步:删除该目录下的所有文件和文件夹
一旦您确定目录中没有任何重要内容,就可以删除其中的内容了。
您可以像这样使用 rm 命令:
rm -r *
这是指示 rm 命令递归删除它在当前目录中看到的所有内容的一种方法。递归选项 -r
对于删除子目录至关重要。
有时,有写保护的文件,然后系统会要求您确认删除。为了避免这种情况,您可以包含强制删除选项 -f
。
rm -rf *
要仅删除隐藏文件,您可以另外运行以下命令:
rm -rf .*
结论
虽然删除目录的所有内容而不删除目录本身似乎是一件容易的工作,但如果存在隐藏的文件和文件夹,事情就会变得有点复杂。
在这些情况下,您必须在 rm -rf *
之后运行 rm -rf .*
。
我希望您喜欢这个快速的 Linux 命令行小技巧。如果您有疑问或建议,请告诉我。