除了 rm 之外就没有其他更安全的删除文件的方法吗?比如遇到删除系统核心的目录直接报错,或者提示没有权限,或者给强提醒,或者给个后悔药啥的。

285 天前
 helphelp

最起码不像 rm -rf 一样,删除/的话 什么提示都没有

看了这两天的热帖,有两个都是因为 rm -rf 误删的,我自己之前说实话也执行过,想问一下有好的方法吗?

5599 次点击
所在节点    程序员
73 条回复
pengtdyd
285 天前
能问出这个问题,本身就是一个问题。
lbm008
285 天前
lindas
285 天前
我习惯先 ls 一下想删除的东西,然后再把 ls 改成 rm
james122333
285 天前
当然有 不过不讲
james122333
285 天前
@realpg

问题是这问题不是技术无解 人都不是机器 每次都是手动 要计算机都无用 整好了没错可犯自然比出事要好
rio
285 天前
主要还是操作系统发行版不给力,那么多靠谱的方案可以保护系统核心文件不受影响( macOS 下 `rm -rf` 就不会影响核心系统,Linux 原生的方案也有 btrfs snapshot 可以利用),但是没有人做 🤷
Ocean810975
285 天前
在 linux 下用 pwsh 确实不会出现这样的问题
msg7086
284 天前
要提示没有权限,可以用非特权用户。
要给提醒,可以不加 f ,可以用 zsh 。
要最佳实践,可以制定规则,可以写 checklist ,可以在执行危险操作之前双手离开键盘先思考 5 秒钟人生再按下回车。

危险操作,每个行业都有。做手术的,开飞机开火车的,做化工的,造大楼的,甚至是马路上开车的。运维又不是什么特殊岗位。看看别的行业怎么避免手滑的,怎么规范操作的,照搬一下就行了。

讲讲我自己的运维习惯。我所有的操作都是 root 账号下运行,因为我所有的操作都涉及到 root 权限,开非特权账号没有意义。首先是我用 zsh 并且把 IP ,主机名,当前目录放在提示符里,高亮分颜色显示,一眼就知道自己操作的是哪台机器,在哪个目录里操作。其次对于重要的生产机,我会在提示符里加上高亮闪烁的 PRODUCTION 字样,一眼就知道自己在操作危险环境。最后对于有副作用的操作,比如 rm ,比如升级软件包,比如重启机器等,按下回车之前脑子里先想一想自己在干什么,确认无误以后再按。

人犯错是无解的,再多的措施无法避免。但是这些措施可以把一月一遇、一年一遇的错误操作,变成十年一遇,百年一遇。航空业那么多飞机天天飞,事故也是无法避免的,但是现在的措施可以做到概率足够小,远比坐车甚至走路安全,那就行了。
rekord
284 天前
要不做个别名,将 rm 映射到 cp ,然后是不是就变成了回收站的效果。
huajingyu
284 天前
我使用 Windows ,经常使用 CMD 。( CMD 比文件资源管理器快。)
我很少使用 \ 和 . 目录,我删除文件和目录,会输入绝对路径,或是至少有一个文件名的相对路径。从来没有只删除 \ 或 . 的情况。
比如说我要删除 Folder 这整个文件夹,如果当前目录在这个文件夹中,我会先 CD .. 到上层文件夹,然后再输入 RMDIR /S Folder 去删除。
不过我很早以前,当前目录在用户文件夹的时候,不小心 DEL /S *.TXT 把用户文件夹下所有文本文件删了一部分,后来及时 ^C 给中断了。然后重装了一些软件。( AppData 是第一个被遍历的文件夹,所以一些配置文件被删除了。)
gpt5
284 天前
mv
THESDZ
284 天前
safe-rm
cslive
284 天前
上审计,高危命令需要授权确认
dadebucuo
284 天前
用 inode 精确删单个目录
cd /xxx
ll -i
find /xxx -maxdepth 1 -inum $inodeNo | xargs rm -rf
lisxour
284 天前
把 rm 换掉不就好了,系统层面基本无解,你从命令行删除文件,即使系统有回收站,大概率也只是提供给 GUI 用的,windows 也是一样,你在 cmd 删文件是不会跑到回收站的,回收站仅限于资源管理器删除。

1. 换成更安全的兼容替代品,比如 dry run 检测到正在删除根目录或者系统目录的东西,先提示一个大大的 warning
2. 把 rm 换成有备份的替代,基本就是 rm 换成了 mv
standchan
284 天前
别名、权限,linux 已经做的很多的,抵不上你糟糕的习惯!!!!
2NUT
284 天前
精细化权限控制 不要使用 root 权限
l502008310
284 天前
1 、不用-f
2 、删前备份
3 、禁/开头,要删哪些进入对应目录,总不至于你们把东西放在/目录下吧,规范上都不合理了。
xFrye
284 天前
有啊,删目录之前看看自己确认下要删什么东西不行么? sudo -rf 还不知道自己要删的哪个目录,只能找神仙来救救你了
qiyilai
284 天前
终于知道奇怪的功能特性和需求的来源了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/976664

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX