리눅스2023. 8. 2. 14:55

 

반달가면 이글루에서 백업 - http://bahndal.egloos.com/604773 (2017.9.21)

리눅스에 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

잘 알려진 파일 형식 대부분을 식별할 수 있으므로, 이름에 확장자가 없는 파일을 식별하거나 파일 종류에 따라서 작업을 다르게 하는 스크립트를 만들거나 할 때 상당히 요긴하다.

728x90
Posted by 반달가면