系统运维

保护重要数据:Linux下自定义rm命令,避免误删除

浅时光博客 · 10月10日 · 2023年 2.6w 次已读

一、场景描述

在日常工作中,我们经常会使用rm -rfrm -f命令来删除文件或目录。然而,有时候误操作可文章来源(Source):https://www.dqzboy.com能会导致重要数据的丧失,尤其是在处理敏感文件或重要项目时,这种情况更是不能忽视。

为了避免这类意外发生,我们可以通过自定义命令的方式,对rm命令进行增强。在执行删除操作前,系统将会提示用户确认操作,只有在用户明确确认后,才会继续执行删除操作,从而保护了重要数据的安全。

这篇文章将介绍如何在Linux系统中实现这样的自定义rm命令,以及如何应用这个功能来保护重要文件和目录。以便读者能够更好地利用这一功能,提升数据安全性。

二、操作步骤

在当前用户的 shell 配置文件(比如 ~/.bashrc)或者/etc/profile中创建一个名为 rm 的别名,并在别名中添加提示功能,以实现这个需求

~]# vim /root/.bashrc
alias rm='rm_prompt'

rm_prompt() {
    read -p "Are you sure you want to remove? [y/n] " choice
    if [ "$choice" == "y" ]; then
        /bin/rm "$@"
    fi
}

~]# source /root/.bashrc

现在我们创建一个文件,文章来源(Source):https://www.dqzboy.com然后执行rm查看效果

三、操作解析

当用户执行 rm 命令时,实际上会执行一个名为 rm_prompt 的函数,而不是系统自带的 rm 命令。

这个 rm_prompt 函数的作用是:

  1. 使用 read 命令提示用户输入是否要继续操作,用户可以输入 y(继续)或 n(取消)。
  2. 如果用户输入了 y,则会执行 /bin/rm "$@" 命令,也就是执行真正的 rm 命令,并传递了用户原本输入的参数(例如 -rf、-f 等)。
  3. 如果用户输入了 n 或其他字符,那么就不会执行删除操作,脚本直接结束。

这样做的好处是在执行删除操作之前,给用户一个确认的机会,避免了意外删除重要文件的情况发生。


本文作者:浅时光博客
原文链接:https://www.dqzboy.com/16068.html
版权声明:知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议进行许可,转载时请以>超链接形式标明文章原始出处和作者信息
免责声明:本站内容仅供个人学习与研究,严禁用于商业或非法目的。请在下载后24小时内删除相应内容。继续浏览或下载即表明您接受上述条件,任何后果由用户自行承担。

1 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!

  1. EricQ2023-10-23 · 9:36

    感谢分享,学习学习一下