Computer >> 컴퓨터 >  >> 체계 >> Linux

Linux Inode는 어떻게 작동합니까?

Linux Inode는 어떻게 작동합니까?

Linux를 오랫동안 사용해 왔다면 "inode"라는 용어를 보았을 것입니다. 이것은 때때로 나타날 것이지만 당신이 하는 일에 영향을 미치지는 않습니다. 여기서 우리는 inode가 무엇이며 어떻게 작동하는지 설명할 것입니다.

아이노드란 무엇입니까?

도서관에서 모든 책은 장르, 저자 이름 또는 청중 연령대별로 정리되어 있습니다. "Bobby Daniels"의 스릴러를 찾으려면 스릴러 섹션으로 직접 걸어가 "B"로 시작하는 작가 이름을 찾기 시작합니다. 라이브러리와 마찬가지로 Linux 시스템의 모든 파일은 효율적인 검색 및 사용을 위해 구성됩니다. Inode는 Linux 시스템 내에서 파일 배열을 지원하는 엔티티입니다.

파일 메타데이터란 무엇입니까?

"hello" 데이터가 포함된 "sample.txt"라는 파일이 있다고 가정해 보겠습니다.

Linux Inode는 어떻게 작동합니까?

이 파일에는 파일 크기, 권한, 사용자 및 그룹 소유권, 생성/액세스/수정 타임스탬프, 링크 수 등과 같은 일부 데이터 및 관련 정보가 있습니다. 이러한 모든 정보를 집합적으로 파일 메타데이터라고 합니다.

Linux Inode는 어떻게 작동합니까?

파일 시스템이란 무엇입니까?

하드 드라이브와 같은 저장 장치에서 파티션은 파일 저장에 사용되기 전에 파일 시스템으로 포맷됩니다. 파일 시스템은 하드 드라이브의 사서입니다. 형식적으로 파티션에 파일을 체계적으로 저장하기 위해 함께 작동하는 데이터 구조 및 알고리즘 세트입니다.

Linux 시스템의 파티션은 종종 EXT4로 포맷됩니다. BTRFS(B-Tree File System), Reiser File System, ZFS 등과 같은 다른 파일 시스템도 사용할 수 있습니다.

모두 함께 묶기

Inode는 파일에 대한 모든 메타데이터를 보유하는 Ext4의 데이터 구조입니다.

Linux Inode는 어떻게 작동합니까?

물론 파일 시스템에는 수많은 파일이 있을 것입니다. 짐작했듯이 모든 파일에는 고유한 inode가 있습니다. inode를 고유하게 식별하기 위해 각 inode에 번호가 지정됩니다.

Inode 번호 매기기는 어떻게 됩니까?

파일 시스템의 Inode 번호는 1부터 시작합니다. 처음 10개의 inode는 시스템용으로 예약되어 있습니다. 사용자 파일에는 inode 11에서 저장된 메타데이터가 있습니다. 모든 inode는 Inode 테이블에 깔끔하게 쌓여 있습니다.

Linux Inode는 어떻게 작동합니까?

Inode 테이블의 한 항목은 크기가 256바이트입니다. 파일의 경우 Linux는 256바이트 내에서 모든 메타데이터를 지능적으로 구성합니다! 또한 파일에 대한 inode에는 파일 시스템에서 파일 데이터가 있는 위치에 대한 정보도 있습니다. 기억하십시오. 파일의 메타데이터만 inode에 저장됩니다.

파일 시스템의 총 inode 수는 사용 가능한 공간과 파티션에 저장할 수 있는 파일 수에 따라 다릅니다.

Inode는 어떻게 할당 및 할당 해제됩니까?

사용자가 새로 포맷된 파일 시스템에 파일을 추가하면 11부터 시작하는 inode가 파일 메타데이터를 저장하기 위해 할당됩니다.

아이노드의 할당 상태를 추적하기 위한 "아이노드 비트맵"이라는 또 다른 데이터 구조가 있습니다. 지도 역할을 하는 비트 모음입니다.

아래 표와 같이 inode 11~18의 할당 상태를 나타내기 위해 inode 비트맵의 8비트를 살펴보겠습니다. 비트맵에서 값 1은 inode가 할당되었음을 의미합니다. 즉, 파일에 대한 메타데이터를 보유하는 데 사용됩니다. 비트맵에서 값이 0이면 inode가 현재 사용되지 않음을 의미합니다. 여기에서 inode 17이 사용 중임을 알 수 있습니다.

Linux Inode는 어떻게 작동합니까?

inode 17에 메타데이터가 있는 파일이 삭제된 경우 해당 비트맵 상태는 0이 되어 다른 파일에서 사용할 수 있음을 나타냅니다.

Linux Inode는 어떻게 작동합니까?

파일의 Inode 번호를 보는 방법은 무엇입니까?

두 가지 방법이 있습니다.

첫 번째는 ls를 사용하는 것입니다. –i 명령 스위치 다음에 파일 이름이 옵니다. 출력의 첫 번째 필드는 "sample.txt"의 메타데이터가 있는 inode 번호입니다.

Linux Inode는 어떻게 작동합니까?

stat를 사용하여 동일한 정보를 얻을 수 있습니다. 명령 다음에 파일 이름이 옵니다.

Linux Inode는 어떻게 작동합니까?

파티션에 사용할 수 있는 총 inode 수를 보려면 df 명령은 -i와 함께 사용할 수 있습니다. 스위치.

Linux Inode는 어떻게 작동합니까?

"/dev/sda4" 파티션에서 404754480개의 inode를 사용할 수 있으며 이 중 359044개의 inode만 사용됩니다.

결론

본질적으로 Inode 테이블은 파일 데이터의 위치에 대한 정보와 함께 모든 파일의 메타데이터를 inode에 세심하게 쌓습니다. Linux inode에 대해 논의한 모든 내용은 빙산의 일각에 불과합니다. 내부 작동에 대한 자세한 내용은 이 링크를 참조하세요.