将linux下的rm命令改造成移动文件至回收站【转】

转自:http://blog.csdn.net/a3470194/article/details/16863803

[-]

将linux下的rm命令改造成移动文件至回收站
将AIX下的rm命令改造成移动文件至回收站

将linux下的rm命令改造成移动文件至回收站

rm是Linux下文件删除的命令,它是Linux下非常强大却又非常危险的一条命令,特别是rm -rf有时候强大到让你欲哭无泪,当你想清除当前目录下的所有文件和目录时,很简单 #rm -rf ./* 这没什么,但是,但是如果不小心打成这样 #rm -rf /* 兄弟请节哀吧!~~ rm删除文件同时删除inode信息,这使得使用rm删除的文件十分难恢复。总之rm太危险了,特别是带有-rf参数时一定要慎之又慎,但老虎也有打盹的时候啊,所以为什么不给rm一剂后悔药呢! 经过在网上不断的寻找,我找到了一段将rm命令改造为把文件移动到一个指定的回收站目录下,然后可以查看回收站目录下的文件,然后在清空回收站目录彻底删除文件的一段代码,这短代码的原始出处已经无从考究,但本着独乐乐不如众乐乐的精神把它分享出来!

mkdir -p /.trash #创建一个目录作为回收站,这里使用的是用户家目录下的.trash目录

alias rm=trash #命令别名 rm改变为trash,通过将rm命令别名值trash来实现把rm改造成删除文件至回收站

alias r=trash

alias rl=’ls ~/.trash’ # rl 命令显示回收站中的文件

alias ur=undelfile # ur命令找回回收站中的文件

undelfile()

  {

   mv -i ~/.trash/\[email protected] ./

  } #这个函数的作用是找回回收站下的文件

trash()

  {

   mv [email protected] ~/.trash/

  } #这个函数是将指定的文件移动到指定的目录下,通过将rm命令别名值trash来实现把rm改造成删除文件至回收站

cleartrash()

  {

   read -p “clear sure?[n]” confirm

    [$confirm == ‘y‘ ] || [ $confirm == ‘Y‘ ] && /bin/rm -rf ~/.trash/*

  } #这个函数的作用是清空回收站目录下的所有文件

这段代码定义了三个函数trash、undelfile和cleartrash。trash的作用是移动文件到指定的回收站目录;undelfile的作用是找回回收站目录中的指定文件;cleartrash的作用是清空回收站目录。经rm命令别名为trash来实现rm命令的改造!下面是我修改后的代码,直接在用户家目录下创建。trash目录作为回收站,将其它代码加入用户家目录下的.bashrc文件下,这样用户每次登录这段代码就会自动生效!登录后在bash下执行一遍下面的命令就可以把rm命令改造成删除文件到回收站了!

mkdir -p ~/.trash

cat >> .bashrc <<EOF

alias rm=trash

alias rl=‘ls ~/.trash‘

alias ur=undelfile

undelfile()

{

  mv -i ~/.trash/ \[email protected] ./

}

trash()

{

  mv\[email protected] ~/.trash/

}

cleartrash()

{

   read -p "clear sure?[n]" confirm

    [\$confirm == ‘y‘ ] || [ \$confirm == ‘Y‘ ] && /bin/rm -rf ~/.trash/*

}

EOF

=========================

实例:

mkdir -p ~/.trash       ----创建一个文件夹,用作垃圾桶。

将AIX下的rm命令改造成移动文件至回收站

mkdir -p /.trash #创建一个目录作为回收站,这里使用的是用户家目录下的.trash目录

alias rm=trash #命令别名 rm改变为trash,通过将rm命令别名值trash来实现把rm改造成删除文件至回收站

alias rl=’ls ~/.trash’ # rl 命令显示回收站中的文件

alias ur=undelfile # ur命令找回回收站中的文件

alias cleartrash=cleartrash  #命名清楚垃圾桶中所有垃圾

把下面的脚本加入/etc/profile中:

alias rm=trash

alias rl=‘ls/.trash‘

aliasur=undelfile

aliasrmcls=cleartrash

trash()

{

  mv [email protected] /.trash/

}

undelfile()

{

  mv -i /.trash/[email protected] ./

}

cleartrash()

{

    echo -n "clear sure?[n]"

   read I

[ $I == ‘y‘ ] || [ $I == ‘Y‘ ] && /bin/rm -rf /.trash/*

}
时间: 2024-10-12 13:05:40

将linux下的rm命令改造成移动文件至回收站【转】的相关文章

将linux下的rm命令改造成移动文件至回收站

rm是Linux下文件删除的命令,它是Linux下非常强大却又非常危险的一条命令,特别是rm -rf有时候强大到让你欲哭无泪,当你想清除当前目录下的所有文件和目录时,很简单 #rm -rf ./*这没什么,但是,但是如果不小心打成这样#rm -rf /* 请节哀吧!~~ rm删除文件同时删除inode信息,这使得使用rm删除的文件十分难恢复.总之rm太危险了,特别是带有-rf参数时一定要慎之又慎,但老虎也有打盹的时候啊,所以为什么不给rm一剂后悔药呢! mkdir -p ~/.trash #创建

linux下修改rm命令防止误删除

前言:相信很多朋友都遇到过在linux下用rm命令误删除文件的时候,此刻的心中仿佛有无数的羊驼在奔腾.那么怎么防止这种情况发生呢?当然是有方法的,我们可以写一个shell脚本,改变一下rm命令的作用. 第一步: 先在home目录下创建一个叫username名字的目录(当然名字可以自定义),具体命令为:sudo mkdir username(自定义的名字) 这时候记得要用命令:sudo chmod 777 username(自定义的名字)来改变一下你的目录权限,因为在home目录下刚创建的目录是没

【Linux下禁用rm命令之建立回收站】 -- 2019-08-08 18:02:13

原文: http://106.13.73.98/__/86/ 第一步 创建回收站目录 # 根据自己的习惯,找个位置创建一个用作回收文件的目录 # 我们这里将在root目录下面创建一个名为".trash"的隐藏文件 [[email protected] ~]# mkdir .trash 第二步 创建回收站脚本文件 # 同样是根据自己的习惯找个位置创建 [[email protected] ~]# vim .remove.sh 打开后在文件内写入如下代码: # 指定第一步骤中创建的回收站目

【Linux下禁用rm命令之建立回收站】 -- 2019-08-11 19:13:54

原文: http://106.13.73.98/__/86/ 第一步 创建回收站目录 # 根据自己的习惯,找个位置创建一个用作回收文件的目录 # 我们这里将在root目录下面创建一个名为".trash"的隐藏文件 [[email protected] ~]# mkdir .trash 第二步 创建回收站脚本文件 # 同样是根据自己的习惯找个位置创建 [[email protected] ~]# vim .remove.sh 打开后在文件内写入如下代码: # 指定第一步骤中创建的回收站目

【Linux下禁用rm命令之建立回收站】 &#176929;

原文: http://blog.gqylpy.com/gqy/311 "> ###### 第一步 创建回收站目录 # 根据自己的习惯,找个位置创建一个用作回收文件的目录 # 我们这里将在root目录下面创建一个名为".trash"的隐藏文件 [[email protected] ~]# mkdir .trash 第二步 创建回收站脚本文件 # 同样是根据自己的习惯找个位置创建 [[email protected] ~]# vim .remove.sh 打开后在文件内写入

替换Linux下的rm命令

1.编写脚本 vi /home/scripts/del.sh 内容如下: #!/bin/bash # Description: 替换rm命令,不是删除文件,而是移动文件到/tmp/trash_tmp/ TMP_DIR="/tmp/trash_tmp" mv [email protected] $TMP_DIR 2.赋予权限 chmod +x /home/scripts/del.sh mkdir -p /tmp/trash_tmp chmod 777 /tmp/trash_tmp 3.修

替换linux下的rm命令,并对-rf进行判断

1.使用root用户在/usr/local目录创建.rmov.sh #!/bin/sh PARA_CNT=$#TRASH_DIR="/data01/.trash" for i in $*; do if [ $i == "-rf" -o $i == "-r" -o $i == "-f" ] then : else STAMP=`date +%s` fileName=`basename $i` mv $i $TRASH_DIR/$

linux下使用du命令查找最大的文件

找出某个磁盘下的最大文件,可以使用du命令:语法:du -sh [dirname|filename] 当前目录大小du -sh. 当前目录下文件或目录的大小du -sh* 显示前十个占用空间最大的文件或目录du -s * | sort -nr | head -n:纯数字排序    -r:反向排序 说明:-h:已易读的格式显示指定目录或文件的大小-s:指定对于目录不详细显示每个子目录或文件的大小

Linux下的split 命令(将一个大文件根据行数平均分成若干个小文件)

将一个大文件分成若干个小文件方法 例如将一个BLM.txt文件分成前缀为 BLM_ 的1000个小文件,后缀为系数形式,且后缀为4位数字形式 先利用 wc -l BLM.txt       读出 BLM.txt 文件一共有多少行 再利用 split 命令 split -l 2482 ../BLM/BLM.txt -d -a 4 BLM_ 将 文件 BLM.txt 分成若干个小文件,每个文件2482行(-l 2482),文件前缀为BLM_ ,系数不是字母而是数字(-d),后缀系数为四位数(-a 4