file 명령
용도
파일 유형을 결정합니다.
구문
파일 유형 분류
파일 [ -m MagicFile] [ -d ] [ -h ] [ -i ] [ -M MagicFile ] [ -f FileList][파일...]
파일 종류(magic) 파일에서 형식 오류 검사
설명
file 명령은 File 매개변수 또는 FileList 변수에서 지정된 파일을 읽고 각 파일에 대해 일련의 테스트를 수행하며 유형별 분류를 시도합니다. 그런 후, 명령은 파일 유형을 표준 출력에 씁니다. 파일은 일반 파일, 디렉토리, FIFO(이름 붙여진 파이프), 블록 특수, 문자 특수, 기호 링크 또는 소켓 유형일 수 있습니다.
- 일반 파일이고 길이가 0인 경우 빈 파일로 식별됩니다.
- 파일이 기호 링크이면 디폴트로 링크 뒤에 기호 링크가 참조하는 파일이 옵니다.
파일이 ASCII 형식으로 표시되는 경우 file 명령은 처음 1024바이트를 검사하고 파일 유형을 결정합니다. 파일이 ASCII 형식으로 표시되지 않으면 file 명령은 확장된 문자를 포함하는 텍스트 파일로부터 2진 데이터를 구별하려고 추가로 시도합니다.
File 매개변수가 실행 파일 또는 오브젝트 모듈 파일을 지정하고 버전 번호가 0보다 큰 경우, file 명령이 버전 스탬프를 표시합니다. ld 명령은 a.out 파일의 사용을 설명합니다.
언어 환경이 C 프로그래밍 언어인 경우 file 명령은 /etc/magic 파일을 사용하여 파일 종류 설명자(magic number)가 있는 파일 즉, 유형을 표시하는 숫자 또는 문자열 상수를 포함하는 모든 파일을 식별합니다.
그러나 언어 환경이 C 프로그래밍 언어가 아닌 다른 언어인 경우, file 명령은 /usr/lib/nls/msg/ <language_env.> /magic.cat 파일을 사용하여 매직 번호가 있는 파일을 식별합니다.
파일이 없거나 읽을 수 없거나 파일 상태를 판별할 수 없는 경우 종료 상태에 영향을 미치는 오류로 간주되지 않습니다. 출력은 파일이 처리되었지만 유형을 판별할 수 없음을 표시합니다.
"%s: %s\n", file, typetype의 값은 POSIX 로케일로 된 값을 제외하고 지정되지 않으며 file이 다음 테이블에 나열된 유형 중 하나로 식별되는 경우
type은 해당 문자열(이로 제한되지는 않음)을 포함합니다. 문자열에 표시되는 각 공백은 정확히 한 개의 공백이어야 합니다.| file 이 다음과 같은 경우: | type은 다음 문자열을 포함합니다. |
|---|---|
| 디렉토리 | 디렉토리 |
| FIFO | fifo |
| 소켓 | socket |
| 블록 특수 | 블록 특수 |
| 문자 특수 | 문자 특수 |
| 실행 파일 2진 | 실행 파일 |
| 빈 일반 파일 | 비어 있음 |
| 기호 링크 | 기호 링크 대상 |
| ar 아카이브 라이브러리 | 아카이브 |
| 확장된 cpio 형식 | cpio 아카이브 |
| 확장된 tar 형식 | tar 아카이브 |
| 쉘 스크립트 | 명령 텍스트 |
| C 언어 소스 | c 프로그램 텍스트 |
| FORTRAN 소스 | fortran 프로그램 텍스트 |
"%s: %s %s\n", file, type, contents of link"file 피연산자에 의해 이름이 붙여진 파일이 없거나 읽을 수 없는 경우 문자열 cannot open이 type 필드의 일부로 포함되지만
이는 종료 상태에 영향을 미치는 오류로 간주되지 않습니다. file 피연산자에 의해 이름이 붙여진 파일의 유형을
판별할 수 없는 경우 문자열 data가 type 필드의 일부로 포함되지만
이는 종료 상태에 영향을 미치는 오류로 간주되지 않습니다.플래그
| 항목 | 설명 |
|---|---|
| -c | 지정된 파일 종류(magic) 파일(디폴트로 /etc/magic 파일)에서 형식 오류를 검사합니다. 이 유효성 확인은 일반적으로 수행되지 않습니다. 파일 입력은 이 플래그에서 수행되지 않습니다. |
| -d | 파일에 모든 디폴트 시스템 테스트를 적용합니다. |
| -f FileList | 지정된 파일 리스트를 읽습니다. 파일은 행당 한 개의 파일을 나열해야 하며 선행 또는 후미 공백을 포함해서는 안됩니다. |
| -h | 기호 링크가 발견되면 파일을 기호 링크로 식별합니다. -h 플래그가 지정되지 않고 file이 존재하지 않는 파일을 참조하는 기호 링크인 경우 file은 -h 플래그가 지정된 것처럼 이 파일을 기호 링크로 식별합니다. |
| -i | 파일이 일반 파일인 경우 파일 유형을 추가로 분류하려고 시도하지 않지만 설명에 지정된 대로 파일을 식별합니다. |
| -m MagicFile | 파일 종류(magic) 파일(디폴트로 /etc/magic 파일)의 파일 이름을 지정합니다. |
| -M MagicFile | 파일을 분류하기 위해 파일에 적용되는 테스트를 포함하는 파일의 이름을 지정합니다. 디폴트 시스템 테스트가 적용됩니다. |
종료 상태
이 명령은 다음과 같은 종료값을 리턴합니다.
| 항목 | 설명 |
|---|---|
| 0 | 정상적으로 완료되었습니다. |
| > 0 | 오류가 발생했습니다. |
예
- 파일에 들어 있는 정보의 유형을 표시하려면,
다음을 입력하십시오.
그러면 myfile의 파일 유형(예: 디렉토리, 데이터, ASCII 텍스트, C 프로그램 소스 및 아카이브)가 표시됩니다.file myfile - 파일 이름의 리스트에 이름 붙여진 각 파일의
유형을 표시하려면, 다음을 입력하십시오.file -f filenames여기에는filenames목록. 각 파일 이름은 한 행에 하나씩 표시되어야 합니다.
파일
| 항목 | 설명 |
|---|---|
| /usr/bin/file | 파일 명령을 포함합니다. |
| /etc/magic | 파일 유형 데이터베이스를 포함합니다. |