กำหนดประเภทไฟล์โดยใช้คำสั่ง Linux 'ไฟล์'

คนส่วนใหญ่มองที่ นามสกุลของไฟล์ แล้วเดาประเภทของไฟล์จากนามสกุลนั้น ตัวอย่างเช่น เมื่อคุณเห็นไฟล์ที่มีนามสกุล gif, jpg, bmp หรือ png คุณนึกถึง an ไฟล์ภาพและเมื่อคุณเห็นไฟล์ที่มีนามสกุลเป็น zip แสดงว่าไฟล์นั้นถูกบีบอัดโดยใช้ a ยูทิลิตี้บีบอัดไฟล์ zip.

ไฟล์สามารถใช้นามสกุลเดียวได้ แต่จะแตกต่างกันโดยสิ้นเชิง Linux ไม่ใช้นามสกุลไฟล์ แต่ประเภทของไฟล์เป็นส่วนหนึ่งของชื่อไฟล์ หากต้องการค้นหาประเภทไฟล์ที่แท้จริงให้ใช้ ไฟล์ สั่งการ.

คำสั่งไฟล์ลินุกซ์

คำสั่ง 'ไฟล์' ทำงานอย่างไร

คำสั่ง file รันการทดสอบสามชุดกับไฟล์:

  • การทดสอบระบบไฟล์
  • การทดสอบเวทย์มนตร์
  • แบบทดสอบภาษา

การทดสอบชุดแรกเพื่อส่งคืนการตอบกลับที่ถูกต้องจะแจ้งประเภทไฟล์ที่จะพิมพ์

การทดสอบระบบไฟล์จะตรวจสอบการส่งคืนจากการเรียกระบบสถิติ โปรแกรมจะตรวจสอบดูว่าไฟล์นั้นว่างหรือไม่และเป็นไฟล์พิเศษหรือไม่ หากพบประเภทไฟล์ในไฟล์ส่วนหัวของระบบ ระบบจะส่งคืนประเภทไฟล์ที่ถูกต้อง

การทดสอบเวทย์มนตร์จะตรวจสอบเนื้อหาของไฟล์และเฉพาะบางไบต์ที่จุดเริ่มต้นซึ่งช่วยในการกำหนดประเภทไฟล์ ไฟล์ต่างๆ ถูกใช้เพื่อช่วยจับคู่ไฟล์กับประเภทไฟล์ และจัดเก็บไว้ใน:

  • /etc/magic
  • /usr/share/misc/magic.mgc
  • /usr/share/misc/magic

แทนที่ไฟล์เหล่านี้โดยวางไฟล์ในโฟลเดอร์เริ่มต้นของคุณที่ชื่อว่า $HOME/.magic.mgc หรือ $HOME/.magic.

การทดสอบขั้นสุดท้ายคือการทดสอบภาษา ไฟล์จะถูกตรวจสอบเพื่อดูว่าเป็นไฟล์ข้อความหรือไม่ โดยการทดสอบสองสามไบต์แรกของไฟล์ การทดสอบจะอนุมานว่าไฟล์นั้นเป็น ASCII, UTF-8, UTF-16 หรือรูปแบบอื่นที่ระบุไฟล์นั้นเป็นไฟล์ข้อความ เมื่อชุดอักขระถูกอนุมาน ไฟล์จะถูกทดสอบกับภาษาต่างๆ

วิธีใช้คำสั่ง 'file'

NS ไฟล์ คำสั่งใช้รูปแบบต่อไปนี้:

ชื่อไฟล์. 

เช่น ตรวจสอบประเภทของชื่อไฟล์ touch.svg, รันคำสั่งต่อไปนี้:

ไฟล์ touch.svg 

ผลลัพธ์เป็นดังนี้:

  • touch.svg: ภาพกราฟิกแบบเวกเตอร์ที่ปรับขนาดได้ SVG

ไฟล์ประเภทต่างๆ ให้ผลลัพธ์ที่แตกต่างกัน เช่น

  • ประเภทไฟล์ ODS: สเปรดชีต OpenDocument
  • ประเภทไฟล์ PDF: เอกสาร PDF เวอร์ชัน 1.4
  • ประเภทไฟล์ CSV: ข้อความ ASCII พร้อมบรรทัดยาวมาก พร้อมตัวบ่งชี้บรรทัด CRLF

การจัดการหลายไฟล์

โดยค่าเริ่มต้น คำสั่ง file จะทำงานกับไฟล์เดียว อย่างไรก็ตาม คุณสามารถระบุชื่อไฟล์ที่มีรายการไฟล์ที่จะประมวลผลโดย ไฟล์ สั่งการ.

เช่น เปิดไฟล์ชื่อ ไฟล์ทดสอบ ใช้ นาโนเอดิเตอร์ และเพิ่มบรรทัดเหล่านี้เข้าไป:

  • /etc/passwd
  • /etc/pam.conf
  • /etc/opt

บันทึกไฟล์และรันคำสั่งไฟล์ต่อไปนี้:

file -f ไฟล์ทดสอบ. 

ผลลัพธ์จะเป็นดังนี้:

  • /etc/passwd: ข้อความ ASCII
  • /etc/pam.conf: ข้อความ ASCII
  • /etc/opt: ไดเร็กทอรี

อีกวิธีหนึ่งคือการเรียกใช้ ไฟล์ สั่งครั้งเดียว แต่ระบุหลายเป้าหมาย ตัวอย่างเช่น:

ไฟล์ /etc/passwd /etc/pam.conf /etc/opt

ผลลัพธ์จะเป็นดังนี้:

  • /etc/passwd: ข้อความ ASCII
  • /etc/pam.conf: ข้อความ ASCII
  • /etc/opt: ไดเร็กทอรี

ไวด์การ์ดมาตรฐานก็ใช้งานได้เช่นกัน ตัวอย่างเช่น ในการทดสอบไฟล์ทั้งหมดในไดเร็กทอรีการทำงานปัจจุบัน ให้ใช้:

ไฟล์ *

ในการทดสอบไดเร็กทอรีที่ขึ้นต้นด้วยตัวอักษร D (ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) ให้ลองทำดังนี้:

ไฟล์ D*

ผลลัพธ์อาจเป็นเดสก์ท็อป เอกสาร และดาวน์โหลด เป็นต้น

ไฟล์บีบอัด

เมื่อคุณเรียกใช้ ไฟล์ คำสั่งกับไฟล์บีบอัดที่คุณเห็นผลลัพธ์ดังนี้:

  • file.zip: ข้อมูลไฟล์ ZIP อย่างน้อย V2.0 เพื่อแตกไฟล์

แม้ว่าผลลัพธ์นี้จะบอกคุณว่าไฟล์นั้นเป็นไฟล์เก็บถาวร แต่คุณไม่รู้เนื้อหาของไฟล์ ดูในไฟล์ zip เพื่อดูประเภทไฟล์ของไฟล์ภายในไฟล์บีบอัด คำสั่งต่อไปนี้รันคำสั่ง file กับไฟล์ภายในไฟล์ ZIP:

ไฟล์ -z ชื่อไฟล์. 

ผลลัพธ์จะแสดงประเภทไฟล์ของไฟล์ในไฟล์เก็บถาวร