开发者社区 问答 正文

云服务器 ECS Linux 系统如何添加“回收站”


删除是危险系数很高的操作,一旦误删可能会造成难以估计的损失。在云服务器 ECS Linux 系统中这种危险尤为明显。比如,一条简单的语句:rm –rf /* 就会把整个系统全部删除,而 Linux 并不会因为这条语句的不合理而拒绝执行。
在 Windows 中,为了防止误删,系统默认提供了回收站功能。用户在执行删除操作后,文件并不会直接从硬盘中删除,而是被放到回收站中。在清空回收站前,如果发现有文件被误删,用户可以将回收站中的文件恢复到原来的位置。而 Linux 并没有提供类似功能,删除命令 rm 一旦确认执行,文件就会直接从系统中删除,很难恢复。

本文以 CentOS6.5 系统环境为例,给 Linux 创建一个简单的回收站功能。

1.  新建一个回收站目录。

2.  vim /bin/trash 编辑一个文件。

  1. mv $@ /tmp/trash_tmp
  2. :wq 保存退出



3. alias rm=/bin/bash 添加别名。
4. 在 /etc/bashrc 文件底部添加图中所示内容。

5.  source /etc/bashrc 启用环境变量。
6. 测试删除文件 a.txt,结果如图所示,执行 rm 命令后,发现 a.txt 文件已经被放到了最开始设置的回收站目录下了。
  

如果要真的删除某个文件的时候通过如下方式处理:
  1. /bin/rm -i <文件名>


如果问题还未能解决,您可以到阿里云社区进行 免费咨询,或联系 云市场商家寻求帮助。

展开
收起
boxti 2017-10-24 10:39:28 2608 分享
分享
版权
举报
阿里云 AI 助理回答

您描述的方法为Linux系统提供了一个简易的“回收站”功能,通过重定向rm命令来避免直接删除文件,而是将文件移动到一个特定的回收站目录中。这里我注意到您的步骤中存在一些小错误和不清晰的地方,让我为您澄清并提供一个修正后的步骤指南:

创建回收站目录

  1. 新建回收站目录
    mkdir -p /tmp/trash
    

创建trash脚本

  1. 编辑trash脚本: 首先,使用文本编辑器(如vim)创建或编辑一个脚本文件,用于实现“移动到回收站”的功能。

    vim /usr/local/bin/trash
    

    在打开的文件中输入以下内容:

    #!/bin/bash
    mv "$@" /tmp/trash/
    

    然后保存并退出(在vim中是:wq)。

  2. 赋予脚本执行权限

    chmod +x /usr/local/bin/trash
    

设置别名

  1. 设置rm命令的别名:为了安全起见,我们不直接替换rm命令,而是在用户配置文件中(如~/.bashrc或全局的/etc/bashrc对于所有用户)添加一个别名。这样可以避免影响系统的默认行为,并且对单个用户更加可控。 打开相应的配置文件(这里以个人用户为例):

    vim ~/.bashrc
    

    在文件末尾添加:

    alias rm='/usr/local/bin/trash'
    

    对于全局设置,编辑/etc/bashrc并加入相同内容,但请注意这会影响所有用户。

  2. 启用新的bash配置

    source ~/.bashrc
    

测试与真正删除

  1. 测试:现在尝试删除一个文件,它会被移到回收站。

    rm a.txt
    
  2. 真正删除文件:当需要永久删除文件时,可以直接使用完整路径调用原始的rm命令,或者使用-i参数进行确认删除。

    /bin/rm -i a.txt  # 这会提示你确认删除
    

请确保遵循这些步骤,并根据实际情况调整路径和配置文件。这个方法提供了一层额外的安全防护,但也要注意,定期清理回收站目录,以免占用过多存储空间。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答