mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Sunday, October 15, 2006

리눅스/Cygwin] file 명령의 용도/기능/사용법, Linux file Command


리눅스에는 file 이라는 명령어가 있는데, 이것은 파일의 종류를 자동으로 판단하여 출력하는 명령입니다.

리눅스/유닉스의 파일명에는 대체로 확장자가 없기에, 파일명만 보고서는 파일의 종류를 알기 힘듭니다. 그렇다고 해서 일일이 에디터로 열어보거나, cat 명령으로 화면에 출력해 보기도 번거롭습니다. 그리고 이진파일(Binary File)의 경우에는 에디터로도 잘 보이지 않습니다.

이때
file *

라는 명령어를 치면, 현재 디렉토리의 모든 파일의 종류가 상세히 나타납니다. file 명령이 실제 파일들을 직접 열어보고 일종의 인공지능(?)으로서 종류를 분석하는 것입니다.

MS윈도우에서도 Cygwin(시그윈)을 설치하면 file 명령을 사용할 수 있습니다.


이것은 Cygwin(시그윈)에서 file 명령을 준 것입니다:
 $ file *
0.cpp:               ASCII C program text, with CRLF line terminators
0.exe:               PE executable for MS Windows (console) Intel 80386 32-bit
0.htm:               empty
0.obj:               80386 COFF executable not stripped - version 25970
0.pl:                perl script text executable
0.txt:               ISO-8859 text, with CRLF line terminators
1.pl:                perl script text executable
BATCH.zip:           Zip archive data, at least v2.0 to extract
Fact.java:           ASCII C++ program text, with CRLF line terminators
Foo.class:           compiled Java class data, version 49.0
Foo.java:            ASCII C++ program text, with CRLF line terminators
K1.pl:               perl script text executable
Screen.gif:          GIF image data, version 89a, 1024 x 768
cp.pl:               perl script text executable
ddd Foo.java:        ISO-8859 C++ program text, with CRLF line terminators
dump_array.cpp:      ISO-8859 C program text, with CRLF line terminators
dump_array.obj:      80386 COFF executable not stripped - version 25970
f.cpp:               ASCII C++ program text, with CRLF line terminators
strdump_to_hex.obj:  80386 COFF executable not stripped - version 25970
strdump_to_word.cpp: Non-ISO extended-ASCII C program text, with CRLF line terminators
strdump_to_word.obj: 80386 COFF executable not stripped - version 25970
test.jpg:            JPEG image data, JFIF standard 1.02


단순히 파일 종류만 나오는 것이 아니라, 파일의 속살(?)까지도 분석해 주고 있습니다. 다만 java 소스를 C++ 소스로 오인하는 버그가 있군요. 인공지능이 맛이 간 모양입니다^^

텍스트 파일인 경우에는, 행갈이 방식이 CRLF 등으로 표시됩니다. CRLF 는 도스/윈도우의 행갈이입니다.
.zip 의 경우, PKZIP 2.0 이상의 버전으로 풀 수 있다고 나오고

.gif 는 해상도까지 나옵니다.

0바이트 파일은 "empty(비어 있음)"라고 나옵니다.


아무튼 file 명령만 있으면, 그 파일이 무슨 종류의 파일인지 몰라서 답답해 할 필요가 없습니다.



만약 현재 디렉토리(폴더)의 foo 라는 파일의, 종류를 file 명령으로 알아내어, 그 결과를 out.txt 라는 파일로 저장하려면
file foo > out.txt

이렇게 하면 됩니다.




tag: linux
리눅스 Linux | 유닉스 Unix | 시그윈 Cygwin

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top