trash-cli 用于移动文件到回收站,同时会记录文件的原地址、删除日期和权限。trash-cli 和 KDE、GNOME、XFCE 使用同一个回收站,你可以在命令行或脚本运行 trash-cli。
trash-cli 提供以下命令:
trash-put 把文件或目录移动到回收站 trash-empty 清空回收站 trash-list 列出回收站文件 trash-restore 恢复回收站文件 trash-rm 删除回收站文件
移动文件到回收站:
$ trash-put
列出回收站文件:
$ 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
删除回收站中 n 天前被回收的文件:
$ 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
可以,但不应该这样做。以前我觉得这是个好主意,但现在我不觉得。
虽然 trash-put 的界面看起来与 rm 兼容,但它们有不同的语法,这些差异会导致一些问题。比如,用 rm 删除目录时需要 -R,trash-put 则不需要。
你可以给 rm 设置一个别名来提醒你不要使用它:
alias rm='echo "This is not the command you are looking for."; false'
如果你真的要用 rm,那就在 rm 前加上斜杠来取消别名:
\rm file-without-hope
注意,Bash 别名是有在交互式界面才有效,所以使用这个别名不会影响使用 rm 的脚本。
从 home 分区移动到回收站的文件在这:
~/.local/share/Trash/
要求:
- Python 3 (Python 2.7 也可以)
- pip (在 Debian 上用 apt-get install python-pip 来安装 pip)
- pipx (可选,推荐,安装在虚拟环境中以保护系统环境)
安装命令:
pipx install trash-cli # 或者 pip install trash-cli
为所有用户安装:
git clone https://github.com/andreafrancia/trash-cli.git cd trash-cli sudo pip install .
为当前用户安装:
git clone https://github.com/andreafrancia/trash-cli.git cd trash-cli pip install .
为当前用户安装后你可能需要把以下代码添加到 .bashrc:
export PATH=~/.local/bin:"$PATH"
卸载命令:
pipx uninstall trash-cli # 或者 pip uninstall trash-cli
Debian/Ubuntu (apt):
sudo apt install trash-cli
如果你发现了 bug,请在这里报告:
https://github.com/andreafrancia/trash-cli/issues
你也可以给我发邮件 andrea@andreafrancia.it。我的推特帐号是 @andreafrancia。
环境设置:
virtualenv env --no-site-packages source env/bin/activate pip install -r requirements-dev.txt
运行测试:
pytest -m 'not slow' # 只运行单元测试 pytest -m 'slow' # 运行所有集成测试 pytest # 运行所有测试