我很少使用废纸篓。(我使用Shift+ Delete)但最近,我发现我经常误删除一些重要文件。所以我现在想使用废纸篓。
但众所周知,如果我不自己清理垃圾箱,我有限的磁盘空间就会被垃圾箱里的文件填满。
所以我有一个想法。我想将我的垃圾移到/tmp
,这样我就不用自己清理它了。
我写了一些像这样的代码~/.bash_profile
:
mkdir /tmp/my-trash
我创建了一个指向的符号链接/tmp/my-trash
。我删除了该目录~/.local/share/Trash/files
,并将我的符号链接移入~/.local/share/Trash
,然后将其重命名为files
。
但它不起作用!我把一些文件放入/tmp/my-trash
,点击右下角的垃圾图标。但什么都没有。我选择一个文件并按下Delete
,但它说它无法将文件移入垃圾桶并要求我永久删除该文件。
答案1
你为什么不使用另一种方法:
Crontab 结合命令行客户端清理垃圾
- 安装垃圾处理 /
sudo apt-get install trash-cli
,这将允许您从 shell 控制垃圾文件夹。 - 在 shell 中打开你的 crontab
crontab -e
(将打开你所选择的默认 shell 编辑器select-editor
) 添加如下条目
# In your crontab @reboot empty-trash > /dev/null
现在每次重启后,您的垃圾箱都会被清空。您可以指定其他时间来清空垃圾箱。只需查看crontab 教程学习如何。
当然,您也可以使用上面的链接方法。您的方法的问题在于您复制了链接。这很可能破坏了链接。此外,您新创建的文件夹/tmp/my-trash/
没有自由桌面标准指定的垃圾文件夹的正确目录结构。可以通过以下方式解决:(首先手动清空垃圾)
mv -r ~/.local/share/Trash/ ~/.trashcopy
cp -r ~/.trashcopy /tmp/.trashcopy
ln -s /tmp/.trashcopy ~/.local/share/Trash
要使该更改持久化,您必须在用户的 crontab 中包含以下行,或者只包含crontab -e
不包含的部分。@reboot
~/.bashrc
@reboot rm -r ~/,local/share/Trash; cp -r ~/.trashcopy /tmp/.trashcopy; ln -s /tmp/.trashcopy ~/.local/share/Trash