AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 408192
Accepted
youxiao
youxiao
Asked: 2017-12-02 05:33:41 +0800 CST2017-12-02 05:33:41 +0800 CST 2017-12-02 05:33:41 +0800 CST

为什么目录 /home、/usr、/var 等都具有相同的 inode 编号 (2)?

  • 772

我发现在我的根目录下,有一些目录具有相同的 inode 号:

$ ls -aid */ .*/

2 home/ 2 tmp/ 2 usr/ 2 var/ 2 ./ 2 ../ 1 sys/ 1 proc/

我只知道目录的名称保存在父目录中,而它们的数据保存在目录本身的inode中。

我在这里很困惑。

这就是我在跟踪路径名 /home/user1 时的想法。

  • 首先,我进入 inode 2,它是包含目录列表的根目录。
  • 然后我发现名称 home 与 inode 2 配对。
  • 所以我回到磁盘找inode 2?
  • 我在这里得到了 user1 这个名字?
linux filesystems
  • 2 2 个回答
  • 4120 Views

2 个回答

  • Voted
  1. Best Answer
    ilkkachu
    2017-12-02T06:03:56+08:002017-12-02T06:03:56+08:00

    他们在不同的设备上。

    如果我们查看 的输出stat,我们还可以看到文件所在的设备:

    # stat / | grep Inode
    Device: 801h/2049d      Inode: 2           Links: 24
    # stat /opt | grep Inode
    Device: 803h/2051d      Inode: 2           Links: 5
    

    所以这两个在不同的设备/文件系统上。Inode 编号仅在文件系统中是唯一的,因此这里没有什么不寻常的。在 ext2/3/4 上,inode 2也始终是根目录,因此我们知道它们是各自文件系统的根。

    设备号 + inode 的组合在整个系统中可能是唯一的。(有些文件系统没有传统意义上的 inode,但我认为它们仍然必须在其位置上伪造某种唯一标识符。)

    那里的设备编号似乎与设备节点上显示的相同,因此/dev/sda1保存文件系统所在/的位置:

    # ls -l /dev/sda1
    brw-rw---- 1 root disk 8, 1 Sep 21 10:45 /dev/sda1
    
    • 43
  2. John
    2017-12-02T05:37:45+08:002017-12-02T05:37:45+08:00

    任何给定文件的 inode 编号对于文件系统来说是唯一的,但对于安装在给定主机上的所有文件系统不一定是唯一的。当您有多个文件系统时,您会看到文件系统之间的 inode 编号重复,这是正常的。

    • 25

相关问题

  • du/df 和 ls 报告不同的磁盘使用情况

  • 需要一些系统调用

  • astyle 不会更改源文件格式

  • Linux 内核开发人员如何处理数百万行代码的工作?他们是一种方法吗?[关闭]

  • 通过标签将根文件系统传递给linux内核

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    JSON数组使用jq来bash变量

    • 4 个回答
  • Marko Smith

    日期可以为 GMT 时区格式化当前时间吗?[复制]

    • 2 个回答
  • Marko Smith

    bash + 通过 bash 脚本从文件中读取变量和值

    • 4 个回答
  • Marko Smith

    如何复制目录并在同一命令中重命名它?

    • 4 个回答
  • Marko Smith

    ssh 连接。X11 连接因身份验证错误而被拒绝

    • 3 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Marko Smith

    systemctl 命令在 RHEL 6 中不起作用

    • 3 个回答
  • Marko Smith

    rsync 端口 22 和 873 使用

    • 2 个回答
  • Marko Smith

    以 100% 的利用率捕捉 /dev/loop -- 没有可用空间

    • 1 个回答
  • Marko Smith

    jq 打印子对象中所有的键和值

    • 2 个回答
  • Martin Hope
    EHerman JSON数组使用jq来bash变量 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux 日期可以为 GMT 时区格式化当前时间吗?[复制] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC 如何复制目录并在同一命令中重命名它? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve “root”用户的文件权限如何工作? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe 将默认编辑器更改为 vim for _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey 如何下载软件包而不是使用 apt-get 命令安装它? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao 为什么目录 /home、/usr、/var 等都具有相同的 inode 编号 (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg —list-keys 命令在将私钥导入全新安装后输出 uid [未知] 2017-11-26 18:26:02 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve