HJT的博客

记录精彩的程序人生

目录
safe-rm替换系统的rm
/    

safe-rm替换系统的rm

rm -rf /是很危险的命令

使用safe-rm替换rm

safe-rm是一款基于linux自身rm命令的一个软件,安装后功能和rm相同,但是可以设置黑名单,将不能删除的目录加入黑名单,即使使用rm -rf命令也无法删除,有效防止了误操作

  1. 下载safe-rm软件
    wget https://launchpad.net/safe-rm/trunk/0.12/+download/safe-rm-0.12.tar.gz
    2.解压
    tar -zxvf safe-rm-0.12.tar.gz
    3.拷贝解压后文件中的safe-rm到/usr/local/bin/下
    cp safe-rm /usr/local/bin/
    4.配置环境变量/etc/profile
    vi /etc/profile ,最后一行增加一条:PATH=/usr/local/bin:$PATH
    刷新
    source /etc/profile
    5.创建受保护的配置文件/etc/safe-rm.conf
    vi /etc/safe-rm.conf,输入受保护的目录
    如:
/
/bin
/boot
/dev
/etc
/home
/initrd
/lib
/proc
/root
/sbin
/sys
/usr
/usr/bin
/usr/include
/usr/lib
/usr/local
/usr/local/bin
/usr/local/include
/usr/local/sbin
/usr/local/share
/usr/sbin
/usr/share
/usr/src
/var

比如/usr/local/1
6.测试
在/usr/local下创建名字为1的文件夹
rm -rf /usr/local/1,会获得提示
safe-rm: skipping 1/

创建回收站功能

使用现有代码完成

将文件移动到“垃圾桶”是一个好主意,当你无意中运行 rm 命令时,可以拯救你;但是很少有人会说这是一个坏习惯,如果你不注意“垃圾桶”,它可能会在一定的时间内被文件和文件夹堆积起来。在这种情况下,我建议你按照你的意愿去做一个定时任务。

这适用于服务器和桌面两种环境。 如果脚本检测到 GNOME 、KDE、Unity 或 LXDE 桌面环境(DE),则它将文件或文件夹安全地移动到默认垃圾箱 $HOME/.local/share/Trash/files,否则会在您的主目录中创建垃圾箱文件夹 $HOME/Trash。

saferm.sh 脚本托管在 Github 中,可以从仓库中克隆,也可以创建一个名为 saferm.sh 的文件并复制其上的代码。

$ git clone https://github.com/lagerspetz/linux-stuff

$ sudo mv linux-stuff/scripts/saferm.sh /bin

$ rm -Rf linux-stuff

在 .bashrc 文件中设置别名,

alias rm=saferm.sh

执行下面的命令使其生效,

$ source ~/.bashrc

一切就绪,现在你可以执行 rm 命令,自动将文件移动到”垃圾桶”,而不是永久删除它们。

测试一下,我们将删除一个名为 magi.txt 的文件,命令行明确的提醒了 Moving magi.txt to $HOME/.local/share/Trash/file。

$ rm -rf magi.txt

Moving magi.txt to /home/magi/.local/share/Trash/files


标题:safe-rm替换系统的rm
作者:HJTGit
地址:https://blog.huojt.top/articles/2019/08/29/1567065493520.html

评论