
저는 로그 파일을 처리하고 다음과 같은 파일에 진행 상황을 저장하는 logstash라는 소프트웨어를 사용하고 있습니다.
82484791-1419-65536 0 0 26507948
82484791-1420-65536 0 0 26071030
82484791-1421-65536 0 0 3065829
82484791-1422-65536 0 0 3973980
82484791-1425-65536 0 0 4301931
처리된 파일의 이름을 보고 싶습니다.
문서에 따르면 이는 다음과 같이 해석됩니다.
Sincedb 파일은 4개의 열로 구성된 텍스트 파일입니다.
inode 번호(또는 이에 상응하는 번호)입니다. 파일 시스템의 주요 장치 번호(또는 이에 상응하는 번호)입니다. 파일 시스템의 보조 장치 번호(또는 이에 상응하는 번호)입니다. 파일 내의 현재 바이트 오프셋입니다.
Linux에서는 다음을 사용하여 inode를 파일 이름으로 변환할 수 있습니다.
find /path/to/mountpoint -inum <inode number>
또는
debugfs -R 'ncheck <inode number>' /dev/sda2 2>/dev/null
이 작업을 수행하는 데 해당하는 Windows는 무엇입니까?Windows 파일 핸들/파일 설명자를 파일 및 디렉터리 이름으로 어떻게 변환합니까?
답변1
파일 설명자와 파일 핸들은 일시적입니다. 프로그램이 실행되는 동안에만 존재하며 재사용할 수 있습니다. 로그 파일에서 그것들을 찾는 것은 꽤 의미가 없습니다.
리눅스 아이노드는~ 아니다파일 설명자. 이는 Ext2 및 Ext3과 같은 일반적인 파일 시스템의 온디스크 파일 시스템 구조의 일부입니다. 이는 Linux에 매우 중요하므로 Linux는 Microsoft FAT 파일 시스템에 액세스할 때 inode 번호를 시뮬레이션합니다.
그러면 다음 문제가 발생합니다. 일반적인 Microsoft 파일 시스템은 inode를 사용하지 않기 때문에 Windows는 inode를 사용하지 않습니다. "또는 이에 상응하는" 값이 무엇인지는 매우 불분명합니다. 추측해야 한다면 그럴 것 같아요.업데이트 시퀀스 번호(USN)하지만 내 말을 믿지 마세요.