Linux를 사용하여 파일의 파일 형식을 결정하는 방법

대부분의 사람들은 파일의 확장자를보고 그 확장자의 파일 유형을 추측합니다. 예를 들어 확장자가 gif, jpg, bmp 또는 png 인 파일 을 볼 때 이미지 파일을 생각할 수 있으며 확장명이 zip 인 파일을 볼 때 zip 압축 유틸리티를 사용하여 파일을 압축했다고 가정 합니다 .

사실 파일은 하나의 확장자를 가질 수 있지만 전혀 다른 것이고 파일에 확장자가없는 경우 어떻게 파일 유형을 결정할 수 있습니까?

Linux에서는 file 명령을 사용하여 실제 파일 유형을 찾을 수 있습니다.

파일 명령 작동 방법

문서에 따르면, file 명령은 파일에 대해 세 가지 테스트 세트를 실행합니다.

유효한 응답을 리턴하는 첫번째 테스트 세트는 파일 유형이 인쇄되도록합니다.

파일 시스템 테스트는 stat 시스템 호출로부터의 리턴을 검사합니다. 프로그램은 파일이 비어 있는지 여부와 특수 파일인지 여부를 확인합니다. 파일 유형이 시스템 헤더 파일에서 발견되면 유효한 파일 유형으로 리턴됩니다.

마술 테스트는 파일의 내용을 확인하는 데 도움이되는 처음 몇 바이트의 내용을 검사합니다. 파일을 파일 유형과 일치시키는 데 사용되는 다양한 파일이 있으며 / etc / magic, / usr / share / misc / magic.mgc, / usr / share / misc / magic에 저장됩니다. $ HOME / .magic.mgc 또는 $ HOME / .magic이라는 홈 폴더에 파일을 배치하여이 파일을 대체 할 수 있습니다.

마지막 테스트는 언어 테스트입니다. 파일이 텍스트 파일인지 확인합니다. 파일의 처음 몇 바이트를 테스트하여 ASCII, UTF-8, UTF-16인지 또는 파일을 텍스트 파일로 결정하는 다른 형식인지 추론 할 수 있습니다. 문자 집합이 추론되면 파일이 다른 언어에 대해 테스트됩니다. 예를 들어 파일 ac 프로그램이 있습니다.

모든 테스트가 작동하지 않으면 출력은 단순한 데이터입니다.

파일 명령을 사용하는 방법

file 명령은 다음과 같이 사용할 수 있습니다.

파일 이름

예를 들어 file1이라는 파일이 있다고 가정하면 다음 명령을 실행합니다.

파일 file1

출력은 다음과 같습니다.

file1 : PNG 이미지 데이터, 640 x 341, 8 비트 / 컬러 RGB, 비 인터레이스

표시된 출력은 file1이 이미지 파일이거나 더 정확하게 PNG (Portable Network Graphic) 파일로 결정됩니다.

다른 파일 형식은 다음과 같이 다른 결과를 생성합니다.

파일 명령의 출력 사용자 정의

기본적으로 file 명령은 파일 이름을 제공 한 다음 파일 위에있는 모든 세부 정보를 제공합니다. 파일 이름없이 세부 사항 만 반복하려면 다음 스위치를 사용하십시오.

파일 -b 파일 1

출력은 다음과 같습니다.

PNG 이미지 데이터, 640 x 341, 8 비트 / 컬러 RGB, 비 인터레이스

파일 이름과 유형 사이의 구분 기호를 변경할 수도 있습니다.

기본적으로 구분 기호는 콜론 (:)이지만 파이프 기호와 같이 원하는대로 변경할 수 있습니다.

파일 -F '|' 파일 1

결과는 다음과 같습니다.

file1 | PNG 이미지 데이터, 640 x 341, 8 비트 / 컬러 RGB, 비 인터레이스

여러 파일 처리

기본적으로 단일 파일에 대해 file 명령을 사용합니다. 그러나 file 명령으로 처리 할 파일 목록을 포함하는 파일 이름을 지정할 수 있습니다.

예를 들어 nano 편집기를 사용 하여 testfiles라는 파일을 열고 다음 행을 추가하십시오.

파일을 저장하고 다음 파일 명령을 실행하십시오.

파일 -f testfiles

출력은 다음과 같습니다.

/ etc / passwd : ASCII 텍스트
/etc/pam.conf : ASCII 텍스트
/ etc / opt : 디렉토리

압축 파일

기본적으로 압축 된 파일에 대해 file 명령을 실행하면 다음과 같은 출력이 표시됩니다.

file.zip : ZIP 아카이브 데이터, 추출 할 V2.0 이상

이 파일은 아카이브 파일이라는 것을 알지만 실제로는 파일의 내용을 알지 못합니다. zip 파일 내부를 살펴보면 압축 파일 내의 파일 형식을 볼 수 있습니다.

다음 명령은 ZIP 파일 내의 파일에 대해 file 명령을 실행합니다.

파일 -z filename

이제 출력에는 아카이브 내의 파일의 파일 유형이 표시됩니다.

개요

일반적으로 대부분의 사람들은 file 명령을 사용하여 기본 파일 유형을 찾고 파일 명령이 제공하는 모든 가능성에 대해 터미널 창에 다음과 같이 입력합니다.

남자 파일