Linux 文件系统为什么不做回收站功能?

209 天前
 Unlikely

这是个 feature 还是 bug ? 现在各大网盘,基本都会做一个定时的回收站,30 天以内可恢复,过期彻底删除。 哪种方式更合理些?

5697 次点击
所在节点    Linux
40 条回复
LokiSharp
209 天前
现代文件系统有个东西叫做快照
lolizeppelin
209 天前
@dmanbu

别来坑人行不
跨分区删个大文件卡十几秒

回收站都要建立在当前分区的,这玩意不是 gui 不好做
zh584728
209 天前
windows 上说白了也就是个 mv ,Linux 上把 rm 改成 mv 也是一样的
my3157
209 天前
$ which rm
rm: aliased to trash
lecia
209 天前
你可能需要这个
install trash-cli
alias rm=trash-put

回收站也不是什么特别的功能,属于应用层了,不怎么需要操作系统特别支持
geekvcn
209 天前
window 每个分区根目录都有一个隐藏文件夹,所谓的回收站就是把非 Shift+Del 删除的文件移动到回收站文件夹中。
codehz
209 天前
@mirtle 想起来 NTFS 里删除正在被打开文件也是“移动”到\$Extend\$Deleted\<FILEID><RANDOM> 里
dmanbu
209 天前
@lolizeppelin 看不懂配置么?你要当前分区,加一句配置就行了,很麻烦么?
kenvix
209 天前
@ShinichiYao #12 挂载点\$Recycle.Bin\SID
kenvix
209 天前
@proxytoworld #16 指向原文件啊
lolizeppelin
209 天前
@dmanbu
你怎么做到删任意文件直接进当前分区回收站呢 ,把 rm 改脚本你知道可能导致多少问题么
lyxxxh2
209 天前
桌面版有
至于命令行,我不希望有,懒着清空回收站。
如果有要求,重置 rm mv 呗。
ronyin
209 天前
linux 需要挂载的,如果不挂载,删除就是灭有了。。
dmanbu
209 天前
@lolizeppelin 你看看楼主需求:一个定时的回收站,30 天以内可恢复,过期彻底删除
这个用 tmpfiles.d 完全可以实现,rm 文件?干嘛要 rm ?回收站也只是一个 mv 啊!!
假设 /dev/sdb2 挂载到 /data2
/usr/lib/tmpfiles.d/tmp.conf 加上:q /data2/tmp 1777 root root 30d
你要删一个文件,直接执行 mv file /data2/tmp/ ,过了 30 天会自动删除
事实上,在服务器上,为了安全都是禁用 rm 命令的,大家删文件,都是直接 mv 到 /tmp 下等自动删除
Unlikely
209 天前
@dmanbu 请教一下,/tmp 下的东西,是 OS 在系统关机的时候删,还是下次启动的时候删?如果要跨 boot ,是不是得放到 /var/tmp 下?
dmanbu
209 天前
@Unlikely 系统运行的时候删,本质就是一个定时任务,/tmp 是默认的,你可以自定义在哪个目录,但注意,这个是 Redhat 系的 linux 发行版才默认有的,Debian 系的我记得好像没有,你需要自己装
Ericcccccccc
209 天前
你自己创建一个回收站文件夹不就行了
dayeye2006199
208 天前
alias 一下 rm
Unlikely
208 天前
@dmanbu 我看这个现在是放在 systemd 里面管理的。

这个应该是当前看到的最佳方案了,多谢。
cnt2ex
206 天前
gio 就有回收站的功能

gio trash --list
gio trash --restore
gio trash --empty

这个回收站是 glib2 通用的,gnome 桌面环境就提供设置 30 天自动清除垃圾。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1044193

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX