gpt4 book ai didi

ubuntu - 了解 Ubuntu 中不同对象的相同 inode 编号

转载 作者:行者123 更新时间:2023-12-02 08:21:36 25 4
gpt4 key购买 nike

为什么 Ubuntu 中/cdrom 的 inode 编号与 /sys/devices/platform/power 相同?

以下内容在我的 Ubuntu 中具有相同的 inode 编号

./media/BACKUP_1/MISC
./cdrom
./sys/devices/platform/power

我通过在根目录运行以下命令来获取它们

find . -inum 12 2> /dev/null
<小时/>

回复莱夫勒的回答

我运行

stat cdrom

我明白了

  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

此信息告诉您什么?

回复莱夫勒的编辑

Often, you can dissect the device number into a major and minor device number which is what 'ls -l' prints for a device.

这个命令ls -l cdrom给了我这个

lrwxrwxrwx 1 root root 11 2009-08-03 04:19 cdrom -> media/cdrom 

如何从中看到主设备号和次设备号?

最佳答案

这些设备可能位于不同的文件系统上 - 并且文件系统和 inode 号的组合是唯一的。

如果您使用 stat() 系统调用,相关字段为 st_inost_dev (以及 st_rdev code> 标识特殊设备)。

<小时/>

问题被扩展 - 询问可以从中收集哪些信息:

  File: `cdrom' -> `media/cdrom'
Size: 11 Blocks: 0 IO Block: 4096 symbolic link
Device: 801h/2049d Inode: 12 Links: 1

从中可以看出很多东西。关键是这个符号链接(symbolic link)位于设备号(st_rdev)为0x0801(或2049)的文件系统上,inode号为12。通常,您可以将设备号分解为主设备号和次设备号,这是“ls -l”为设备打印的内容。有很大的机会(但我还没有正式验证这一点)主设备编号是 8,次设备编号是 1(基于十六进制表示 0x0801)。

<小时/>

问题被第二次延长:

This command ls -l cdrom gives me this

lrwxrwxrwx 1 root root 11 2009-08-03 04:19 cdrom -> media/cdrom

How can you see the major and minor device number from this?

简短的回答是“你不能”。其中之一的输出可能会提供适当的信息:

ls -l media/cdrom
ls -lL cdrom

我建议上一个问题中显示的设备(stat 命令的输出)具有主设备 8 和次设备 1。您可以通过运行 'ls 发现这一点-l' 在作为“.”的文件系统安装的设备上。您可以使用“df .”来查找已安装设备的名称 - 可能还有其他机制也可以工作。

关于ubuntu - 了解 Ubuntu 中不同对象的相同 inode 编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1289848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com