我试图弄清楚这一点,但发现自己毫无头绪:如何找出给定文件/inode 的设备名称(例如 /dev/sdb2)?例如
[root@serv07 /]# ls -i /etc/passwd
38357228 /etc/passwd
现在,我知道 inode 38357228(或 passwd)位于 /dev/sda2 上,但我如何才能找出任何给定/随机文件的位置?任何帮助都会有用。干杯!!
答案1
您可以使用df
df -P filename
会得到类似这样的结果:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 280496152 31269088 235090852 12% /
-P
是--portability
为了获得 POSIX 输出
为了方便起见:
df -P filename | awk 'NR==2{print $1}'
只会给你设备
答案2
您可以使用 stat 获取给定文件的挂载点:
$ stat -c '%m' /etc/fstab
/
您可以使用 /proc/mounts 来查找已安装的内容
awk '$2 == "/"' /proc/mounts
答案3
你可以使用stat
命令。请参阅 Stack Exchange 上的这个问题以了解详细信息:
https://stackoverflow.com/questions/4309882/device-number-in-stat-command-output