为什么/ cdrom与/sys/devices/platform/powerUbuntu中的inode -number相同?
以下在我的Ubuntu中具有相同的inode编号
./media/BACKUP_1/MISC
./cdrom
./sys/devices/platform/power
Run Code Online (Sandbox Code Playgroud)
我通过在root运行以下来获取它们
find . -inum 12 2> /dev/null
Run Code Online (Sandbox Code Playgroud)
回复Leffler的回答
我跑
stat cdrom
Run Code Online (Sandbox Code Playgroud)
我明白了
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
Run Code Online (Sandbox Code Playgroud)
这些信息告诉你什么?
回复Leffler的编辑
通常,您可以将设备编号分解为主要和次要设备编号,这是设备打印的"ls -l".
这个命令ls -l cdrom给了我这个
lrwxrwxrwx 1 root root 11 2009-08-03 04:19 cdrom -> media/cdrom
Run Code Online (Sandbox Code Playgroud)
你怎么看到这个主要和次要设备号?
这些设备可能位于不同的文件系统上 - 它是文件系统和唯一的inode编号的组合.
如果使用stat()系统调用,则相关字段为st_ino和st_dev(并st_rdev标识特殊设备).
问题被延长了 - 询问可以从中收集哪些信息:
File: `cdrom' -> `media/cdrom'
Size: 11 Blocks: 0 IO Block: 4096 symbolic link
Device: 801h/2049d Inode: 12 Links: 1
Run Code Online (Sandbox Code Playgroud)
从中可以收集到很多东西.关键是这个符号链接在文件系统上,设备号(st_rdev)为0x0801(或2049),并且inode号为12.通常,您可以将设备号解析为主设备号和次设备号,这是什么' ls -l'为设备打印.有一个很好的机会(但我还没有正式验证这一点)主要设备号是8而次要设备是1(基于十六进制表示0x0801).
这个问题第二次延长:
这个命令
ls -l cdrom给了我这个Run Code Online (Sandbox Code Playgroud)lrwxrwxrwx 1 root root 11 2009-08-03 04:19 cdrom -> media/cdrom你怎么看到这个主要和次要设备号?
简短的回答是"你不能".其中一个的输出可能是适当的信息:
ls -l media/cdrom
ls -lL cdrom
Run Code Online (Sandbox Code Playgroud)
stat我建议,上一个问题中显示的设备(命令的输出)主要设备8和次要设备1.您可以通过ls -l在作为文件系统安装的设备上运行' '来找到它..您可以使用' df .'来查找已安装设备的名称 - 可能还有其他机制也可以使用.
| 归档时间: |
|
| 查看次数: |
1459 次 |
| 最近记录: |