GUI-删除文件[1]
选中文件,可通过按delete键,右键删除或是拖曳到回收站进行删除。这些方式只是把文件放入回收站,而非永久删除。要想永久删除,需要进一步在回收站里删除。
另外,可以用shift
+delete
直接永久删除选中的文件。
CMD-删除文件
一般shell自带的rm
命令会直接永久删除指定的文件。
另外,可以用gvfs-trash
或是trash-cli包里的trash
命令将文件移入回收站[2];还可以用gvfs-ls trash://
查看回收站中的文件;用nautilus trash://
打开回收站;用gvfs-trash --empty
清空回收站[3]。
回收站
每个用户的家目录下都可以有一个Trash目录~/.local/share/Trash
。这个目录会在用户第一次非永久性删除文件时产生,其下有三个子目录[2]:
-
files
,被删除的文件会被放在这里 -
info
,记录被删除文件原本的位置以及被删除的时间 -
expunged
,当回收站被清空的时候,文件会被暂时移到这里。(这个子目录的具体功效我没有求证过,感觉不是特别重要。)
通常非永久性删除的文件会被放到上述的回收站中。但是在可移动存储介质以及其它的硬盘分区的挂载点下会有.Trash和.Trash-uid(uid就是执行删除操作的用户UID)这一类回收站[2]。这两类回收站具体是什么关系还有待探索。
还原文件
图形界面还原回收站文件的方法就不多说了,就是用文档管理器进入回收站右键还原选中的文件即可。
shell自带的还原命令似乎没有,因为似乎命令行操作不提倡回收站的存在~。不过既然有需求,还是有人开发相应的功能,比如trash-cli包里的restore-trash
可以用于还原操作[4]。
小点点
在知道了回收站的位置以后,可以用mv
操作实现简易的删除和还原的操作,这个操作可能无法自动产生和利用info
中的信息;用ls
和cd
查看和进入回收站;用文档管理器手动进入回收站,期间注意显示隐藏文件。