在 Linux 系统中,如果你想删除当前目录中的所有文件(仅删除文件,而不包括子目录及其内容),可以使用以下命令之一:
1. 对于普通文件(推荐方法,安全):
你可以结合 `type f`(指定仅处理文件类型)和 `delete` (用于删除找到的目标)两个选项来安全删除当前目录里的所有文件,而不伤害任何目录或链接文件。如下:
bash
find . maxdepth 1 type f delete
或者,如果你不想在命令输出中有警告提示信息或希望看到更多控制过程的信息,可以用:
bash
find . maxdepth 1 type f exec rm {} +
`{}` 被执行时会被实际文件列表所替代,这避免了一次执行一个文件的繁琐过程;而`+`符号让`exec`参数知道我们正给一个命令添加更多的文件参数,直至命令完成所有需要的处理。
如果你确定只想对当前直接位于该文件夹内的那些对象采取行动而不进入其潜在存在的子目录, `maxdepth 1` 会非常有用。
请注意,直接删除文件不会移回收纸站/回收桶。一旦执行删除命令且未及时采取行动来撤销删除(如恢复文件或从磁盘中提取),通常文件就会永久失去。
重要: 以上命令仅作用于第一层的直接文件;如果想清理所有层级中的非目录对象,请省略`maxdepth`选项。
风险:
`delete` 和类似的命令行操作具有潜在破坏性。它们可以快速无回退地删除大量数据。
使用任何涉及删除的动作前,请确保备份了重要信息或理解了这些动作的确切影响。
错误地输入目录或命令部分可能导致不可预料的结果。务必谨慎行事。
因此,建议先通过下面这样的命令预览要被删除的项目来检查操作的影响:
bash
find . maxdepth 1 type f
这只会显示当前路径(`.`) 下的第一级的所有文件。
发表评论