机器学习和生物信息学实验室联盟

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2156|回复: 2
打印 上一主题 下一主题

linux shell 自定义回收站

[复制链接]
跳转到指定楼层
楼主
发表于 2014-9-30 17:32:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xmubingo 于 2014-9-30 17:37 编辑

上帝已经无法阻止我rm -rf 删除代码了。所以作为《一键备份代码》的续集,我写了一个shell,用来替换rm命令。


trash_path: 自定义的回收站地址
把文件或者文件夹放入回收站前加一个时间戳,防止重名的文件或者文件夹影响mv命令。

代码非常简单, 路径的末尾如果是/,将会被删掉,做法很stupid
  1. #!/bin/bash

  2. trash_path="/home/users/lixubin/.trash"
  3. test ! -d ${trash_path} && mkdir -p ${trash_path}

  4. for path_name in $*
  5. do
  6.     if [ ${path_name:-1} = "/" ];
  7.     then
  8.         ${path_name}=${path_name%/*}
  9.     fi
  10.     if [ -d ${path_name} ] || [ -f ${path_name} ];
  11.     then
  12.         file_name=`basename ${path_name}`
  13.         timestamp=`date "+%Y_%m_%d_%H_%M_%S"`
  14.         trash_path_name="${trash_path}/${timestamp}__${file_name}"
  15.         mv ${path_name} ${trash_path_name}
  16.         echo "Move to trash: ${trash_path_name}"
  17.     else
  18.         echo "${path_name} is not valid."
  19.     fi
  20. done
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

沙发
发表于 2014-10-2 22:08:55 | 只看该作者
果然是大师兄,自叹不如。
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2014-10-6 23:35:32 | 只看该作者
guojiasheng 发表于 2014-10-2 22:08
果然是大师兄,自叹不如。


献丑献丑
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

机器学习和生物信息学实验室联盟  

GMT+8, 2024-5-19 11:00 , Processed in 0.098009 second(s), 34 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表