如何使用终端从当前目录中删除所有文件?

alh*_*lal 47 command-line delete

我使用 Ubuntu 14.04 LTS。我试过了rm 'ls'rm rf但它们没有用。

Byt*_*der 59

使用rm *从指定目录范围内。该*是匹配的所有文件的通配符。

它不会删除其中的子目录或文件。如果您也想要,请rm -r *改用。

不过要小心!rm删除,它不会移动到垃圾箱!

为确保删除正确的文件,您可以使用交互模式,它会要求对每个文件进行确认 rm -i *

  • * 不匹配隐藏文件。您需要为这些显式引用`.*`。 (5认同)

mur*_*uru 14

rm *默认情况下,将删除名称不以.. 要从目录中删除所有文件和子目录,请启用 bashdotglob选项,以便*匹配以.以下开头的文件名:

shopt -s dotglob
rm -r *
Run Code Online (Sandbox Code Playgroud)

-r删除子目录及其内容也需要该标志。)

或使用find

find . -mindepth 1 -delete
# or
find . -mindepth 1 -exec rm -r -- {} +
Run Code Online (Sandbox Code Playgroud)

-mindepth 1选项是独自离开目录本身。

  • `rm -fr * .*` 也可以完成这项工作。`.*` 与 `..` 或 `.` 不匹配,以确保安全。 (2认同)