我的 /tmp 安装在哪里?

Vor*_*rac 11 partition mount block-device

$ df /tmp
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/root      480589544 42607368 413546516  10% /

$ ls /dev/root
ls: cannot access /dev/root: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我想检查我的默认 Debian 安装位置是/tmp在 RAM 中还是在磁盘上,但现在完全糊涂了。为什么不存在的设备会被报告为文件系统类型?“安装在/”是什么意思?

这是输出mount

/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=811520k,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1013960,mode=755)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1623020k)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
none_debugfs on /sys/kernel/debug type debugfs (rw,relatime)
cgroup on /sys/fs/cgroup type tmpfs (rw,relatime,size=12k)
cgmfs on /run/cgmanager/fs type tmpfs (rw,relatime,size=100k,mode=755)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=/run/cgmanager/agents/cgm-release-agent.systemd,name=systemd)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=811520k,mode=700,uid=1000,gid=1000)
Run Code Online (Sandbox Code Playgroud)

小智 11

如果输出如上,则在硬盘上。您可以/dev/root通过查看内核命令行来获得:

$ cat /proc/cmdline | grep root
BOOT_IMAGE=/boot/vmlinuz-3.19.0-32-generic root=UUID=0cde5cf9-b15d-4369-b3b1-4405204fd9ff ro
Run Code Online (Sandbox Code Playgroud)

所以/dev/root相当于上面印有UUID的分区;你的会有所不同。要查找此 UUID,请使用

$ sudo blkid
/dev/sda1: UUID="0cde5cf9-b15d-4369-b3b1-4405204fd9ff" TYPE="ext4" 
/dev/sda5: UUID="37bc6a9c-a27f-43dc-a485-5fb1830e1e42" TYPE="swap" 
/dev/sdb1: UUID="177c3cec-5612-44a7-9716-4dcba27c69f9" TYPE="ext4" 
Run Code Online (Sandbox Code Playgroud)

如您所见,匹配的分区是/dev/sda1. 所以你/tmp在硬盘上。输出中的另一个赠品df是 mountpoint /。如果你安装/tmp在内存中,你会得到

$ df /tmp
Filesystem     1K-blocks  Used Available Use% Mounted on
tmpfs            3640904    20   3640884   1% /tmp
Run Code Online (Sandbox Code Playgroud)


Gil*_*il' 9

输出df /tmp给出了答案:“安装在”栏列出/,所以/tmp是文件系统的一部分的安装/,即在根文件系统。它不是一个单独的文件系统。

更准确地说,您应该运行df /tmp/:如果/tmp是符号链接,则df /tmp列出有关符号链接位置的df /tmp/信息,而列出有关目标目录的信息。

/dev/root在设备列中提到是因为它被列在 中/etc/mtab。您可以/proc/mounts使用</proc/mounts awk '$2 == "/" {print $1}'或查找真实设备findmnt /