将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/\$@ ./

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

trash()

  {

   mv $@ ~/.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/ \$@ ./

}

trash()

{

  mv\$@ ~/.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 $@ /.trash/

}

 

undelfile()

{

  mv -i /.trash/$@ ./

}

cleartrash()

{

    echo -n "clear sure?[n]"

   read I

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

}
复制代码

 









本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/5885183.html,如需转载请自行联系原作者



相关文章
|
2月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
309 1
二、Linux文本处理与文件操作核心命令
|
2月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
238 137
|
2月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
558 56
|
22天前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
189 2
|
2月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
88 0
Linux内存问题排查命令详解
|
2月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
159 16
|
3月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
461 0
|
3月前
|
安全 Linux Shell
Linux系统中sudo命令的高效运用技巧。
用户可以通过sudo -l来列出自己目前可执行的命令列表,这有助于用户了解自己的权限范围。
138 0
|
3月前
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总
|
4月前
|
Linux C++
每天一个linux命令(8):cp 命令
cp 命令是 Linux 中用于复制文件或目录的命令。它的名字来源于英文单词 copy。这个命令非常常用,特别是在需要备份文件或创建文件副本时。
183 0
下一篇
开通oss服务