この学習ガイドのファイル形式決定コマンドが間違っていますか?

この学習ガイドのファイル形式決定コマンドが間違っていますか?

学習ガイド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

ファイル形式は通常、次のように指定されますfileman

ファイル — ファイルタイプの決定

ただし、ある程度使用することもできますtype。以下の2つのリストを比較してください。

  • script.pl、Perlスクリプト
  • not_a_script、空のファイル

以下はそのスクリプトの1つです。

$ 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

以下は空のファイルの1つです。

$ 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

関連情報