>  기사  >  운영 및 유지보수  >  Linux i-node 번호는 무엇을 의미합니까?

Linux i-node 번호는 무엇을 의미합니까?

青灯夜游
青灯夜游원래의
2023-03-30 11:49:202436검색

Linux에서 i-노드 번호는 다른 파일을 식별하는 데 사용되는 inode 번호를 나타냅니다. Linux는 내부적으로 파일 이름이 아닌 inode 번호를 사용하여 파일을 식별합니다. 시스템의 경우 파일 이름은 사용자가 파일을 식별하는 데 편리한 inode 번호의 또 다른 이름입니다. 번호이며 각 inode 번호는 A 파일 이름에 해당합니다.

Linux i-node 번호는 무엇을 의미합니까?

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

1. 리눅스의 i node

리눅스에서 i node는 inode 노드를 가리킨다.

Linux에서는 파일 이름으로 파일 검색이 이루어지지 않습니다. 실제로 파일 검색 및 위치 지정은 i 노드를 통해 이루어집니다. i 노드를 포인터 fip로 시각화할 수 있습니다. 파일이 디스크에 저장되면 파일은 반드시 디스크 위치에 저장됩니다. 파일 데이터가 디스크에 저장되므로 파일 데이터의 주소를 알면 읽고 싶을 때 상상할 수 있습니다. 파일 쓰기 이때 이 주소만 사용하여 파일을 찾을 수 있나요?

그렇습니다. Linux에서는 실제로 i-node는 디스크의 파일 저장 영역을 가리키는 주소로 간주됩니다. 다만 일반적으로 이 주소를 직접 사용할 수는 없지만 파일 이름을 통해 간접적으로 사용하는 것뿐입니다. 실제로 i 노드에는 파일 데이터 저장 영역의 주소뿐 아니라 데이터 크기, 기타 파일 정보 등 많은 정보가 포함되어 있습니다. 하지만 i 노드는 파일 이름을 저장하지 않습니다. 파일 이름은 디렉토리 항목에 저장됩니다. 각 디렉토리 항목에는 파일 이름과 i-노드가 포함되어 있습니다.

다이어그램을 사용하여 디렉터리 항목, i 노드 및 파일 데이터 간의 관계를 확인할 수 있습니다.

위 그림에서 볼 수 있듯이 디렉터리 항목에는 파일 이름과 i 노드가 포함되어 있습니다.

동시에 위 그림에서 디렉터리 항목 A와 디렉터리 항목 B의 i 노드는 동일한 저장 영역을 가리키고 이 저장 영역에는 printf("ha")의 데이터가 저장되어 있음을 알 수 있습니다.

helloA.c와 helloB.c의 내용이 동일하다는 의미입니다.

i 노드 번호

각 inode에는 번호(예: inode 번호)가 있으며 운영 체제는 inode 번호를 사용하여 다른 파일을 식별합니다.

————Linux는 파일 이름이 아닌 inode 번호를 내부적으로 사용합니다. 시스템에서 파일 이름은 inode 번호의 또 다른 이름이므로 사용자가 파일을 식별하는 데 편리합니다. 파일 이름과 inode 번호 사이에서 각 inode 번호는 파일 이름에 해당합니다.

아이노드 번호는 시스템이 인식하는 유일한 코드이며, 파일 이름은 사용자 식별만을 위한 것입니다. 아이노드(인덱스 노드) 테이블에는 파일 시스템의 모든 파일 목록이 포함되어 있습니다. 관련 파일 정보(메타데이터)를 포함한 테이블 항목입니다.

파티션 후 하드 디스크의 구조:

Linux i-node 번호는 무엇을 의미합니까?

  • 사용자가 Linux 시스템의 파일에 액세스하려고 하면 시스템은 먼저 파일 이름을 기반으로 해당 inode 번호를 검색합니다. inode 정보를 기반으로 사용자가 이 파일에 액세스할 수 있는 권한이 있는지 확인하고, 그렇지 않은 경우 해당 데이터 블록을 가리키고 데이터를 읽습니다.

파일 액세스를 위한 간단한 프로세스:

Linux i-node 번호는 무엇을 의미합니까?

2. Linux 파일 저장

2.1 Inode 수 제한

  • Inode도 하드디스크 공간을 소모하므로 포맷하세요. , 운영 체제는 자동으로 하드 디스크를 두 영역으로 나눕니다. 하나는 파일 데이터를 저장하는 데이터 영역이고 다른 하나는 inode에 포함된 정보를 저장하는 inode 영역입니다. 각 inode의 크기는 일반적으로 128바이트 또는 256바이트입니다.
  • 일반적으로 단일 inode의 크기에 신경 쓸 필요는 없지만 총 inode 수는 포맷 중에 결정됩니다
    ——왜 필요한가요? 왜냐하면아이노드를 모두 사용하면 디스크에 공간이 남아 있어도 새 파일을 생성할 수 없기 때문입니다, 파일을 생성할 때 그에 상응하는 아이노드 번호가 필요하기 때문입니다. , inode 없이는 새 파일을 만들 수 없습니다.
    "df-i" 명령을 실행하면 각 하드 디스크 파티션에 해당하는 총 inode 수와 사용된 inode 수를 확인할 수 있습니다.

Linux i-node 번호는 무엇을 의미합니까?

2.2 inode의 내용

inode에는 파일의 메타 정보, 특히 다음 내용이 포함됩니다.

  • 파일의 바이트 수
  • 파일의 소유자 사용자 ID
  • The 파일의 그룹 ID
  • 파일의 읽기, 쓰기 및 실행 권한
  • 링크 수, 즉 이 inode를 가리키는 파일 수
  • 파일의 타임스탬프
  • 파일을 보는 두 가지 방법 특정 파일의 inode 정보

방법 1: stat [파일 이름]

예: stat aa.txt

Linux i-node 번호는 무엇을 의미합니까?

장점: 파일 inode의 자세한 정보를 볼 수 있습니다.

방법 2: ls -i [파일 이름]

Linux i-node 번호는 무엇을 의미합니까?

inode 번호만 표시할 수 있습니다

2.3 Linux 시스템 파일의 세 가지 주요 시간 속성

Linux 시스템 파일의 세 가지 주요 시간 속성(예: inode의 타임스탬프)

  • ctime(변경 시간)
    파일 또는 디렉터리의 마지막 변경 시간( 속성 )
  • atime(액세스 시간)을 나타냅니다. )
    마지막으로 액세스한 시간을 나타냅니다 파일 또는 디렉터리
  • mtime(수정 시간)
    파일 또는 디렉터리( 콘텐츠 )를 마지막으로 수정한 시간을 나타냅니다( 콘텐츠
  • )

3. 특별한 역할 inode

inode 번호와 파일 이름이 분리되어 일부 Unix/Linux 시스템에서는 다음과 같은 현상이 있습니다.

  • 파일 이름에 특수 문자가 포함된 경우 파일이 정상적으로 삭제되지 않을 수 있습니다. inode를 직접 삭제하거나 파일을 삭제할 수 있습니다
  • 파일을 이동하거나 이름을 바꿀 때 파일 이름만 변경되고 inode 번호는 영향을 받지 않습니다
  • 파일을 연 후 시스템은 inode 번호로 파일을 식별합니다. 파일 이름을 고려하면 더 길어집니다
  • 파일 데이터를 수정하고 저장한 후에는 새 inode 번호가 생성됩니다(원래 inode 번호는 해제됩니다)

통과 방법 inode 번호 삭제 및 파일 삭제:

방법 1(삭제 전 정보 확인 필요): find ./ -inum [inode 번호] -exec rm -i {} ;

Linux i-node 번호는 무엇을 의미합니까?

방법 2(직접 삭제): find ./ / -inum [inode number] -delete

Linux i-node 번호는 무엇을 의미합니까?

관련 추천: "Linux 비디오 튜토리얼

"🎜

위 내용은 Linux i-node 번호는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.