linux下rm命令改造 |
您所在的位置:网站首页 › 回收站可以存放文件夹吗 › linux下rm命令改造 |
灵感来源: (1)创建了一个"~"目录,然后rm -fr ~,然后就没有然后了(no zuo no die)! (2)常在河边走,哪有不湿鞋,我们可能就会有几次误删操作,如果严重的话,删库跑路也不是不可能,所以我们有必要建立一个像windows系统一样的回收站机制,删了可以找回! 删文件本质:是把这个文件mv转移到另外一个路径,正常的rm是把文件直接从磁盘上转移抹除了,而我们可以不这样做,我们可以写一个命令让它mv到一个文件夹,把这个文件夹当作回收站,误删了从这个文件夹里就可以找回,然后为了防止存储溢出,可以制定策略定时清理之前的文件。 参考1 思考:能不能过渡一下,再给自己个机会,一旦不小心误删了! 说明:Linux下的回收站内容位于~/.local/share/Trash/files/, 思路:模拟实现删除文件到回收站,其实就是文件移动命令 方法1:我们可以在用户目录下新建一层回收站,通过alias修改rm删除文件的路径(用户级别) 流程如下: (1)在用户目录新建.trash回收站: mkdir ~/.trash(2)在.bashrc末尾中添加如下配置: # 修改rm alias rm=trash alias r=trash #这个似乎无用 alias rl='ls ~/.trash/' alias ur=recoverfile #恢复文件->Restore的功能,注意:回收站的所有内容都是此种rm别名形式删除的,并且可逆操作都在当前目录 recoverfile() { mv -i ~/.trash/$@ ./ } #通过mv来实现的 trash() { mv $@ ~/.trash }注意:修改完毕后,使用source .bashrc更新下,然后你就可以使用如下命令了: rm: 删除文件到回收站rl: 查看回收站内容ur: 恢复文件到当前目录####################################分割线#################################### 方法2:靠谱一点(采用这个-->系统级别) (1)新建个脚本,内容如下(最好是root用户创建) # script to send removed files to trash directory mv $@ ~/.local/share/Trash/files #回忆:有$1~$9个数量, $@代表all #脚本名字:rm.sh(2) 注意:文件的保存路径为/bin ,同时修改属性 chmod a+x /bin/rm.sh(3)修改rm 命令句柄,修改rm别名的形式 级别1:只对当前用户生效: vim ~/cshrc(bashrc) 级别2:对所有用户生效: vim /etc/bashrc 核心:在末尾添加如下代码到其中: alias rm=/bin/rm.sh #更新 source /etc/bashrc缺点:通过鼠标发现没有Restore的选项! 方法3:自定义命令(shell-->系统级别) 综上所述:都是通过自定义脚本或者函数的形式,通过调用函数或者脚本来达到目标! 其它 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |