我正在使用Solaris。 我有几个以下名称的目录:
saa_first.data saa_second.data saa_third.data
我想删除这些目录及其内容,所以我使用:
rm -fr saa*
我得到的是以下问题:
rm: examine files in directory saa_first.data (yes/no)? n rm: examine files in directory saa_second.data (yes/no)? n rm: examine files in directory saa_third.data (yes/no)? n
我没有得到任何错误,但目录不被删除。 是什么赋予了?
这是我的Solaris信息:
$ cat /etc/release Solaris 10 10/08 s10s_u6wos_07b SPARC Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms. Assembled 27 October 2008
更新:
它在我使用以下命令之后起作用:
/usr/xpg4/bin/rm -fr saa*
但是我仍然对它为什么不能在/usr/bin/rm工作的解释感兴趣。
你很可能会发现你有rm别名rm -i 。 如果你已经回答了这个问题,那么你将被要求授权删除每个目录中的每个文件。
$ alias rm alias rm='rm -i' $ rm -r tmp1 rm: examine files in directory tmp1 (yes/no) y rm: remove tmp1/1 (yes/no) y rm: remove tmp1/2 (yes/no) y rm: remove tmp1: (yes/no) y
您可以使用unalias命令临时删除别名。 如果你想永久删除它,你将不得不在你的shell初始化文件中定义它的位置,并将其删除。 如果你使用了完整path/usr/bin/rm ,它将和/usr/xpg4/bin/rm
我认为这是由于文件没有被从这些目录中删除,因此目录不能被删除。
更多的控制方式是这样的
find . -name "saa*" -maxdepth 1 -exec rm {} \; find . -name "saa*" -maxdepth 1 -exec rmdir {} \;
这将确保它从这些目录中首先删除文件,然后一旦目录是空的,它将自己删除目录。
Solaris上没有-d选项吗? 在BSD上,我会'rm -dfr目录'。 检查你的手册页:-)