file - 리눅스에서 파일 종류 식별하기 리눅스

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

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



핑백

덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

1441045
3392
1828172

ad_widget_2