改造rm命令,删除文件至回收站

38次阅读

共计 574 个字符,预计需要花费 2 分钟才能阅读完成。

rm 是我们经常使用的 Linux 命令之一,我会习惯于使用 rm 与 -rf 参数同时使用,将文件移除,但是这样做的话,在之后再想找回就会很麻烦。
下面我们做一些调整,将 rm 命令的删除改为将文件移动到回收站,方便找回。具体操作如下:

创建回收站位置

如果是 ubuntu 系统,自带回收站的位置位于 /.local/share/Trash/files/ 目录
centos 系统,我们自己创建一个回收站目录 mkdir ~/.trash

修改 rm 别名

ubuntu: 找到~/.bashrc 文件
centos: 找到~/.profile 文件
我本人用的是 ubuntu+zsh,所以需要修改~/.zsh 文件

在文件最后追加如下内容:
# 修改 rm 命令将文件删除至回收站
alias rm=trash
alias rl=’ls ~/.local/share/Trash/files/’

trash()
{
del_date=`date +%Y%m%d%H%M%S`
# 这里将删除时间加入到文件名后是因为 mv 命令不能覆盖非空目录以及不能使用文件覆盖文件夹
# 加上时间就不会有同名的文件了
mv $@ ~/.local/share/Trash/files/$@-${del_date}
}

source ~/.bashrc(~/.profile、~/.zsh) 使其生效
大功告成,再使用 rm 命令就会将文件移动到回收站了,而且不需要添加 -rf 参数

正文完
 0