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

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

  1. mkdir -p ~/.trash #创建一个目录作为回收站,这里使用的是用户家目录下的.trash目录
  2. alias rm=trash #命令别名 rm改变为trash,通过将rm命令别名值trash来实现把rm改造成删除文件至回收站
  3. alias rl=‘ls ~/.trash‘ # rl 命令显示回收站中的文件
  4. alias ur=`undelfile` # ur命令找回回收站中的文件
  5. undelfile() #这个函数的作用是找回回收站下的文件
  6. {
  7. mv -i ~/.trash/\$@ ./
  8. }
  9. trash() #这个函数是将指定的文件移动到指定的目录下,通过将rm命令别名值trash来实现把rm改造成删除文件至回收站
  10. {
  11. mv [email protected] ~/.trash/
  12. }
  13. cleartrash() #这个函数的作用是清空回收站目录下的所有文件
  14. {
  15. read -p “clear sure?[n]” confirm
  16. [ $confirm == ‘y‘ ] || [ $confirm == ‘Y‘ ] && /bin/rm -rf ~/.trash/*
  17. }

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

  1. mkdir -p ~/.trash
  2. cat >> .bashrc <<EOF
  3. alias rm=trash
  4. alias r=trash
  5. alias rl=‘ls ~/.trash‘
  6. alias ur=undelfile
  7. undelfile()
  8. {
  9. mv -i ~/.trash/\$@ ./
  10. }
  11. trash()
  12. {
  13. mv \$@ ~/.trash/
  14. }
  15. cleartrash()
  16. {
  17. read -p "clear sure?[n]" confirm
  18. [ \$confirm == ‘y‘ ] || [ \$confirm == ‘Y‘ ] && /bin/rm -rf ~/.trash/*
  19. }
  20. EOF
时间: 2024-10-20 21:35:43

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

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

转自:http://blog.csdn.net/a3470194/article/details/16863803 [-] 将linux下的rm命令改造成移动文件至回收站 将AIX下的rm命令改造成移动文件至回收站 将linux下的rm命令改造成移动文件至回收站 rm是Linux下文件删除的命令,它是Linux下非常强大却又非常危险的一条命令,特别是rm -rf有时候强大到让你欲哭无泪,当你想清除当前目录下的所有文件和目录时,很简单 #rm -rf ./* 这没什么,但是,但是如果不小心打成这样

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