$ 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
我想检查我的默认 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)
答案1
如果输出如上,则它在硬盘上。您可以/dev/root
通过查看内核命令行来获取:
$ cat /proc/cmdline | grep root
BOOT_IMAGE=/boot/vmlinuz-3.19.0-32-generic root=UUID=0cde5cf9-b15d-4369-b3b1-4405204fd9ff ro
所以/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"
如您所见,匹配的分区是/dev/sda1
.所以你的/tmp
在硬盘上。输出中的另一个赠品df
是 mountpoint /
。如果你安装/tmp
在 RAM 中,你会得到
$ df /tmp
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 3640904 20 3640884 1% /tmp
答案2
的输出df /tmp
给出了答案:“Mounted on”列列出了/
,因此/tmp
是安装在 上的文件系统的一部分/
,即根文件系统。它不是一个单独的文件系统。
为了更准确,您应该运行df /tmp/
: if/tmp
是符号链接,则df /tmp
列出有关符号链接位置的信息,而df /tmp/
列出有关目标目录的信息。
设备列中提及/dev/root
是因为它列在 中/etc/mtab
。您可以/proc/mounts
通过使用</proc/mounts awk '$2 == "/" {print $1}'
或查找来找到真实设备findmnt /
。
答案3
df /path/to/target
显示哪个文件系统包含文件夹目标、总字节数、已用字节数、可用百分比和安装点。
在此问题中记录的示例中,该文件夹/tmp/
位于标记为 的文件系统内root
,该文件系统位于块设备 上/dev/sda1
。
mount | grep target
将显示包含 中列出的名称目标的任何文件系统/etc/mtab
。如果目标文件夹不是一个单独的文件系统,mount将不会直接给你准确的信息。
但是,要了解设备包含什么/tmp/
,请使用df
获取文件系统名称 ( /dev/root
) 和安装点 ( /
),然后搜索 的输出以mount
查找设备或安装点并确定哪个块设备保存该文件系统。
区分设备和文件系统很重要,因为并不总是存在 1:1 的相关性。块设备可以分区,每个分区都有一个文件系统。每个分区可以有不同类型的文件系统。每个分区都有自己唯一的名称和 UUID,并且可以有别名。
答案4
检查一下这个,mount
比较合适。您可以尝试一下,然后在“tmp”上 grep 其输出
前任:
$ mount | grep tmp
tmpfs on /dev/shm type tmpfs ...
这里说我的分区/dev/shm
挂载了临时文件系统(临时文件存储,即在 RAM 中)。如果您的分区未使用 tmpfs 挂载,则它不在易失性内存中。