浅析linux下的回收站以及U盘中的.Trash文件夹
我们知道windows的回收站 默认分布在每一个分区的recycler文件夹内,那么linux的回收站呢?
经过我在ubuntu上测试发现linux下的回收站在每一个当前用户目录./local/share/trash中,但是会发现在这个目录里有好几个文件夹,例如我以root账户删除了一个文件。那么在/root/.local/share/trash/files情形如下:
而在 /root/.local/share/trash/filesq情形如下:
可以发现,没删除一个文件在files保存着该文件,而在info目录则保存着与后缀为trashinfo的文件
我觉得在files目录下是存放着这个文件的内容,而info目录下对应的文件则保存着该文件的一些位置,权限等信息,不知是否—————
而在fedora上的也是如此
另外,我们知道在xp下默认u盘是没有回收站的,但是在linux下就不一样,如果在linux下删除u盘的文件,linux会在u盘的根目录同样s生成一个.trash的文件,当然这个文件时隐藏的需要显示隐藏才能看见,同样在 .trash目录下有files,和info文件夹,作用和pc上的类似。由此可见,linux下的u盘也是有回收站的,如果不小心删除了u盘的文件,在linux下可以快速恢复。
如果我们把在linux下删除了文件的u盘拿到windows下的时候,由于windows不认为以.开头的文件为隐藏文件,所以我们可以看见u盘中多了类似.trash这样的文件,这些都是linux下的回收站文件,很多人多次感到很奇怪,当我们点进去的时候,会发现里面有很多我们以前删除的文件。
由于linux与windows系统在处理数据上的差异,有时候我们在两个系统上来回切换u盘的时候,会造成数据的丢失。严重的会造成蓝屏。我经历过的就是当我在windows下将一个文件拷贝到u盘的某一个目录的时候,电脑蓝屏重启。
后来使用chkdsk /f命令修复数据,提示含有无效链接:
因此,在linux和windows上使用u盘等设备的时候一定要按照正规步骤操作
有的时候linux下的回收站不能清空可以使用下面的方法:
强制清空回收站
ubuntu8.04以前的版本
sudo rm -fr $home/.trash/*
ubuntu 8.04
sudo rm -fr $home/.local/share/trash/files/*