Linux 또는 Unix와 같은 시스템에서 각 파일에는 고유 식별자가 호출됩니다. 파일의 위치를 식별 할뿐만 아니라 권한, 소유자, 파일 크기 및 파일 생성 및 수정 시간과 같은 파일의 메타 정보를 저장합니다. inode 이해는 특히 하드 링크, 파일 권한 및 스토리지 구조를 다룰 때 파일 시스템에 대한 깊은 이해에 중요합니다.
이 기사는 PHP의 lstat () 함수를 사용하여 파일의 inode 번호를 얻는 방법을 보여주고 예제와 함께 Inode의 역할과 중요성을 설명합니다.
간단히 말해서, Inode는 파일 시스템의 파일의 "ID 카드"입니다.
파일 유형 (일반 파일, 디렉토리, 기호 링크 등)
파일 권한
소유자 및 사용자 그룹
파일 크기
생성, 수정 및 액세스 시간
링크 수 (하드 링크 수)
데이터 블록 포인터 (파일 데이터의 실제 스토리지 위치)
파일 이름 자체는 inode에 있지 않으며 파일 이름은 디렉토리 항목에 저장되며 inode를 통해 파일 내용과 관련됩니다.
하드 링크 : 여러 다른 파일 이름이 동일한 inode를 가리켜 파일의 "별칭"을 구현할 수 있습니다.
파일이 동일한 지 확인하십시오 . inode가 동일하다면 동일한 파일을 가리 킵니다.
파일 시스템 디버깅 및 유지 보수 : 관리자 및 프로그래머는 Inode를 사용하여 파일 상태를 판단하고 최적화 및 수리 할 수 있습니다.
lstat () 는 PHP의 내장 기능으로, inode 번호를 포함한 파일 또는 기호 링크에 대한 자세한 정보를 얻을 수 있습니다. STAT () 와 달리 LSTAT ()는 상징적 링크를 따르지 않고 기호 링크 자체에 대한 정보를 얻습니다.
lstat ()는 파일의 다양한 속성을 포함하는 배열을 반환합니다. 여기서 'ino'는 inode 번호입니다.
<?php
// 정보를 검색하려면 파일 경로를 지정합니다
$file = '/path/to/your/file.txt';
// 사용 lstat 파일 정보를 얻으십시오
$fileInfo = lstat($file);
if ($fileInfo === false) {
echo "无法파일 정보를 얻으십시오";
} else {
// 얻다 inode 숫자
$inode = $fileInfo['ino'];
echo "문서 {$file} ~의 inode 숫자是: {$inode}\n";
}
?>
참고 : URL을 통해 원격 파일 정보를 얻으려면 PHP의 LSTAT ()는 원격 파일을 직접 작동 할 수 없으며 로컬 파일 경로 만 처리 할 수 있습니다.
두 개의 파일 경로가 있다고 가정하고, 동일한 inode, 즉 하드 링크인지 여부를 결정하려고합니다.
<?php
$file1 = '/path/to/file1.txt';
$file2 = '/path/to/file2.txt';
$info1 = lstat($file1);
$info2 = lstat($file2);
if ($info1 && $info2) {
if ($info1['ino'] === $info2['ino']) {
echo "문서 {$file1} 그리고 {$file2} 어려운 링크입니다,inode 숫자相同: {$info1['ino']}\n";
} else {
echo "문서 {$file1} 그리고 {$file2} 不어려운 링크입니다,inode 숫자不同\n";
}
} else {
echo "无法파일 정보를 얻으십시오\n";
}
?>
Inode는 파일 시스템의 중요한 개념이며 파일의 고유 식별자입니다.
PHP의 lstat () 함수는 파일의 inode 번호 및 기타 자세한 정보를 쉽게 얻을 수 있습니다.
inode 번호는 하드 링크, 파일 인증 및 기타 시나리오를 결정하는 데 사용될 수 있습니다.
inode를 이해하면 파일 시스템 구조 및 파일 관리에 대한 더 깊은 이해가 도움이됩니다.