1. 在/home/username/ 目录下新建一个目录,命名为:.trash

2.. 在/home/username/tools/目录下,新建一个shell文件,命名为: remove.sh

#!/bin/bashPARA_CNT=$#
TRASH_DIR="/home/username/.trash"
for i in $*; do
STAMP=`date +%s`
fileName=`basename $i`
mv $i $TRASH_DIR/$fileName.$STAMP
done

3. 修改~/.bashrc, 增加一行 (如果是root用户,修改/etc/profile)

alias rm="sh /home/username/tools/remove.sh"

4. 设置crontab,定期清空垃圾箱,如:

crontab -e
  * * * rm -rf /home/username/.trash/*

5. source ~/.bashrc 使替换立即生效(root用户使用 source /etc/profile)

为了方便使用,将其制作成xshell的按钮

mkdir -p /home/username/.trash
mkdir -p /home/username/toolscat >> /home/username/remove.sh <<EOF#! /bin/bash PARA_CNT=$# TRASH_DIR="/home/username/.trash" for i in $*; do STAMP=`date +%s` fileName=`basename $i` mv $i $TRASH_DIR/$fileName.$STAMP done EOFecho "alias rm="sh /home/username/tools/remove.sh"" >> /etc/profilesource /etc/profile

EOF

linux替换rm命令,防止误删的更多相关文章

  1. Linux中rm命令详解

    linux下rm命令使用详解---linux删除文件或目录命令 用户可以用rm命令删除不需要的文件.该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除 ...

  2. Linux上使用trash回收机制来替换rm命令

    因为我们日常使用的rm 命令没有恢复机制,删除了文件就找不到了,往往重要的文件,我们要特别小心才对,但是有时还是避免不了我们的误操作.可能会造成很大的影响. 本博文简单介绍一下,用trash命令仿照W ...

  3. linux下rm命令修改,增加回收站功能【笔记】

    一个脚本,linux的用户根目录下.bashrc最后加入如下代码,可以修改rm命令,让人们rm时候不再会全部删除,而是会加入到回收站里,以下是根据别人的资料参考修改的,不是原创 加入后,需要sourc ...

  4. Linux将rm命令设置为回收站【转】

    一个方案就是重定向 rm 命令以嫁接为 mv 命令,相当于给 Linux 系统定制了一个回收站. 实现方式如下: ### 重定义rm命令 ### # 定义回收站目录 trash_path='~/.tr ...

  5. 【Linux】- rm命令

    Linux rm命令用于删除一个文件或者目录. 语法 rm [options] name... 参数: -i 删除前逐一询问确认. -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认. -r 将目 ...

  6. linux下rm命令删除文件名中包含特殊字符的文件【转】

    转自:http://blog.itpub.net/143526/viewspace-1060083/ 1. 删除带“-”的文件名的方法 2. 删除包含其它特殊字符的文件 3. 删除系统打不出的乱码文件 ...

  7. linux 重写rm命令

    重写rm命令 replease rm to trash   必须使用root编辑/etc/bashrc vim /etc/bashrc 在最后面增加如下脚本 saferm () { if [ ! -d ...

  8. Linux执行rm命令提示Argument list too long解决办法

    在Linux上删除文件时,执行命令报错,报错信息如下:node1:/u01/app/oracle/admin/testdb/adump>rm -f *.aud-bash:/bin/rm:Argu ...

  9. *Linux之rm命令

    自己瞅: [root@winner ~]# rm --help//rm-->remove用法:rm [选项]... 文件... 删除 (unlink) 文件. -f, --force 强制删除. ...

随机推荐

  1. java 异常处理try+catch

    在整个异常处理机制中,异常在系统中进行传递,传递到程序员认为合适的位置,就捕获到该异常,然后进行逻辑处理,使得项目不会因为出现异常而崩溃.为了捕获异常并对异常进行处理,使用的捕获异常以及处理的语法格式 ...

  2. SAP Smartforms打印输出条形码 及相关问题

    最近凭证打印需要附加打印条形码,遂做了一个小例子,结果还出现了很多的小问题,按领导的话说,这就是经验! 首先:SE73 -> 系统条形码 -> 更改 -> 创建 -> 选择 N ...

  3. CentOS 7虚拟机下设置固定IP详解

    说明 1.笔记本主机IP为设置自动获取,不管什么情况下,不受虚拟机影响,只要连接外网就可以正常上网: 2.只要笔记本主机可以正常访问外网,启动虚拟机中的CentOS 7系统就可以正常访问外网,无需再进 ...

  4. A - Max Sum Plus Plus (好题&&dp)

    A - Max Sum Plus Plus  I think you have got an AC in Ignatius.L's "Max Sum" problem. To be ...

  5. 解决MVC中textarea出现多余空格的问题

    public static MvcHtmlString FixedTextAreaFor<TModel, TProperty>(this HtmlHelper<TModel> ...

  6. size - 列出段节大小和总共大小

    总览 (SYNOPSIS) size [-A|-B|--format=compatibility] [--help] [-d|-o|-x|--radix=number] [--target=bfdna ...

  7. Ubuntu 16.04 修改状态栏位置

    修改状态栏位置: gsettings set com.canonical.Unity.Launcher launcher-position Bottom #底部(苹果风格) gsettings set ...

  8. js unshift()

    定义与用法 unshift()方法可像数组添加一个或多个元素 并返回新长度 语法 arrayObject.unshift(newElement1,newElement2,......,newEleme ...

  9. demo_service

    <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit ...

  10. 使用Ueditor点击上传图片时显示延迟的问题

    最近在做一个项目,需要用到Ueditor,但是在点击上传图片的时候,总是隔了4-5秒才显示文件框 查了一些资料,最后发现,只需在 修改:(1) dialog/images/image.js 把imag ...