리눅스에 file이라는 명령어가 있어서 파일 종류를 식별할 수 있다. 파일명에 있는 확장자가 아니라 실제 파일 내용을 검사해서 그 종류를 판별해 준다. 아래의 예시를 보면 금방 감이 잡힐 것이다.
file my_doc.pdf
my_doc.pdf: PDF document, version 1.3
텍스트 파일의 경우 캐럭터 인코딩도 판별해 준다.
file my_script.sh
my_script.sh: ASCII text
file my_data.txt
my_data.txt: UTF-8 Unicode text
윈도우 실행 파일도 식별 가능.
file setup.exe
setup.exe: PE32 executable (GUI) Intel 80386, for MS Windows
출력 결과에서 파일명을 빼고 싶으면 -b 옵션을 사용하면 된다.
file -b my_doc.pdf
PDF document, version 1.3
출력 결과를 MIME 표준 형식으로 하고 싶다면 --mime 옵션을 추가하자.
file --mime my_doc.pdf
my_doc.pdf: application/pdf; charset=binary
file --mime my_script.sh
my_script.sh: text/plain; charset=us-ascii
file -b --mime my_data.txt
text/plain; charset=utf-8
잘 알려진 파일 형식 대부분을 식별할 수 있으므로, 이름에 확장자가 없는 파일을 식별하거나 파일 종류에 따라서 작업을 다르게 하는 스크립트를 만들거나 할 때 상당히 요긴하다.
file my_doc.pdf
my_doc.pdf: PDF document, version 1.3
텍스트 파일의 경우 캐럭터 인코딩도 판별해 준다.
file my_script.sh
my_script.sh: ASCII text
file my_data.txt
my_data.txt: UTF-8 Unicode text
윈도우 실행 파일도 식별 가능.
file setup.exe
setup.exe: PE32 executable (GUI) Intel 80386, for MS Windows
출력 결과에서 파일명을 빼고 싶으면 -b 옵션을 사용하면 된다.
file -b my_doc.pdf
PDF document, version 1.3
출력 결과를 MIME 표준 형식으로 하고 싶다면 --mime 옵션을 추가하자.
file --mime my_doc.pdf
my_doc.pdf: application/pdf; charset=binary
file --mime my_script.sh
my_script.sh: text/plain; charset=us-ascii
file -b --mime my_data.txt
text/plain; charset=utf-8
잘 알려진 파일 형식 대부분을 식별할 수 있으므로, 이름에 확장자가 없는 파일을 식별하거나 파일 종류에 따라서 작업을 다르게 하는 스크립트를 만들거나 할 때 상당히 요긴하다.
덧글