
에서https://linux.die.net/man/1/file:
매직 테스트는 특정 고정 형식의 데이터가 포함된 파일을 확인하는 데 사용됩니다. 이에 대한 표준적인 예는 이진 실행 파일(컴파일된 프로그램)
a.out
파일이며, 해당 형식은 표준 포함 디렉터리에 정의되어#include <a.out.h>
있을 수 있습니다 .#include <exec.h>
이러한 파일에는 파일 시작 부분 근처의 특정 위치에 저장되어 있는 '마법의 숫자'가 있는데, 이는 UNIX 운영 체제에 해당 파일이 바이너리 실행 파일임을 알려주고 그 파일의 여러 유형 중 하나입니다. 데이터 파일에도 '마법'이라는 개념이 확장 적용됐다. 파일에 대한 작은 고정 오프셋에 일부 불변 식별자가 있는 모든 파일은 일반적으로 이런 방식으로 설명될 수 있습니다. 이러한 파일을 식별하는 정보는 컴파일된 매직 파일에서 읽 거나, 컴파일된 파일이 없는 경우/usr/share/misc/magic.mgc
디렉터리의 파일에서 읽습니다./usr/share/misc/magic
또한 존재하는 경우$HOME/.magic.mgc
시스템$HOME/.magic
매직 파일보다 우선적으로 사용됩니다. 존재하는 경우/etc/magic
다른 매직 파일과 함께 사용됩니다.
그럴 수 있지. 따라서 우연히 텍스트 파일에 mp4
적절한 오프셋의 비디오와 같은 특정 '매직 넘버'가 포함되어 있는 경우... 이러한 텍스트 파일을 두 번 클릭하면 텍스트 편집기 대신 비디오 플레이어가 실행됩니다. ?
답변1
상황에 따라 다릅니다. 데스크톱에서는 file
. 아니면 단순히 파일 접미사를 보고 그렇게 믿을 수도 있습니다(예를 들어 참조).파일 확장자 및 MIME 유형에 대한 빠른 참조
).
어쨌든 비디오 플레이어는소유하다파일이 올바르게 로드되었는지 확인하고 순진한 구현만이 처음 몇 바이트만 볼 것입니다.
프로그램 file
은 다양한 정보(수행하는 측정에 대한 가중치 포함)를 혼합하여 사용합니다. mpeg4 파일에는 file
사용하지 않거나 필요하지 않은 정보가 많이 있습니다 . 예를 들어 참조MPEG-4 Part 14 오디오(M4A,M4B,M4P) 형식 및 복구 예, 그리고MP4 서명 형식: 문서화 및 복구 예