강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

리눅스시스템의 파일종류 확인하기(file)

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스시스템의 파일종류 확인하기(file)

 

 

 

 

 

파일의 종류에 대해서 알아보도록 하자. 리눅스시스템에는 BINARY, ASCII등과 같은 여러가지의 파일종류들이 있다.

 

 

 

 따라서 리눅스시스템에 존재하는 여러가지 파일의 종류들에 대해서 알아보자.

 

file명령어는 지정된 파일의 종류(타입)를 확인하는 명령어이다.

 

 

 

  TEXT파일인가? 또는 BINARY파일인가? 등을 확인하는 명령어이다.

 

 

 

 하지만 file이라는 명령어는 단순히 이것만을 확인하기 위한 용도의 명령어는 아니다.

 

 

 

 file명령어를 수행하면 대상 파일에 대하여 다음 3가지 단계의 확인작업을 한다.

 

 

 

 , 파일시스템 테스트(filesystem tests), 매직테스트(magic tests), 그리고 언어테스트(language tests)가 그것이다.

 

 

 

  그리고 다음 파일리스트를 보자.

 

[root@sulinux log]# ls -l /usr/share/file

합계 2152

-rw-r--r-- 1 root root  528887 2022-10-16 20:06 magic

-rw-r--r-- 1 root root 1662528 2022-10-16 20:06 magic.mgc

[root@sulinux log]#

 

 

 

그리고 file명령어는 위의 파일을 참조하여 파일종류를 표시해준다.

 

 

 

 이와 같은 파일들 즉, magic파일을 "매직파일"이라고 부른다.

 

 

 

  이 매직파일이 없으면 파일분류가 되지 않으며 또한 이런 매직파일에는 파일분류를 위한 정보들이 들어있다.

 

 

 

 

 

아래의 예를보면 chbad.sh파일은 Bourn Shell 스크립트파일로서 실행가능한 상태의 텍스트(TEXT)파일임을 알 수 있다.

 

 

 

 

 

[root@sulinux ~]# file chbad.sh
chbad.sh: Bourne-Again shell script text executable
[root@sulinux ~]#

 

 

 

아래의 예를보면 commmandlist.txt파일은 텍스트로된 파일로서  ASCII문자들로 이루어진 파일임을 알 수 있다.

 

 

 

 

 

[root@sulinux ~]# file commmandlist.txt
commmandlist.txt: ASCII text
[root@sulinux ~]#

 

 

 

아래의 예를보면 index.html 파일은 HTML문서포맷으로 되어 있다는 것을 알 수 있다.

 

 

 

 

 

[root@sulinux ~]# file index.html
index.html: HTML document text
[root@sulinux ~]#

 

 

 

아래의 예를보면 report는 일반 파일이 아닌 디렉토리임을 알 수 있다.

 

 

 

 

 

[root@sulinux ~]# file report
report: directory
[root@sulinux ~]#

 

 

 

 

다음은 파일의 종류를 확인하는 file명령어의 몇가지 옵션들에 대한 설명이다.

 

 

 

 

 

-C          : 매직파일의 포맷을 검사하는 옵션.

 

-f 목록파일 : 많은 파일을 한번에 확인하기 위하여 파일리스트인 "목록파일"을 만들어서 그 안에 입력된 모든 파일을 한꺼번에 확인하는 옵션.

 

 

다음 예를 보자.

 

[root@sulinux ~]# cat filelist
anaconda-ks.cfg
chbad.log
chbad.sh
commmandlist.txt
install.log
install.log.syslog
[root@sulinux ~]#
[root@sulinux ~]# file -f filelist
anaconda-ks.cfg:    ASCII English text
chbad.log:          ASCII text
chbad.sh:           Bourne-Again shell script text executable
commmandlist.txt:   ASCII text
install.log:        ASCII English text
install.log.syslog: ISO-8859 text
[root@sulinux ~]#

 

 

 

 

위에서 filelist라는 파일에는 6개의 파일이름이 저장되어 있다.

 

 

 

 이때 "file -f filelist"라고 하면 filelist에 저장된 파일들에 대하여 개별적으로 file명령어를 실행하여 위와 같이 출력해 준다.

 

 

 

 

 

 

-m 매직파일 : 지정된 매직파일로 대상파일을 확인하는 것이다.

 

 

 

 다음 예를 보자.

 

[root@sulinux ~]# ls -l /tmp/magic
-rw-r--r--    1 root     root       269681  9
  9 19:37 /tmp/magic
[root@sulinux ~]#
[root@sulinux ~]# file -m /tmp/magic chbad.sh
file: Using regular magic file `/tmp/magic'
chbad.sh: Bourne-Again shell script text executable
[root@sulinux ~]#



 

위의 예에서 magic파일이 /tmp/magic에 존재하고 있다.

 

 

 

 이 매직파일을 이용하여 파일의 종류를 확인하고자 할 경우에 -m옵션을 사용한다.

 

 

 

  "file -m /tmp/magic chbad.sh"라고 하면 기본 매직파일인 /usr/share/file/magic을 사용하지 않고 /tmp/magic을 참조하여 chbad.sh파일의 종류를 확인하여 결과를 보여준 것이다.

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,040 명
  • 현재 강좌수 :  35,850 개
  • 현재 접속자 :  95 명