AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 464392
Accepted
Flimm
Flimm
Asked: 2018-08-24 04:41:06 +0800 CST2018-08-24 04:41:06 +0800 CST 2018-08-24 04:41:06 +0800 CST

Dois arquivos em dois sistemas de arquivos separados podem compartilhar o mesmo número de inode? [duplicado]

  • 772
Essa pergunta já tem respostas aqui :
Por que os diretórios /home, /usr, /var, etc. têm o mesmo número de inode (2)? (2 respostas)
Fechado há 4 anos .

Se eu executar um comando como este:

find / -inum 12582925

Existe uma chance de que isso liste dois arquivos em sistemas de arquivos montados separados (de partições separadas) que receberam o mesmo número? O número do inode é exclusivo em um único sistema de arquivos ou em todos os sistemas de arquivos montados?

filesystems inode
  • 2 2 respostas
  • 5443 Views

2 respostas

  • Voted
  1. Best Answer
    Stephen Kitt
    2018-08-24T04:47:15+08:002018-08-24T04:47:15+08:00

    Um número de inode é exclusivo apenas em um único sistema de arquivos. Um exemplo que você encontrará rapidamente é o inode root em sistemas de arquivos ext2/3/4, que é 2:

    $ ls -id / /home
    2 /    2 /home
    

    Se você executar (assumindo GNU find)

    find / -printf "%i %p\n" | sort -n | less
    

    em um sistema com vários sistemas de arquivos, você verá muitos, muitos números de inode duplicados (embora você precise obter a saída com uma pitada de sal, pois ela também incluirá links físicos).

    Ao procurar um arquivo pelo número do inode, você pode usar a opção find's -xdevpara limitar sua pesquisa ao sistema de arquivos que contém o caminho inicial, se você tiver um único caminho inicial:

    find / -xdev -inum 12582925
    

    só encontrará arquivos com o número de inode 12582925 no sistema de arquivos raiz. ( -xdevtambém funciona com vários caminhos de início, mas sua utilidade é reduzida neste caso específico.)

    É a combinação do número do inode e do número do dispositivo ( st_deve st_inona statestrutura, %D %iem GNU find's -printf) que identifica um arquivo exclusivamente (em um determinado sistema). Se duas entradas de diretório tiverem o mesmo número de inode e dev, elas se referem ao mesmo arquivo (embora possivelmente por meio de duas montagens diferentes de um mesmo sistema de arquivos para montagens de ligação).

    Algumas findimplementações também possuem um -samefilepredicado que encontrará arquivos com o mesmo dispositivo e número de inode. A maioria das implementações [/ testtambém tem um -efoperador para verificar se dois caminhos de arquivos se referem ao mesmo arquivo (depois da resolução do link simbólico).

    • 40
  2. Ángel
    2018-08-24T14:07:02+08:002018-08-24T14:07:02+08:00

    Sim, o mesmo número de inode pode aparecer em um sistema de arquivos diferente. Se você deseja especificar o exato, você precisa não apenas do número do inode (st_ino), mas também do dispositivo onde o inode reside (st_dev, formado por dev_major —a classe geral do dispositivo— e dev_minor —a instância específica—).

    O par (st_dev, st_ino) identificará um arquivo específico (pelo menos se você não desmontar o sistema de arquivos onde este inode reside).

    Conforme declarado em inode(7) :

    Dispositivo onde o inode reside

    Cada inode (assim como o arquivo associado) reside em um sistema de arquivos hospedado em um dispositivo. Esse dispositivo é identificado pela combinação de seu ID principal (que identifica a classe geral do dispositivo) e ID secundário (que identifica uma instância específica na classe geral).

    Número do inode

    Cada arquivo em um sistema de arquivos tem um número de inode exclusivo. Os números de inode são garantidos como únicos apenas dentro de um sistema de arquivos (ou seja, os mesmos números de inode podem ser usados ​​por sistemas de arquivos diferentes , razão pela qual os links físicos podem não cruzar os limites do sistema de arquivos).

    • 4

relate perguntas

  • Qual sistema de arquivos devo usar em um cartão SD em um NAS?

  • Como saber antecipadamente se um .zip tem um diretório pai dentro

  • Disco alocado dinamicamente do Virtualbox *.vdi continua crescendo

  • du/df e ls relatando diferentes usos de disco

  • Como os desenvolvedores do kernel Linux lidam com seu trabalho com milhões de linhas de código? É um método? [fechado]

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

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

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve