ubuntu环境下rm -rf误删除问题
来搜索这个问题的朋友们,大多是已经发生误删除动作了,笔者曾经 rm -rf ./* .没有敲进去,变成rm -rf /*,然后灾难发生了,是公司的软件代码服务器,结果自然不用我说了......
本文两个目的,一是事后补救,二是未雨绸缪
1.如何恢复
可以搜索 extundelete会有相关博文介绍
https://blog.51cto.com/plong/1743705
2.如何避免
首先,习惯,要删除当前目录下所有东西 ,请使用 rm -rf * ,千万别rm -rf ./*。再者就是工作及时提交到服务器。
然后,拿到一台新ubuntu电脑或者登录到unbuntu服务器上进行代码编辑编译等工作时,可进行如下动作保险:
a. 安装好extundelete,安装safe-rm,配置safe-rm config,把系统目录以及~/下.bashrc .vimrc等重要配置文件保护起来
b. 如果是服务器,给员工开辟账号,配置好权限,仅让账号读写自己的~/ 目录下的东西,其他一律禁止读写,有些员工有sudo权限,这条可能不能万无一失,看c
c.配置.bashrc 添加alias rm='safe-rm',使用safe-rm代替rm。
以上是使用safe-rm 代替rm,这样使得即使sudo也不能删除 safe-rm中配置不能删除的目录和文件
另外还可以在safe-rm的基础上来个脚本用来找回删除的文件:
写个脚本代替rm,脚本如下:
#!/bin/bash
d=`date +%Y%m%d%H%M`
read -p "Are you sure delete the file or directory $1? y|n:" c
if [ $c == "y" ] || [ $c == "Y"]
thenmkdir /-PATH-/.$drsync -aR $1/ /-PATH-/.$d/usr/local/bin/safe-rm -rf $1
elif [ $c == "n"] || [ $c == "N"]
thenexit 0
elseecho "Please input y or n"
fi
注意:脚本中-PATH-为一处可读写目录,最好位于~/目录外面。
将脚本保存为 rm.sh,放置到~/目录外面的新建的tools目录下,然后在.bashrc中添加alais rm='/absolute-path/rm.sh'
这样不仅删除有提示,即使删除了的文件和文件夹可以在/-PATH-/下面找回来
更加简单办法就是:
在设置好系统的关键目录的权限之后 使用 trash代替rm,这样所有删除的东西都放到垃圾箱里(我没用过)
ubuntu环境下rm -rf误删除问题相关推荐
- UBUNTU环境下编译的openwrt
UBUNTU环境下编译的openwrt 请执行这个命令以安装编译依赖包:sudo apt-get update 然后再输这个: sudo apt-get install gcc g++ binutil ...
- 如何抢救恢复 rm -rf 误删除的文件?
Linux中有一种可怕的误操作 -- rm -rf 误删除文件.对于数据库而言,如果误删除了数据文件,而数据库进程还没挂掉的话,可以尝试抢救一下.注意误rm后千万不要去重启数据库.对于其他文件,下面方 ...
- Ubuntu 环境下交叉编译运行正点原子的程序
Ubuntu 环境下交叉编译运行正点原子的程序 在校学生,求职过程中对方要求在Ubuntu环境下交叉编译stm32的程序,我觉得很有意思,因为之前就听说过可以在Linux环境下运行stm32的程序,因 ...
- Ubuntu环境下挂载新硬盘 --硬盘要挂载在某个文件夹下面
Ubuntu环境下挂载新硬盘 Ubuntu环境下挂载新硬盘 可以参考这两个教程,在挂载的时候,下面的代码报错 sudo mount -t ext4 /dev/sdb /devdata 原因是硬盘要挂载 ...
- linux鼠标触摸屏应用程序,在Ubuntu环境下实现插入鼠标自动关闭触摸板
本文将为你介绍在 Ubuntu 环境下也能实现插入鼠标自动关闭触摸板的功能. 如果你经常在笔记本上用鼠标,你就会对因为偶尔碰到触摸板而打断自己的操作而憋屈了.当你用外接鼠标的时候关闭触摸板就是一个很好 ...
- ubuntu环境下如何解决svn提交出现can‘t check path ‘/home/...‘
在ubuntu环境下用svn提交代码出现这个错误 can't check path '/home/...' 因为我们提交有限制 我一开始是这样写的 svn commit -m $ ' norevie ...
- linux 下 storm环境搭建,Storm在Ubuntu环境下的单机部署
Storm在Ubuntu环境下的单机部署 目录 查看Ubuntu 安装JDK 安装Pythod 安装Zookeeper 安装ZeroMQ 安装Jzmp 安装Storm 查看Ubuntu是32位还是64 ...
- 【转载】Ubuntu环境下配置Android Studio
之前学习Android开发的时候,一直跟各种教程一样,使用的是Eclipse+ADT,主要是比较方便,容易上手,特别是对于习惯用Eclipse开发java的朋友来说,上手更是好无压力.但毕竟Eclip ...
- ubuntu安装python环境_AirSim 无人驾驶教程(1)Airsim 在Ubuntu环境下的安装
AirSim 无人驾驶教程(1)Airsim 在Ubuntu环境下的安装 说实话我自己内心是不看好无人驾驶的短期普及的,但是通过对无人驾驶的研究可以实现对一些科学知识的掌握和探索.通过无人驾驶的仿真环 ...
最新文章
- 【CI3.1】CI框架简单使用方法
- NAR:UNITE真菌鉴定ITS数据库——处理未分类和并行分类(数据库文章阅读模板)
- Google AI与Deepmind强强联合,加速神经网络稀疏化进程
- MATLAB和Python读取wave文件的波形对比
- linux shell 日志环境变量 HISTFILESIZE 和 HISTSIZE的区别
- JavaScript实现职责链模式
- rman备份rman-00554 ,rman-04005错误
- Python中np.sum()对axis的个人理解,超详细
- 用VB无窗口透明Usercontrol编写透明浮动按钮
- C# mvc4.0 MD5测试
- OpenCV---圆检测
- faststone capture没声音
- matlab一键计算平均值与标准偏差
- day0学习开始,起于markdown
- iOS appicon 与 launchImage 尺寸一览
- 用python制作动态二维码印刷价格_用一行Python代码制作动态二维码
- 百度地图开发点连线形成路径
- 字符串数组(String []) 去掉重复值的方法
- Windows Server2008 R2搭建域环境(步骤最详细)
- 利用python实现短信和电话提醒功能