Linux에서 Inode는 무엇이며 어떻게 사용됩니까?

Linux 의 모든 것은 일관성을 유지하기 위한 파일로 간주됩니다. 여기에는 하드웨어 장치, 프린터, 디렉터리 및 프로세스가 포함됩니다. 음악, 텍스트, 비디오 및 기타 멀티미디어 파일과 같은 일반 파일에도 메타데이터라는 추가 데이터가 연결되어 있습니다.

Linux 에서 (Linux)Inode(Inodes) 는 무엇입니까 ? Inode 항목은 Linux 파일 시스템(Linux file system) 의 기초입니다 . 그들은 파일에 대한 메타데이터를 관리하고 Linux 내부 작동의 필수적인 부분입니다 . 

파일 시스템의 구조는 무엇입니까?(What Is The Structure Of a File System?)

파일 시스템은 데이터 블록과 inode의 두 부분으로 나뉩니다. 블록 수는 한 번 생성되면 고정되며 변경할 수 없습니다.

이름, 경로, 위치, 링크 및 기타 파일 속성이 디렉토리에 없습니다. 디렉토리는 일치하는 inode 번호를 가진 파일의 이름을 포함하는 단순히 테이블입니다.

동일한 파일에 대해 둘 이상의 이름을 생성하는 하드 링크를 생성할 수 있습니다. 하드 링크를 생성하면 inode가 있는 테이블에 새 이름도 생성되지만 파일은 이동하지 않습니다.

대용량 파일을 이동하는 경우 시간이 오래 걸립니다. 새 디렉토리에 이름 항목을 만들고 이전 항목을 삭제하는 것이 더 효율적입니다. 같은 방법으로 파일의 이름을 바꿀 수도 있습니다.

계층 구조의 맨 위 부분은 파일 시스템 자체입니다. 파일 시스템에는 파일 이름이 있습니다. 파일 이름은 inode에 연결됩니다. inode는 물리적 데이터에 연결됩니다.

Linux에서 Inode는 무엇입니까?(What Are Inodes In Linux?)

inode는 데이터 구조입니다. 파일 시스템의 파일 또는 디렉토리를 정의하고 디렉토리 항목에 저장됩니다. Inode는 파일을 구성하는 블록을 가리킵니다. inode는 파일을 읽는 데 필요한 모든 관리 데이터를 포함합니다. 모든(Every) 파일의 메타데이터(metadata) 는 테이블 구조의 inode에 저장됩니다.

이름으로 파일을 참조하는 프로그램을 사용할 때 시스템은 해당 inode를 가져오기 위해 해당 파일이 있는 디렉토리 항목 파일을 찾습니다. 이것은 시스템에 프로세스나 작업을 수행하는 데 필요한 파일 데이터와 정보를 제공합니다.

Inode는 일반적으로 파티션(beginning of a partition) 의 시작 부분 근처에 있습니다 . 파일 이름과 실제 데이터를 제외하고 파일과 관련된 모든 정보를 저장합니다. 모든 Linux 디렉토리의 모든 파일에는 파일 이름과 inode 번호가 있습니다. 사용자는 inode 번호를 참조하여 파일의 메타데이터를 검색할 수 있습니다.

파일(File) 이름과 inode 번호는 별도의 인덱스에 저장되며 inode에 대한 링크입니다. 파일을 나타내는 메타데이터에 연결할 수 있습니다. 아래 이미지에서 볼 수 있듯이 하나의 데이터 또는 inode에 연결되는 여러 파일 이름을 가질 수 있습니다.

아이노드 번호는 무엇입니까?(What Is The Inode Number?)

Linux 구조 의 모든 inode에는 식별되는 고유 번호가 있습니다. 인덱스 번호라고도 하며 다음과 같은 속성이 있습니다.

  • 크기
  • 소유자
  • 날짜 시간
  • 권한 및 액세스 제어
  • 디스크의 위치
  • 파일 형식
  • 링크 수
  • 파일에 대한 추가 메타데이터

inode 번호 목록을 확인하려면 다음 명령을 사용하십시오.

ls -i

아래 스크린샷은 맨 왼쪽 열에 나타나는 inode 번호가 있는 디렉토리를 보여줍니다.

Inode는 어떻게 작동합니까?(How Do Inodes Work?)

새 파일을 만들 때 파일 이름과 inode 번호가 할당됩니다. 둘 다 디렉토리에 항목으로 저장됩니다. ls 명령 (ls -li )을 실행하면 디렉토리에 저장된 파일 이름과 inode 번호 목록이 표시됩니다.

아래 명령을 사용하여 각 파일 시스템에 대한 inode 정보를 나열합니다.

df-안녕하세요(df -hi)

얼마나 많은 Inode를 사용하고 있습니까?

파일 시스템에서 공간이 부족해지는 한 가지 방법은 모든 inode를 사용하는 것입니다. 디스크에 충분한 여유 공간이 있어도 새 파일을 만들 수 없습니다.

모든 inode를 사용하면 시스템이 갑자기 중지될 수도 있습니다. used, free 및 백분율 사용과 같은 inode 사용에 대한 통계 목록을 보려면 다음 명령을 입력하십시오.

sudo df -ih

Inode가 사용되는 추가 방법(Additional Ways Inodes Are Used)

Linux 에서 inode가 작동하는 방식 은 충돌하는 inode 번호를 갖는 것을 불가능하게 합니다. 다른 파일 시스템 간에 하드 링크를 만드는 것은 불가능합니다. 그러나 다른 파일 시스템에서 소프트 링크를 사용할 수 있습니다. 원본 파일을 삭제해도 하드 링크를 통해 데이터를 계속 사용할 수 있습니다.

파일을 삭제하면 특정 inode 번호를 가리키는 이름 중 하나를 제거하기만 하면 됩니다. 데이터는 동일한 inode 번호와 관련된 모든 이름을 삭제할 때까지 유지됩니다. Linux 시스템은 inode가 작동하는 방식 때문에 대부분 시스템 재부팅 없이 업데이트됩니다. 

프로세스는 라이브러리 파일을 동시에 사용할 수 있으며 다른 프로세스는 동일한 파일을 최신 업데이트 버전으로 교체하고 새 inode를 생성합니다. 실행 중인 프로세스는 이전 파일을 계속 사용합니다. 다음에 동일한 프로세스를 사용하면 새 버전이 사용됩니다.

사용자는 inode와 직접 상호 작용하지 않지만 Linux 파일 구조의 기본 구성 요소를 나타냅니다.



About the author

저는 Windows MVP이고 2007년부터 Windows로 작업해 왔습니다. 제 경험에는 소프트웨어 개발, 하드웨어 및 사운드, Windows 앱이 포함됩니다. 저는 항상 제 작업에서 사용자 경험을 개선할 수 있는 최선의 방법을 찾고 있습니다. 따라서 소프트웨어 응용 프로그램을 설계하거나 개발하는 데 도움이 필요하면 제 서비스를 제공할 수 있습니다.



Related posts