避免rm的巨大伤害,使删除的东西在回收站

1.原因:

今天测试时不小心把家目录里的好多东西删掉了,辛亏有备份,写好的好多脚本才没有丢

本来定义的有别名

    alias rm="mv -t /app/tmp"        
       -t :调换 源 和 目的 的参数位置

可是在脚本里执行的rm 不支持别名,就删错了

2.思路:

1. 写一个脚本,名字是 rm ,把路径放在PATH的最前面

把 /app/tmp 当作是回收站

2. 删除 alias rm=“rm -i”

3.过程

1. 脚本

#!/bin/bash
# ------------------------------------------
# Filename: rm   
# Date:    2017-09-15    
# Revision:   
# Author: 木子甘
# stdentID:16    
# Description: 避免rm的巨大伤害,使删除的东西在回收站 
# ------------------------------------------
#检查有没有参数
f_args (){
        [ $# -eq 0 ] &&{ echo "missing operand" ; return 1; } || return 0 
}
#检查文件是否存在
f_arg (){
        [ -e $1 ] ||{ echo "cannot remove ‘b.sh’: No such file or directory"; return 1; }
}
#mv
f_rm (){
        mv -t /app/tmp $1
}
#主程序
f_args [email protected] 
[ $? -ne 0 ] &&exit 1
while [ $# -ne 0 ] ; do
        f_arg $1 
        [ $? -ne 0 ] &&{ shift; continue; }
        f_rm $1
        [ $? -ne 0 ] &&{ shift; continue; }
        shift
done

2.    修改PATH变量

在/etc/profile.d/newvar.sh 里面写上

PATH=$HOME/bin:$PATH

4.测试

1.

[[email protected] ~/bin]# vim test.sh
#!/bin/bash
which rm
bash -x rm /app/tmp/a.sh

结果是:

2.命令行测试

[[email protected] ~/bin]# which rm
/root/bin/rm

成功!!!

时间: 2024-10-28 15:42:14

避免rm的巨大伤害,使删除的东西在回收站的相关文章

ubuntu 修该rm命令使删除文件到回收站

ubuntu下删除文件到回收站 相信有不少同学和我一样,有因习惯了rm命令,好几次一不小心冲动就删除重要文件的惨痛经历! 目标:将删除成功的文件会放入系统回收站中,位置:~/.local/share/Trash/files 第一步: #安装trash-cli工具,其实就是回收站的命令行模式: $ sudo apt-get install trash-cli 第二步:#给trash命令添加别名"rm",覆盖系统rm命令 $ vi ~/.profile #在最后一行加入: alias rm

Linux编程 5 (目录重命名与移动mv,删除文件rm,目录创建mkdir删除rmdir,查看file,cat,more,tail,head)

一. 文件重命名与移动(mv) 在linux中,重命名文件称为移动(moving).mv命令可以将文件和目录移动到另一个位置或重新命名. 1.1 使用mv重命名 下面在/usr/local下面创建一个空文件为test, 使用mv命令重命名为test1, 查看inode编号和时间将会保持不变,因为mv只影响文件名.如下图所示: 1.2 使用mv移动位置 下面使用mv将 local下的test1文件 移动到/src目录下,inode编号和时间将会保持不变,只是移动了位置,如下图所示: 上图移动文件时

rm排除某个文件进行删除

前言 extglob模式开启之后Shell可以另外识别出5个模式匹配操作符,能使文件匹配更加方便. 不然不识别! 正文 开启命令: shopt -s extglob 关闭命令: shopt -u extglob 5个模式匹配操作符 1. ?(pattern-list) - 所给模式匹配0次或1次: 2.*(pattern-list) - 所给模式匹配0次以上包括0次: 3.+(pattern-list) - 所给模式匹配1次以上包括1次: [email protected](pattern-li

删除文件后清空回收站的文件找到方案

问题描述:文件误删除是很常见的数据恢复故障.在文件误删除后如何恢复数据就显的尤为重要了,首先我们需要明白,在文件误删除后不能往要恢复的误删文件所在的分区,存入任何新的文件,否则数据覆盖了就无力回天了.接下来我们还需要了解下具体如何恢复文件误删除的数据,具体请看正文了解.工具/软件:极限数据恢复软件 步骤1:先下载并解压程序运行后,直接双击需要恢复的分区.步骤2:坐等软件扫描完成,平均需要几分钟时间.步骤3:程序扫描完成后,可以列出所有找到的资料,软件是文件名是红色的就是删除过的文件.步骤4:勾上

一天一个Linux基础命令删除文件或目录命令rm

rm  删除文件命令 1.命令格式 rm [options]  file... 2.命令功能 rm命令,删除文件命令,是Linux系统下常用命令,该命令的功能为删除一个文件或者整个目录或者目录中的部分文件,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只删除了链接,原有文件保持不变. rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf或 rm -rf /).所以,我们在执行rm之前最好先确认一下在哪个

rm 删除带空格的文件或者目录

1. 信息来源 from man rm, 绝对真实有效 比较删除一个 windows盘符下的 “Program Files“ 目录, 直接rm Program Files 会直接报错, 需要修改为如下格式: 注意:-- 与 "Program Files" 之间有一个空格. rm -rf -- "Program Files"

Linux rm(删除一个目录中的一个或多个文件或目录或删除非空目录)

rm命令.rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件均保持不变. rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf).所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑. 命令格式: rm [选项] 文件- 命令功能: 删除一个目录中的一个或多个文件或目录,如

删除文件和目录:rm

[[email protected] ~]# rm 123 # 删除文件 [[email protected] ~]# rm -r 123 # -r 表示删除目录及目录下的文件 [[email protected] ~]# rm -rf 123 # -f 表示强制删除 [[email protected] ~]# rm -rfv 123 # -v 表示删除过程可视化

rm 命令(删除文件和目录)

rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件均保持不变. rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf).所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑. 1.命令格式: rm [选项] 文件- 2.命令功能: 删除一个目录中的一个或多个文件或目录,如果