freedesktop.org垃圾桶的命令行界面。

trash-cli的Python项目详细描述


Donate

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
泛型Java将参数约束到公共超类   java Spring引导:在构造函数中加载属性文件并用作autowire注释   java中的优先级队列顺序错误。util。优先级队列和特定比较器   带有Java Sprint引导REST的Google应用程序引擎标准在GCLOUD服务器中不起作用   安卓从Java代码中检索变量并将其作为参数分配给TestNG   用于读取列表值的Java JSON对象   java Hibernate映射:实体映射中的重复列   多线程。start()不从Java中的父线程分派   java Android facebook webdialog网络错误(netstack:lib_mgr错误)   http使用Java阻止网站   java DynamicAsper:访问连接报表中动态列的值   java如何分离文件中的每个单词,并在表中显示每个单词和每个单词的编号?   如何打包和部署EclipseJava应用程序?   java使用Mule Anypoint,我想实现没有flowref的功能   java Kafka consumer ClassNotFoundException   java错误捕获帮助;消息不断重复   javaspring,Thymeleaf和CSS如何给错误着色   javascript如何在java中实现反向ajax   如何通过UDP连接从java数据包中读取序列号?