前天 敲命令的时候 敲的玩我 一部小心敲了 sudo rm -rf / 并且按了回车 过了几秒才反映过来 不过已经玩了 mac上一些应用已经被删除了 没做备份 只好花了一天时间重新安装。
那么问题来了,如何禁止执行 上面的命令 或者给个提示也行
然后在问个问题,TimeMachine做备份 是不是要整个移动硬盘 做备份。我运行它的时候 老报没有Airport找不到 。
各位看管 有什么经验?
前天 敲命令的时候 敲的玩我 一部小心敲了 sudo rm -rf / 并且按了回车 过了几秒才反映过来 不过已经玩了 mac上一些应用已经被删除了 没做备份 只好花了一天时间重新安装。
那么问题来了,如何禁止执行 上面的命令 或者给个提示也行
然后在问个问题,TimeMachine做备份 是不是要整个移动硬盘 做备份。我运行它的时候 老报没有Airport找不到 。
各位看管 有什么经验?
建议:先执行rm -f /bin/rm
====
实际上,最大的经验是,多按tab。
例如:按完rm -rf /,习惯性按两下tab,就能惊出一身汗。
再例如,rm -rf /usr,习惯性想补全/lib/bumblebee,按两下tab,又吓尿了
本来 rm 就默认开启了 --preserve-root
这个选项,除非手动指定 --no-preserve-root
否则是没法运行 rm /
的。当然,似乎 OS X 的 mv 没有这个功能。
在~下 .bashrc或者.bash_profile加入
mkdir -p ~/.trash
alias rm=trash
alias r=trash
alias rl='ls ~/.trash'
alias ur=undelfile
undelfile()
{
mv -i ~/.trash/$@ ./
}
trash()
{
mv $@ ~/.trash/
}
这是执行rm
就相当于执行mv
了
注:此时已经木有rm -rf
了
删除的文件会在.trash中出现
可以恢复回去ur filename
这就带来一个问题,如何删除回收站里的东西,这是后rm
在这里是木有用的
如果是debian和ubuntu,安装
apt-get install trash-cli
~/.bashrc加入alias r='trash'
尽量使用r,找回文件可去文件管理器或者运行命令restore-trash
深有体会,曾经执行了sudo rm -rf /etc ,然后就哭了。
于是我就写了个python脚本。
import os
os.system("sudo rm -rf XXXXX")
每次要执行rm -rf 命令之前都写到这个脚本里面,打开和关闭脚本的时候都是提醒我检查这个命令。如果重复使用就执行这个脚本,然后就没出过错了
3 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
1 回答1.3k 阅读
1.1k 阅读
2 回答523 阅读
1k 阅读
1、 不要用rm,mac的话
brew install rmtrash
然后用rmtrash替代rm(移动到废纸篓)
少数必须要用rm的情况,再三检查你的命令
2、 不要用sudo或root用户,必须要用的时候,再三检查你的命令
3、 sudo而且rm的时候,打完命令,检查完以后,去上个厕所回来再检查一遍再执行
4、 千万不要用alias或任何手段来改变rm命令的行为,千万不要用alias或任何手段来改变rm命令的行为。这很重要,因为用命令行就是为了习惯和了解服务器维护的知识经验,服务器上是不会有同样的alias的。养成慎用rm 慎用sudo 检查命令的好习惯才是正道。否则剧本就是你先
rm rf /
了自己,苦恼了半小时找了个alias或别的脚本之类的,几个月以后,登到生产环境欢乐地rm rf /
了服务器,或者是rm rf /usr /local/xxx
日常使用的话参考前面,用rmtrash之类的替代命令就好
最后关于TimeMachine,我用的是老台式机的整块旧硬盘,不方便的话,给硬盘单独一个分区也可以,自己google怎么做