Unix命令删除目录中的所有文件,但保留目录
rm -i <directory>/*
这应该做的伎俩
编辑:添加-i以防万一(安全第一)。目录应该是一个完整或相对路径(例如/tmp/foo
或../trash/stuffs
)
您可以删除所有文件形成当前目录使用rm *
如果要从特定目录中删除,请输入rm /path/*
您可以使用rm -r /UrDir/*.*
这将忽略子目录
的文件这将帮助你,
rm path/*
如:
rm ../mydir/*
在此命令,如果mydir
有任何sub_directory!它会引发错误消息并跳过该子目录并删除主目录中的其余文件。
您可以使用find /path/to/your/folder/ -delete
删除该文件夹中的所有内容。
尽管通配符rm
会面对太多文件(“参数列表太长”),但无论有多少文件都可以使用。
你也可以把它删除的文件只,但保留所有子目录:
find /path/to/your/folder/ -type f -delete
你也可以指定任何其他标准find
支持限制“结果”。
这是保存目录结构的最佳答案。 – 2016-02-11 16:08:37
这是最接近正确的答案,因为其他建议的解决方案忽略隐藏文件(以'。'作为前缀)。但是,如果不指定'-mindepth 1','find'命令也会对命令行参数起作用。有了这个补充,解决方案是正确的。 – Parakleta 2017-12-12 05:09:51
如果您在目录要删除所有文件,然后下面的命令正常工作:如果你想删除所有文件以及所有目录,这意味着所有的东西,然后尝试
rm *
这个:
rm -rf *
有没有办法删除而不提供路径?从CD-D到你的目录? – BIOS 2012-07-11 09:56:35
当然,您可以随时cd到您的目录,然后执行“rm -i *”请注意,-i标志将强制确认每次删除,是否仅仅为了安全起见(如果您错误放置/在你的命令行中,你提供了一个-r标志......) – BigMike 2012-07-11 10:00:06
我正在使用rm -r *,但它要求对每个文件删除进行确认。要阻止这是rm -rf *是?试图从当前目录中删除全部。 – BIOS 2012-07-11 10:11:03