답변:
마법의 수는 보통 (보통 처음에) 특정 위치에 특정 형식의 모든 파일에 사용되는 일련의 바이트입니다. 특정 형식의 모든 파일은 특정 위치에 특정 바이트 시퀀스가 있고 다른 형식의 대부분의 파일에는 해당 문자가 없으므로 마법 번호는 파일의 형식을 인식하는 방법입니다.
여기에서이 개념은 파일 시스템 형식에 적용됩니다. 예를 들어, ext2 / ext3 / ext4 파일 시스템의 0x53 0xEF위치 는 항상 1080–1081 위치에 있습니다. reiserfs 파일 시스템은 항상 ReIsErFs위치 65588 (또는 ReIsEr2Fs최신 버전의 경우 등)에서 시작 합니다. 다른 파일 시스템은 비슷한 매직 넘버를 가지고 있습니다. 파일 시스템 도구는 매직 넘버 (및 다른 단서)가 있는지 확인하여 처리 할 수없고 손상 될 수있는 형식으로 구성된 데이터에서 실수로 매직 넘버를 실행하지 않았는지 확인합니다. 파일 시스템에서 마법 번호를 변경하면 일반 도구가이를 수정하지 않을 수 있습니다. 수리 도구는 더 영리하고 나쁜 마법 번호를 깨뜨릴 수있는 것 중 하나로 취급 할 수 있습니다.
이 file명령은 마법 번호를 기준으로 파일을 인식합니다. file -s /dev/sda1파티션에서 생각 하는 것을보기 위해 실행할 수 있습니다 /dev/sda1. 결정은 /etc/magic또는 에서 일반적으로 발견되는 데이터베이스를 기반으로합니다 /usr/share/misc/magic. 특정 명령은 다른 매직 넘버를 사용하여 처리 할 수있는 파일 형식을 인식 할 수 있습니다.
file /dev/sda1않습니까?
file /dev/sda1이것은 장치 노드임을 알려줄 뿐이며 내용에 대해서는 아무 것도 말하지 않습니다. 당신도 필요 file </dev/sda1나 file -s /dev/sda1.
file < /dev/sda1파일의 도움말 텍스트 (매개 변수 누락)로 실패하지만 -s훌륭하게 작동합니다. 감사.
file - </dev/sda1당신이 알 필요가 있기 때문에, file표준 입력에서 읽을 명시 적으로. 고마워, 내가 고칠 게
apt-get install source file가져옵니다file-x.yy/magic/Magdir/filesystems정보를 정확하게 질문을 포함하는 (나는) 찾고 있었다.