我正在使用 Solaris。我有几个具有以下名称的目录:
saa_first.data
saa_second.data
saa_third.data
Run Code Online (Sandbox Code Playgroud)
我想删除这些目录及其内容,所以我使用:
rm -fr saa*
Run Code Online (Sandbox Code Playgroud)
我得到的是以下问题:
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
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误,但目录没有被删除。是什么赋予了?
这是我的 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
Run Code Online (Sandbox Code Playgroud)
更新:
它在我使用以下命令后工作:
/usr/xpg4/bin/rm -fr saa*
Run Code Online (Sandbox Code Playgroud)
我仍然对为什么它不起作用的解释感兴趣/usr/bin/rm
。
您很可能会发现您已rm
别名为rm -i
. 如果您对这个问题的回答是 y,那么您将被要求授权删除每个目录中的每个文件。
$ 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
Run Code Online (Sandbox Code Playgroud)
您可以使用unalias
命令临时删除别名。如果要永久删除它,则必须在 shell 初始化文件中找到它的定义位置并将其删除。如果您使用完整路径/usr/bin/rm
,它将与/usr/xpg4/bin/rm