Answers:
您可能已经rm
别名了,rm -i
所以请尝试以下操作:
/bin/rm -f file.log
要查看别名,可以运行alias
。
command rm ...
或\rm ...
跳过别名/功能
rm
别名rm -i
是一个坏主意。rm
默认情况下,该命令将以静默方式删除命名文件。通过将其别名为rm -i
,您可以养成一种习惯,即在按Enter之前不仔细检查,这取决于保存您的交互式提示。然后,您输入rm some-important-file
没有别名的环境。
unset
命令可能很有趣
在Shell脚本中,您想使用它,rm -f <filename>
但是您也可以选择-i
通过输入unalias rm
Shell(或配置文件)来摆脱环境的隐式选项。
如果您具有删除文件所需的权限,并且不想被提示,请执行以下操作(-f =强制):
rm -f file
如果您没有该文件的权限,则需要使用:
sudo rm -f file
当前,我正在一个系统上工作,其中bash shell收到rm命令的定义作为全局配置文件之一中的函数:
rm () { /bin/rm -i ${1+"$@"}; }
因此,以上关于别名的答案都没有起作用。为了消除烦人的行为,我在.bashrc文件中未设置rm函数
unset -f rm
我和开瓶器有类似的问题。但是,我没有找到任何提及rm
壳功能隐藏的可能性的答案。因此,我在此处添加了答案,希望对遇到相同类型问题的人有所帮助。
键入内容/bin/rm
或rm -f
所有时间都不方便,并且可能会带来严重的后果(对于rm -f
)。
/bin/rm
吗?如果我在bash中有一个函数,并且在当前目录中有一个具有相同名称的可执行文件,只需./
在名称前面添加将调用该文件-而不是函数。PS-我在选定的答案中添加了有关功能的注释unset
/bin/rm
可以。进行unset
删除就无需键入完整路径。
我最喜欢的方法是command
在bash中使用command,就像使用一样sudo
。这将在没有别名的情况下运行您的命令,就像运行它一样/bin/rm
(可能rm
别名为rm -i
)。
例:
command rm -f /tmp/file.txt
rm -f
,yes | rm
依此类推,但这属于SU。