- 
                Notifications
    
You must be signed in to change notification settings  - Fork 2
 
Closed
Labels
linuxlinux 相关linux 相关
Milestone
Description
前言
用linux系统mac系统的人,对这个命令应该都很熟悉
# 小白请误尝试,出事概不负责
sudo rm -rf /这是一个删除磁盘所有文件的命令
多少人,在维护服务器的时候,试了试大佬口中常念到的优化服务器命令,然后就。。。 辞职了。。
这大概就是传说中删库跑路吧。
抛开这个不说,rm 其实是一个很常用的删除命令,但我有时候也会翻车,这个倒不是被什么大佬骗去扫什么垃圾,而是我经常要打 mv 命令的时候打成 rm,然后就。。。。
看一下这两个命令的意思
| 命令 | 英文全称 | 含义 | 
|---|---|---|
rm | 
remove | 
移除 | 
mv | 
move | 
移动 | 
是的,这两个单词就差了两个字母,但意思差了几个亿
有时候,想移动个文件,就想着,重新移动,remove,然后就打了 rm 下去,gg (re一般有重新的意思)
有的时候,是想着,重命名,rename,然后就打了 rm 下去,凉凉。
而我经常犯的,就是,第二种情况,想把 a 命名为 b 时,按下了 rm a b(这个命令是删除!!!),然后等到系统提示没有b时,我才发现,我已经gg了
你可能会说,怎么会打错,rename 简写也是 rn, 和rm不一样。
主要有这么几个原因
- rm 和 rn 太像了,而且name里面也有m,一瞬间打出来的东西,没有想太多
 - rm 打多了,太顺手了
 - move 字面上完全没有 rename 的意思,需要思考一下
 - 平时改名字都是在桌面环境下完成,很少在命令行用 move 来改名字
 
我觉得,避免这样的事发生,rm 命令在删除前怎么也得有个提示才对啊
正片
正片开始rm -i xxx加上参数 i, 可以在删除前做出提示,输入 y 才能执行删除操作
所以,只要 加个 alias ,让 rm 命令 等于 rm -i,就可以避免上述悲剧发生
打开 ~/.bashrc(如果你用zsh,则打开 ~/.zshrc) 在最后一行,加上
alias rm='rm -i'
然后输入 source ~/.bashrc,或重启,让修改生效
但在要注意,参数 f 能在除去有写保护的文件前不提示,两个参数同时使用时,以后面的参数为准
所以用rm -f,仍然不会有提示
Metadata
Metadata
Assignees
Labels
linuxlinux 相关linux 相关