Apakah panduan studi ini salah tentang perintah untuk menentukan jenis file?

10

Panduan studi Panduan Pelatihan dan Persiapan LPIC-1 (Ghori Asghar, ISBN 978-1-7750621-0-3) berisi pertanyaan berikut ...

Manakah dari perintah berikut ini yang dapat digunakan untuk menentukan jenis file?

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

... dan mengklaim bahwa jawabannya adalah: "(B) type".

Tetapi bukankah "(A) file" jawaban yang benar?

Saya mulai meragukan seluruh buku.

Kekasih Linux
sumber
11
Saya harus mengatakan, sebuah buku yang dimulai dengan mengatakan "ujian didasarkan pada RHEL dan Debian, jadi mari kita gunakan CentOS dan Ubuntu" tidak menginspirasi kepercayaan diri!
Stephen Kitt
Anda harus menghubungi penulis dan memberi tahu dia tentang kesalahan tersebut.
dr_

Jawaban:

10

Ya, sepertinya buku Anda salah.

The fileperintah memberitahu jenis file itu. Dari file man: "file - tentukan jenis file".
Beberapa contoh:

$  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)

The typePerintah ini digunakan untuk mengetahui apakah perintah dibangun di atau eksternal:

$ type file
file is /usr/bin/file
$ type type
type is a shell builtin
Mikael Kjær
sumber
6
typeadalah builtin pada sebagian besar shell, yang memberi tahu kita apa yang bisa dieksekusi (builtin, alias, function, executable, dll.). Dalam kasus Anda dikatakan tidak ada test.shyang bisa dieksekusi (baik di PATH, atau sebagai builtin / function / alias, dll.).
muru
Anda benar sekali. Saya tidak pernah tahu itu. Tidak mengubah jawaban seharusnya file. Saya akan memperbarui jawaban saya.
Mikael Kjær
Terima kasih atas jawabannya, saya senang saya membajak buku lol
Linux Lover
2

Jenis file biasanya ditentukan dengan file. Its mannegara:

file - tentukan jenis file

Tapi Anda juga bisa menggunakan batas tertentu type. Bandingkan dua daftar di bawah ini untuk:

  • script.pl, sebuah skrip Perl
  • not_a_script, file kosong

Ini satu untuk skrip:

$ 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

Dan ini satu untuk file kosong:

$ 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

Seperti yang Anda lihat, typedapat menentukan apakah file dapat dieksekusi. Apakah itu "penentuan jenis file" atau tidak? Nah ... Dengan cara berbeda dengan apa yang filemenyediakan. Deskripsi typebuiltin pada manusia Bash adalah sebagai berikut:

ketik [-aftpP] nama [nama ...]

Tanpa opsi, tunjukkan bagaimana masing-masing nama akan ditafsirkan jika digunakan sebagai nama perintah.

Jawaban yang benar untuk pertanyaan dalam buku ini harus menurut saya file, karena itulah yang mandikatakannya, dan itulah yang lulus dari tes. Atau dengan kata lain, pilihan pertama saya adalah file.


sumber