问题
How to remove more than one directory using single command? Is it possible to do it in one liner? If yes, Please help on this.
/osmf/mgmt/scheduler>ls -lrt
total 22
drwx------ 2 root root 12288 Mar 26 2009 lost+found
drwxr-xr-x 4 ctmagent controlm 1024 May 24 2010 ctmagent
drwxrwxrwx 3 edwprod edw 1024 Dec 1 09:53 edi
drwxrwxrwx 120 edwprod edw 5120 Dec 27 09:37 edw
/osmf/mgmt/scheduler>
Can I delete edi
and edw
using a single command?
回答1:
rm -r edi edw
rm
can take an arbitrary number of arguments, and the -r
flag makes it delete directories recursively. Refer to man rm
for more details. And, BTW, read it, it would have avoided this question altogether.
回答2:
rmdir edi edw
if the directories are both empty, otherwise
rm -r edi edw
or
rm -r ed[iw]
回答3:
Specifically for your case:
rmdir -r ed[iw]
It basically removes any directory with the name of ed
followed by either i
or w
回答4:
rm -r ed*
-r means delete directories. ed* make match edi and edw. if there is another directory name start with ed,please be careful!
回答5:
rmdir ed*
if they are empty (shell will expand ed*
to match edi
and edw
, *
is a wildcard character meaning "any string of characters").
rm -r ed*
if they are not empty.
Neither of these commands will move your dirs to the trash bin so when using them always make sure that you don't need the dirs or their content.
来源:https://stackoverflow.com/questions/8655306/deleting-directories-using-single-liner-command