我有一个名为的目录outer
。
outer
包含一个名为的目录inner
(其中包含许多相同扩展名的文件)
我cd
来outer
。如何删除其中的所有文件,inner
但保留目录的inner
剩余空间(但为空)?
如果要删除目录的内容而不是目录本身,则只需告诉rm
您删除内容:
rm inner/*
这将删除其中的所有非隐藏文件,./inner
并保留目录不变。要删除任何子目录,请使用-r
:
rm -r inner/*
如果您还想删除隐藏文件,则可以执行以下操作(假设您正在使用bash):
shopt -s dotglob
rm -r inner/*
最后一条命令将删除中的所有文件和所有目录inner
,但inner
保持原样。
最后,注意你不需要cd
对outer
运行任何这些:
$ tree -a outer/
outer/
├── dir
└── inner
├── dir
├── file
└── .hidden
3 directories, 2 files
现在,我可以rm -r outer/inner/*
从当前目录运行,而无需运行该目录,cd outer
它将删除目录本身以外的所有内容:
$ shopt -s dotglob
$ rm -r outer/inner/*
$ tree -a outer/
outer/
├── dir
└── inner
2 directories, 0 files
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句