이 학습 가이드의 파일 형식 결정 명령이 잘못된 것인가요?

이 학습 가이드의 파일 형식 결정 명령이 잘못된 것인가요?

학습 가이드LPIC-1 교육 및 준비 가이드(Ghori Asghar, ISBN 978-1-7750621-0-3) 다음 질문이 포함되어 있습니다...

다음 중 파일 형식을 결정하는 데 사용할 수 있는 명령은 무엇입니까?

  • (ㅏ)file
  • (둘)type
  • (씨)filetype
  • (4)what

...그리고 대답은 "(B) type"라고 주장합니다.

file그런데 "(A)" 가 정답이 아닌가요 ?

나는 책 전체를 의심하기 시작했습니다.

답변1

네, 당신 책이 잘못된 것 같아요.

file명령은 파일 형식을 알려줍니다. 맨 파일에서: "파일 - 파일 유형 결정".
몇 가지 예를 들면 다음과 같습니다.

$  file /usr/bin/file
/usr/bin/file: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=ecc4d67cf433d0682a5b7f3a08befc45e7d18057, stripped
$ file activemq-all-5.15.0.jar
activemq-all-5.15.0.jar: Java archive data (JAR)

type명령은 명령이 내장 명령인지 외부 명령인지 확인하는 데 사용됩니다.

$ type file
file is /usr/bin/file
$ type type
type is a shell builtin

답변2

파일 형식은 일반적 으로 다음과 같이 지정 됩니다 file.man

파일 — 파일 유형 결정

하지만 어느 정도는 사용할 수도 있습니다 type. 아래 두 목록을 비교해 보세요.

  • script.pl, 펄 스크립트
  • not_a_script, 빈 파일

다음은 해당 스크립트 중 하나입니다.

$ ls
script.pl
$ file script.pl 
script.pl: Perl script text executable
$ type script.pl
bash: type: script.pl: not found
$ type ./script.pl 
./script.pl is ./script.pl

다음은 빈 파일 중 하나입니다.

$ ls not_a_script 
not_a_script
$ file not_a_script 
not_a_script: empty
$ type not_a_script
bash: type: not_a_script: not found
$ type ./not_a_script
bash: type: ./not_a_script: not found

보시다시피 type파일이 실행 가능한지 여부를 확인할 수 있습니다. 이것이 "파일 형식 결정"입니까? 음...다양한 방법으로 제공됩니다 file. Bash의 man에 내장된 기능에 대한 설명 type은 다음과 같습니다.

유형 [-aftpP] 이름 [이름...]

옵션이 없는 경우, 명령 이름으로 사용될 경우 각 이름이 어떻게 해석되는지 표시합니다.

책에 있는 질문에 대한 정답은 내가 생각하는 것이어야 합니다 file. 왜냐하면 그것이 책에서 man말하는 것이고, 그것이 바로 시험 통과를 의미하기 때문입니다. 즉, 나의 ​​첫 번째 선택은 입니다 file.

관련 정보