파일 명령 데이터베이스 및 텍스트 파일 인식

파일 명령 데이터베이스 및 텍스트 파일 인식

다음 두 진술이 올바른지 알려주십시오.

폴더에는 현재 가능한 파일 형식이 무엇인지 알려주는 데이터베이스/테이블이 있습니다( /usr/share/mime/magic명령 다음에 파일 이름을 입력하면 얻을 수 있는 출력).file

명령 출력에 "text"라는 단어가 포함될 때마다 file이는 텍스트 뷰어를 사용하여 읽을 수 있는 항목을 참조하는 반면, "text"가 없는 항목은 일종의 이진 파일입니다.

답변1

/usr/share/mime/magic 폴더에는 현재 가능한 파일 형식("file" 명령 뒤에 파일을 입력하면 얻을 수 있는 출력)을 제공하는 데이터베이스/테이블이 있습니다.

정확하지만 /usr/share/mime/magic사용된 디렉토리는 아님 file: 파일은 다음과 같습니다.MIME 유형 데이터베이스에만 해당.

맨페이지 에서 file: "이 파일을 식별하는 정보는 컴파일된 매직 파일 /usr/share/file/misc/magic.mgc 또는 /usr/share/file/misc/magic 디렉토리에서 읽혀집니다. 컴파일)이 존재하지 않습니다.

사실 내 Arch Linux 시스템에서 이 파일은 이 file패키지에 속합니다.

"파일" 명령 출력에 "텍스트"라는 단어가 포함될 때마다 이는 텍스트 뷰어를 사용하여 읽을 수 있는 항목을 참조하는 반면, "텍스트"가 없는 항목은 일종의 이진 파일입니다.

맞는 것 같습니다(반례를 찾으려고 노력했지만 찾을 수 없었습니다).

답변2

데이터베이스의 위치는 file설치/버전에 따라 다릅니다. linuxmanpages.com 버전file(1)설명하다:

문서

/usr/share/file/magic.mgc
    기본 컴파일된 매직 넘버 목록
/usr/share/file/magic
    기본 매직 넘버 목록
/usr/share/file/magic.mime.mgc
    -i옵션이 지정된 경우 MIME 유형을 출력하는 데 사용되는 기본 컴파일된 매직 번호 목록입니다 .
/usr/share/file/magic.mime
    -i옵션이 지정된 경우 MIME 유형을 출력하는 데 사용되는 매직 넘버의 기본 목록입니다 .
/etc/magic
    마법의 지혜를 담은 지역 보충제입니다.

그러나 Cygwin과 Debian에서는 다음과 같이 file(1)말합니다 .

문서

/usr/share/misc/magic.mgc기본 컴파일된 매직 목록입니다.
/usr/share/misc/magic기본 매직 파일이 포함된 디렉터리입니다.

상황을 더욱 혼란스럽게 만들기 위해 Debian에는 빈 디렉토리인 에 /usr/share/misc/magic 대한 심볼릭 링크가 있는 반면 Cygwin에는 다소 큰 파일(600K 이상) 에 대한 심볼릭 링크가 있습니다 . 그래서 저는 분명한 실험을 했습니다./usr/share/file/magic/usr/share/file/magic/usr/share/misc/magic

file /usr/share/misc/magic
/usr/share/misc/magic: Non-ISO extended-ASCII text, with overstriking

살펴보니 viASCII 텍스트처럼 보입니다(그러나 17000줄을 모두 다시 확인하지는 않았습니다). "overstrike"는 백스페이스 키가 있음을 나타내는 것 같습니다.

echo -e "1 =\b/ 2" | file -
/dev/stdin: ASCII text, with overstriking

/usr/share/misc/magic그래서 백스페이스 키를 검색해서 2개를 찾았습니다.

관련 정보