#1 楼
您可能将rm
别名为rm -i
,所以请尝试以下操作:评论
或者,使用命令rm ...或\ rm ...跳过别名/功能
–格伦·杰克曼
2011年10月12日20:26
有人认为将rm别名为rm -i是一个坏主意。缺省情况下,rm命令以静默方式删除命名文件。通过将其别名为rm -i,可以养成在按Enter之前不仔细检查的习惯,具体取决于交互式提示来保存您。然后,在没有别名的环境中键入rm some-important-file。
–基思·汤普森(Keith Thompson)
2011-10-12 21:25
@Keith的确是这样,我只将rm别名为rm -v
–小丑
2011年10月12日在21:33
如果“ rm”是一个函数(而不是别名),则此答案应该有效。 bash unset命令可能很有趣
– Xen2050
2015年2月25日14:15在
这不适用于删除100个以上的文件...
– ephephus
20/11/11在19:17
#2 楼
强制标志删除所有提示;rm -f {file}
评论
这是我在寻找的,而不是被接受的答案。
– gsamaras
15年12月14日在13:12
#3 楼
愿力量与您同在-rm -f
评论
我已经赞成lynks的答案,这是完全一样的。只是为了幽默感
–rain_
17年6月21日在9:59
我赞成评论和答案,因为有人实际上对SO感到幽默。
– Mac
19年4月18日在16:53
#4 楼
yes
程序反复对任何提示回答“是”。因此,您也可以将其通过管道传递到交互式rm
程序中,以获得所需的效果。 yes | rm <filename>
相反,如果您不想做交互式的事情,可以做
yes n | <something interactive>
,将在输入流上重复“ n”(有效回答问题)
评论
yes n选项对我不起作用。当我使用yes时| rm file.txt,即使该文件受到了正确的保护,它实际上也会删除该文件。
–iammilind
2015年12月8日在6:07
#5 楼
在外壳程序脚本中,您可能要使用rm -f <filename>
,但是您还可以通过在外壳程序(或配置文件)中输入-i
来消除环境的隐式unalias rm
选项。评论
unalias rm在CentOS中不起作用? Amazon Linux?
–防晒
19-10-21在20:42
#6 楼
如果您具有删除文件所需的权限,并且不想收到提示,请执行以下操作(-f = force):rm -f file
如果不这样做没有该文件的权限,则需要使用:
sudo rm -f file
评论
“删除常规文件?”提示暗示这不是权限问题。
–基思·汤普森(Keith Thompson)
2011-10-12 21:23
#7 楼
\rm file
反斜杠
\
绕开别名。评论
“ \”是反斜杠,您是什么意思?
– Cand3r
16年7月28日在12:32
是的,使用rm而不使用别名会导致不必要的带有\前缀的确认对话框。
– teknopaul
16年8月2日在9:46
#8 楼
除了使用-f
参数外,您也可以改用find
命令,例如find -name file.log -delete
#9 楼
当前,我正在一个系统上工作,其中bash shell在一个全局配置文件中将rm命令的定义作为函数接收: rm () { /bin/rm -i ${1+"$@"}; }
因此,没有以上关于别名的答案确实有效。为了消除烦人的行为,我在.bashrc文件中未设置rm函数。
但是,我没有找到任何提到
rm
被shell函数隐藏的可能性的答案。因此,我在此处添加了答案,希望对遇到相同类型问题的人有所帮助。 of /bin/rm
)。评论
那可能已经解决了您的问题,但无法回答问题。
–嫌疑犯
2015年2月25日在13:57
选定的答案-调用/ bin / rm是否有效?如果我在bash中有一个函数,并且在当前目录中有一个具有相同名称的可执行文件,只需在名称前添加./即可调用该文件,而不是函数。 PS-我在所选答案中添加了有关功能的注释,并且未设置
– Xen2050
2015年2月25日在14:12
是的,/ bin / rm有效。取消设置后,无需键入完整路径。
–daw
2015年2月25日在16:03
#10 楼
如果您的rm
别名为rm -i
,则请使用unalias rm
; 不要直接使用
rm -f
,除非您确实要删除很多写保护的文件。使用-f
肯定有一个很好的理由。但是,如果您有很多写保护文件,则可能更希望使用
rsync -r --delete empty/ removed_dir/
以获得更快的速度。#11 楼
我最喜欢的方法是在bash中使用command
命令,就像使用sudo
一样。这将在没有别名的情况下运行您的命令,就像通过/bin/rm
(可能是rm
别名为rm -i
)运行它一样。#12 楼
rm -Rf <folder-to-be-deleted>
-R:递归f:强制,无提示
评论
不就是不行。如果递归命令尚未使用...在某些情况下,这可能会使整个系统崩溃,例如新手尝试使用rm * /。*删除所有隐藏文件(一个示例)
–埃里克·塞巴斯塔(Eric Sebasta)
20-3-20在5:34
评论
rm -f,是| rm等,但这属于SU。rm不显示“删除常规文件?”默认提示。您必须将其别名为rm -i或定义为函数。我很惊讶别名在您的脚本中可见。您是执行脚本(./foo.sh)还是采购脚本(.foo.sh或源foo.sh)?