freedesktop.org垃圾桶的命令行界面。
trash-cli的Python项目详细描述
trash cli会刷新记录原始路径、删除日期和 权限。它使用kde、gnome和xfce使用的垃圾桶,但是 可以从命令行(和脚本)调用它。
它提供以下命令:
trash-put trash files and directories. trash-empty empty the trashcan(s). trash-list list trashed files. trash-restore restore a trashed file. trash-rm remove individual files from the trashcan.
用法
垃圾箱文件:
$ trash-put foo
列出垃圾文件:
$ trash-list 2008-06-01 10:30:48 /home/andrea/bar 2008-06-02 21:50:41 /home/andrea/bar 2008-06-23 21:50:49 /home/andrea/foo
在垃圾桶中搜索文件:
$ trash-list | grep foo 2007-08-30 12:36:00 /home/andrea/foo 2007-08-30 12:39:41 /home/andrea/foo
还原损坏的文件:
$ trash-restore 0 2007-08-30 12:36:00 /home/andrea/foo 1 2007-08-30 12:39:41 /home/andrea/bar 2 2007-08-30 12:39:41 /home/andrea/bar2 3 2007-08-30 12:39:41 /home/andrea/foo2 4 2007-08-30 12:39:41 /home/andrea/foo What file to restore [0..4]: 4 $ ls foo foo
从垃圾桶中删除所有文件:
$ trash-empty
仅删除已被删除超过<;天>;的文件:
$ trash-empty <days>
示例:
$ date Tue Feb 19 20:26:52 CET 2008 $ trash-list 2008-02-19 20:11:34 /home/einar/today 2008-02-18 20:11:34 /home/einar/yesterday 2008-02-10 20:11:34 /home/einar/last_week $ trash-empty 7 $ trash-list 2008-02-19 20:11:34 /home/einar/today 2008-02-18 20:11:34 /home/einar/yesterday $ trash-empty 1 $ trash-list 2008-02-19 20:11:34 /home/einar/today
仅删除与模式匹配的文件:
$ trash-rm \*.o
注意:您需要使用引号来保护模式不受shell扩展的影响。
常见问题解答
如何创建顶级垃圾目录?
步骤
sudo mkdir --parent /.Trash sudo chmod a+rw /.Trash sudo chmod +t /.Trash
我能把rm化名为垃圾桶吗?
你可以,但你不应该。在早期我认为这是个好主意 但现在我改变主意了。
虽然垃圾桶的接口似乎与rm兼容,但是 不同的语义会给你带来麻烦。例如,whilerm 需要-r才能删除目录垃圾桶不需要。
但有时我忘了用垃圾桶,真的不行吗?
您可以将rm的别名设为提醒您不要使用它的名称:
alias rm='echo "This is not the command you are looking for."; false'
然后,如果您真的想使用rmrm,只需在斜线前加上一个斜线即可绕过别名:
\rm file-without-hope
注意bash别名只在交互式shell中使用,因此 此别名不应干扰预期使用rm的脚本。
安装
简单的方法
要求:
- Python 2.7 o Python 3
- setuptools (use apt-get install python-setuptools on Debian)
安装命令:
easy_install trash-cli
来源
全系统安装:
git clone https://github.com/andreafrancia/trash-cli.git cd trash-cli sudo python setup.py install
仅限用户安装:
git clone https://github.com/andreafrancia/trash-cli.git cd trash-cli python setup.py install --user
错误和反馈
如果发现错误,请在此处报告:
https://github.com/andreafrancia/trash-cli/issues
你也可以发电子邮件给andrea@andreafrancia.it。在twitter上我是@andreafrancia。
开发
环境设置:
virtualenv env --no-site-packages source env/bin/activate pip install -r requirements-dev.txt
运行测试:
nosetests unit_tests # run only unit tests nosetests integration_tests # run all integration tests nosetests -A 'not stress_test' # run all tests but stress tests nosetests # run all tests
在发布之前检查安装过程:
python check_release_installation.py
分析单元测试:
pip install gprof2dot nosetests --with-profile --profile-stats-file stats.pf --profile-restrict=unit_tests unit_tests gprof2dot -w -f pstats stats.pf | dot -Tsvg >| stats.svg open stats.svg