为什么 /cdrom 的 inode 号与 /cdrom 的 inode 号相同/sys/devices/platform/power
在Ubuntu中?
以下在我的 Ubuntu 中具有相同的 inode 编号
./media/BACKUP_1/MISC
./cdrom
./sys/devices/platform/power
我通过在根目录运行以下命令来获取它们
find . -inum 12 2> /dev/null
回复莱夫勒的回答
I run
stat cdrom
I get
File: `cdrom' -> `media/cdrom'
Size: 11 Blocks: 0 IO Block: 4096 symbolic link
Device: 801h/2049d Inode: 12 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-08-03 04:25:35.000000000 +0300
Modify: 2009-08-03 04:19:05.000000000 +0300
Change: 2009-08-03 04:19:05.000000000 +0300
这些信息告诉你什么?
回复莱夫勒的编辑
通常,您可以剖析该设备
主要设备和次要设备的编号
'ls -l' 打印的数字
对于一个设备。
这个命令ls -l cdrom
给我这个
lrwxrwxrwx 1 root root 11 2009-08-03 04:19 cdrom -> media/cdrom
如何从中看出主设备号和次设备号?
这些设备可能位于不同的文件系统上 - 文件系统和索引节点号的组合是唯一的。
如果您使用stat()
系统调用,相关字段是st_ino
and st_dev
(and st_rdev
识别特殊设备)。
问题被扩展了——询问可以从中收集哪些信息:
File: `cdrom' -> `media/cdrom'
Size: 11 Blocks: 0 IO Block: 4096 symbolic link
Device: 801h/2049d Inode: 12 Links: 1
从中可以看出很多东西。关键是这个符号链接位于设备号为(st_rdev
)为 0x0801(或 2049),inode 号为 12。通常,您可以将设备号分解为主设备号和次设备号,这就是 'ls -l
' 为设备打印。有很大可能(但我尚未正式验证这一点)主设备编号为 8,次设备编号为 1(基于十六进制表示形式 0x0801)。
这个问题被第二次延长:
这个命令ls -l cdrom
给我这个
lrwxrwxrwx 1 root root 11 2009-08-03 04:19 cdrom -> media/cdrom
如何从中看出主设备号和次设备号?
简短的回答是“你不能”。其中之一的输出可能会提供适当的信息:
ls -l media/cdrom
ls -lL cdrom
上一个问题中显示的设备(来自stat
我建议,命令)有主设备 8 和次设备 1。您可以通过运行 'ls -l
' 在作为 ' 的文件系统安装的设备上.
'。你可能会使用'df .
' 查找已安装设备的名称 - 可能还有其他机制也可以工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)