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是否在servlet中检索上一页路径?   Java抱怨在开关的默认情况下未初始化最终字段   Java泛型:为什么编译器不能判断这个类<t>对象与这个类的类型参数的对象的类具有相同的类型?   Java:继承方法中使用的私有变量   HibernateJava。ClassCastException:java。lang.Integer不能强制转换为abc。def。我的项目。奥姆。EmployeeTopMetaData   http java发布和下载文件   java改进条件检查   java如何将2d数组的条目作为键放在地图中   java如何获取传递给运行时的值。getRuntime。JUnit测试用例中的exit(value)   java注释来创建所有可能的构造函数   自动建议列表:java。lang.IllegalArgumentException:在XPath表达式为null时找不到元素   为什么MapAPI在Java中不提供流功能?   gradle不导入本地java库   尽管我使用的是SessionCreationPolicy,java Spring安全性似乎仍在使用会话。无国籍   使用java查找MongoDB中数组元素的平均值