このスタディガイドは、ファイルタイプを判別するためのコマンドについて間違っていますか?


10

スタディガイドLPIC-1トレーニングおよび準備ガイド(Ghori Asghar、ISBN 978-1-7750621-0-3)には、次の質問が含まれています...

次のコマンドのどれがファイルタイプを決定するために使用できますか?

  • (A) file
  • (B) type
  • (C) filetype
  • (D) what

...そして答えは "(B)type"であると主張します。

しかし、「(A)file」は正しい答えではありませんか?

私は本全体を疑い始めています。


11
「試験はRHELとDebianに基づいているので、CentOSとUbuntuを使ってみましょう」と言って始まる本は自信を呼び起こしません。
Stephen Kitt 2018年

著者に連絡して、間違いを通知する必要があります。
dr_

回答:


10

はい、あなたの本は間違っているようです。

このfileコマンドは、ファイルの種類を示します。manファイルから:「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

6
typeほとんどのシェルに組み込まれており、実行可能なもの(ビルド、エイリアス、関数、実行可能ファイルなど)を通知します。あなたの場合、それはtest.sh(PATHで、または組み込み/関数/エイリアスなどとして)実行できるものはないと言っています。
muru 2018年

あなたは絶対的に正しいです。私はそれを知りませんでした。答えは変わらないはずですfileが。回答を更新します。
MikaelKjær2018年

答えてくれてありがとう、私は本を海賊版で書いたことをうれしく思いますlol
Linux Lover

2

ファイルの種類は通常で決定されますfile。そのman状態:

file —ファイルタイプを決定する

ただし、ある程度使用することもできます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

そして、これは空のファイル用のものです:

$ 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提供するものとは異なる方法で。typeバッシュの男性の組み込みの説明は次のとおりです。

タイプ[-aftpP] name [name ...]

オプションなしで、コマンド名として使用した場合に各名前がどのように解釈されるかを示します。

本の質問への正しい答えは私の意見の中にあるはずですfile。なぜならそれがそれがman言うことであり、それがテストに合格することがそうであるからです。言い換えれば、私の最初の選択肢はfileです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.