"file"로 인식되는 파일 형식에 대해 사람이 읽을 수 있는 정보를 어떻게 찾을 수 있나요?

"file"로 인식되는 파일 형식에 대해 사람이 읽을 수 있는 정보를 어떻게 찾을 수 있나요?

검색, 구글링, 에 관한 내용을 찾을 수 없습니다 file.

예를 들어 *.mp4 파일은 "ISO 미디어"로 인식됩니다(VLC를 사용하여 정상적으로 재생할 수 있습니다). 이는 100% 명확하지 않으며 이것이 올바른 감지인지 또는 파일이 ISO 이미지와 혼동되는 것인지 궁금합니다. (샘플이 어떤 방식으로든 손상되었거나 알고리즘이 모든 유형에 대해 100% 정확하지 않기 때문입니다.)

내 문제는 파일 형식에 따라 전환되는 몇 가지 규칙을 설정해야 한다는 것입니다. 샘플 파일 세트를 생성했지만 코드에서 인식해야 하는 모든 유형의 샘플을 충분히 수집할 수 없습니다. 실제 장면은 엄청날 수 있습니다.

덜 명확한 유형에 대한 참고 자료로 사용할 몇 가지 리뷰를 읽을 수 있다면 충분할 것입니다. 하지만 놀랍게도 유용한 정보를 찾을 수 없었습니다. 내 검색의 대부분은 마법의 파일 형식 사양으로 끝났는데 이는 실제로 도움이 되지 않았습니다. 나는 ...에 관심이 있습니다.이것데비안과 함께 배포되는 매직 파일.

답변1

유형 감지 정보는 실제로 파일 프로그램에 내장되어 있지 않습니다. 파일 프로그램은 매직 파일을 읽은 다음 해당 파일에서 서명을 검색하여 일치하는 항목을 확인합니다.

이 매직 파일은 magic.mgc컴파일된 버전과 사람이 읽을 수 있는 원본 소스 코드인 magic. 내 Fedora 기반 시스템에서는 다음 위치에서 찾을 수 있습니다.

/usr/share/misc/magic
/usr/share/misc/magic.mgc

파일 형식에 대한 자세한 내용은 magic(5)매뉴얼 페이지에서 확인할 수 있습니다.

답변2

글쎄요, file 명령의 소스 코드가 사람이 읽을 수 있는지는 모르겠습니다.

하지만 mp4가 iso로 인식되는 이유를 알고 싶다면 소스 코드를 읽기 시작하겠습니다.

관련 정보