我使用的是Ubuntu 14.04 LTS。我尝试了
rm 'ls'
,rm rf
,但它们都没有起作用。在特定目录中使用rm *
命令。 *
是一个通配符,匹配所有文件。
它不会删除子目录或其中的文件。如果你也想删除它们,请使用rm -r *
。
但要小心!rm
是删除操作,而不是移动到回收站!
为确保删除正确的文件,您可以使用交互模式,并且它将在每个文件上询问确认:rm -i *
rm -r * .*
。 - Artur Müller Romanovrm *
默认情况下会删除所有文件名不以.
开头的文件。要从目录中删除所有文件和子目录,请启用bash dotglob
选项,使*
匹配以.
开头的文件名:
shopt -s dotglob
rm -r *
-r
标志来删除子目录及其内容。)find
命令:find . -mindepth 1 -delete
# or
find . -mindepth 1 -exec rm -r -- {} +
-mindepth 1
选项是为了保留目录本身。
rm -fr * .*
同样可以完成任务。为了安全起见,.*
不匹配 ..
或 .
。 - Artem Russakovskii..
的引用:rm -rf * .[^.]*
,但是这仍然会忽略以两个或更多点开头的不寻常的文件名,比如..foobar
。 - eel ghEEz.
和..
,但sh
会包括它们。但是,今天我才知道bash不会排除它们。 - keithpjolley
rm ./*
如果要删除文件和文件夹内的所有内容,请使用rm -R ./*
。如果您不想收到提示信息,请始终使用-f
参数。 - Techjail