早就想实现这么个功能,大部分不确定删除的时候,我都直接先移动到我用户的tmp目录下,这个目录我都放一些可删可不删的测试文件等。确定的我就直接删除。但是还有失误啥的,根本不可能预防所有情况。今天搜索一文章,正好实现。原理就是用一个新命令替换系统的rm命令。
原文http://www.webupd8.org/2010/02/make-rm-move-files-to-trash-instead-of.html。
1.
sudo apt-get install trash-cli
原文有介绍这个工具,我也没用试试0 0。
2.sudo vim /usr/local/bin/trash-rm
文件内容
#!/bin/bash
# command name: trash-rm
shopt -s extglob
recursive=1
declare -a cmd
((i = 0))
for f in "$@"
do
case "$f" in
(-*([fiIv])r*([fiIv])|-*([fiIv])R*([fiIv]))
tmp="${f//[rR]/}"
if [ -n "$tmp" ]
then
#echo "\$tmp == $tmp"
cmd[$i]="$tmp"
((i++))
fi
recursive=0 ;;
(--recursive) recursive=0 ;;
(*)
if [ $recursive != 0 -a -d "$f" ]
then
echo "skipping directory: $f"
continue
else
cmd[$i]="$f"
((i++))
fi ;;
esac
done
trash "${cmd[@]}"
12.04以上的版本,把最后一行的trash换成trash-put。
执行权限
sudo chmod +x /usr/local/bin/trash-rm 3.
vim ~/.bashrc 替换命令,在文件最后添加
alias rm="trash-rm"
shell下执行bash,重载文件 搞定了。
http://www.webupd8.org/2010/02/make-rm-move-files-to-trash-instead-of.html
上一篇: centos上安装freetds,ImportError: libsybdb.so.5
下一篇: sqlalchemy orm create_engine 设置数据库连接timeout
0 Responses so far.