Ubuntu上的哪些目录实际上不在硬盘上?

我的Ubuntu计算机上的哪些目录实际上不在我的硬盘上? 我正在制作一个个人备份软件,有些目录不是“真实的”哪些目录实际上不在我的硬盘上?

谢谢

要列出所有已安装的文件系统及其虚拟的挂载点目录(即没有物理磁盘存储支持),您可以解析mount命令的输出。

为简单起见,我只过滤掉与/dev/sd/dev/mmcblk开头的设备相对应的所有安装,这应该涵盖大多数硬盘分区和可移动媒体。 这并不完美,因为你可能会有不同的设备,然后不会被过滤掉,但是后来你仍然看到输出中安装了什么,我更喜欢假阴性结果。 如果您发现需要添加内容,只需将其添加到第一个grep命令的正则表达式模式中,在(...)括号内,并与另一个以| a开头的过滤行分隔| 管。

 mount | grep -vE '^(/dev/sd|/dev/mmcblk)' | grep -oE '\S+ on \S+' | sort -k3 | column -t 

这将导致一个安装列表,就像我的示例机器上的安装一样:

 $ mount | grep -vE '^(/dev/sd|/dev/mmcblk)' | grep -oE '\S+ on \S+' | sort -k3 | column -t udev on /dev hugetlbfs on /dev/hugepages mqueue on /dev/mqueue devpts on /dev/pts tmpfs on /dev/shm proc on /proc binfmt_misc on /proc/sys/fs/binfmt_misc systemd-1 on /proc/sys/fs/binfmt_misc tmpfs on /run cgmfs on /run/cgmanager/fs hugetlbfs-kvm on /run/hugepages/kvm tmpfs on /run/lock tmpfs on /run/user/1000 gvfsd-fuse on /run/user/1000/gvfs sysfs on /sys efivarfs on /sys/firmware/efi/efivars tmpfs on /sys/fs/cgroup cgroup on /sys/fs/cgroup/blkio cgroup on /sys/fs/cgroup/cpu,cpuacct cgroup on /sys/fs/cgroup/cpuset cgroup on /sys/fs/cgroup/devices cgroup on /sys/fs/cgroup/freezer cgroup on /sys/fs/cgroup/hugetlb cgroup on /sys/fs/cgroup/memory cgroup on /sys/fs/cgroup/net_cls,net_prio cgroup on /sys/fs/cgroup/perf_event cgroup on /sys/fs/cgroup/pids cgroup on /sys/fs/cgroup/systemd fusectl on /sys/fs/fuse/connections pstore on /sys/fs/pstore debugfs on /sys/kernel/debug securityfs on /sys/kernel/security none on /tmp 

此列表应显示右侧安装了虚拟文件系统的所有路径以及左侧相应类型的文件系统。 如上所述,由于仅过滤/dev/sd* ,列表中可能会出现一些误报结果。

因此,从该列表中我们可以得出结论, /dev/proc/run/sys/tmp纯粹是虚拟的。 请注意,虽然前四个目录在所有Ubuntu安装中都是虚拟的,但/tmp通常存储在硬盘上,除非您手动将其设置为像我一样的tmpfs。 但它绝不应该包含在备份中。

如果你想要一种方法来减少路径列表并过滤掉所有那些只是已经提到的路径的子目录(例如/dev/pts可以省略,因为/dev已经列出),看看有了一个路径列表,如何过滤掉前面提到的路径的子目录?

这实际上取决于您将如何恢复系统。 如果您将重建,那么您只需要服务的配置/数据文件(例如:/ etc,/ opt,/ var,/ home)

如果您正在完成系统还原,那么您可以省略/ proc,/ boot和/ dev。 然后,您可以从引导介质安装最低操作系统,然后通过备份还原系统。

https://serverfault.com/questions/74696/linux-what-directories-should-i-exclude-when-backing-up-a-server