
这是个 feature 还是 bug ? 现在各大网盘,基本都会做一个定时的回收站,30 天以内可恢复,过期彻底删除。 哪种方式更合理些?
1 AoEiuV020JP May 27, 2024 |
2 ghostwwg May 27, 2024 网盘得回收站也不是文件系统提供得把。。。有了解 NTFS 得大神嘛。。。windows 下面得回收站是文件系统层做的还是应用侧完成得。 |
3 b821025551b May 27, 2024 |
4 vituralfuture May 27, 2024 via Android 回收站是桌面环境提供的功能,跟文件系统无关,NTFS 也没有回收站功能 |
5 yolee599 May 27, 2024 回收站关文件系统什么事?不都是应用层的吗? |
6 InkStone May 27, 2024 这种回收站你自己实现起来也很容易。 把 rm alias 到 trash 上。然后开个定时任务定期清理就好了。 |
7 inhzus May 27, 2024 alias: rm $1 -> mv $1 ~/.trash/ |
8 NessajCN May 27, 2024 这功能过于上层,根本不需要系统来提供啊 你建个目录,写个 .timer 文件让 systemd 30 天清一次,再在 .bashrc 里写个 function ,譬如 junk() { mv "$1" "/trash/path/$1.trash" } 就搞定了 |
9 BeautifulSoap May 27, 2024 via Android 不是,我寻思 Windows 命令行里也没有回收站这功能啊? 为什么觉得 Linux 命令行就要有回收站了 回收站不过是桌面提供的功能罢了 |
10 xiangboha May 27, 2024 Linux 你想要还不简单啊,rm 命令替换一下不就行了。 |
11 littlewing May 27, 2024 1. 没有 “Linux 文件系统” 这种文件系统,有 ext3 ext4 xfs zfs btrfs 2. windows mac 的回收站功能也不是文件系统支持的 3. linux 的桌面环境的文件管理器,比如 KDE 的 Dolphin 是带回收站功能的 |
12 ShinichiYao May 27, 2024 过去 Windows 有时候会告诉你,要删除的文件太大放不进回收站,是否直接删除,我就怀疑它是不是在硬盘哪个角落偷偷藏了一部分空间 |
13 mirtle May 27, 2024 比 mv /trash 复杂一点,C:\ 删除一个文件会: - 在 C:\$Recycle.Bin\S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-1XXX\ ( SID )基于文件哈希值创建一个 $RXXXXXX.<file_ext> 的硬链接(数据文件); - 创建名为 $IXXXXXX.<file_ext> 的文件(信息文件),存储该文件的元数据(删除日期、原始位置) - 删除该文件 还原逆向操作 系统实现的。 |
14 cwcc May 27, 2024 linux 下一就是一,二就是二,符合计算机的操作直觉。回收站算是弥补人类缺陷的一种方式。 |
15 enihcam May 27, 2024 这个问题就不属实。Linux 系统有很多支持 CoW 的文件系统,btrfs 、zfs 、bcachefs 等,随时 snapshot 恢复。 |
16 proxytoworld May 27, 2024 @mirtle 硬链接指向那呢 |
17 FengMubai May 27, 2024 @ShinichiYao 不用怀疑, 就是 ![]() |
18 rlds May 27, 2024 这个还得看桌面环境,回收站都是应用侧功能 |
19 dmanbu May 27, 2024 cat /usr/lib/tmpfiles.d/tmp.conf >>================================ q /tmp 1777 root root 10d q /var/tmp 1777 root root 30d >>================================ redhat 系的/tmp 目录就会删除超过 10 天的文件,这个时间你可以改 |
20 highFreqSurfer May 27, 2024 别把你 windows 思维带到 linux |
21 LokiSharp May 27, 2024 现代文件系统有个东西叫做快照 |
22 lolizeppelin May 27, 2024 |
23 LuJason May 27, 2024 windows 上说白了也就是个 mv ,Linux 上把 rm 改成 mv 也是一样的 |
24 my3157 May 27, 2024 $ which rm rm: aliased to trash |
25 lecia May 27, 2024 via iPhone 你可能需要这个 install trash-cli alias rm=trash-put 回收站也不是什么特别的功能,属于应用层了,不怎么需要操作系统特别支持 |
26 geekvcn May 27, 2024 window 每个分区根目录都有一个隐藏文件夹,所谓的回收站就是把非 Shift+Del 删除的文件移动到回收站文件夹中。 |
28 dmanbu May 27, 2024 @lolizeppelin 看不懂配置么?你要当前分区,加一句配置就行了,很麻烦么? |
29 kenvix May 27, 2024 @ShinichiYao #12 挂载点\$Recycle.Bin\SID |
30 kenvix May 27, 2024 @proxytoworld #16 指向原文件啊 |
31 lolizeppelin May 27, 2024 @dmanbu 你怎么做到删任意文件直接进当前分区回收站呢 ,把 rm 改脚本你知道可能导致多少问题么 |
32 lyxxxh2 May 27, 2024 桌面版有 至于命令行,我不希望有,懒着清空回收站。 如果有要求,重置 rm mv 呗。 |
33 ronyin May 27, 2024 linux 需要挂载的,如果不挂载,删除就是灭有了。。 |
34 dmanbu May 27, 2024 @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 下等自动删除 |
35 Unlikely OP @dmanbu 请教一下,/tmp 下的东西,是 OS 在系统关机的时候删,还是下次启动的时候删?如果要跨 boot ,是不是得放到 /var/tmp 下? |
36 dmanbu May 27, 2024 @Unlikely 系统运行的时候删,本质就是一个定时任务,/tmp 是默认的,你可以自定义在哪个目录,但注意,这个是 Redhat 系的 linux 发行版才默认有的,Debian 系的我记得好像没有,你需要自己装 |
37 Ericcccccccc May 27, 2024 你自己创建一个回收站文件夹不就行了 |
38 dayeye2006199 May 28, 2024 alias 一下 rm |
40 cnt2ex May 30, 2024 gio 就有回收站的功能 gio trash --list gio trash --restore gio trash --empty 这个回收站是 glib2 通用的,gnome 桌面环境就提供设置 30 天自动清除垃圾。 |