วิธีการตรวจสอบชนิดแฟ้มของแฟ้มโดยใช้ Linux

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

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

ในลินุกซ์คุณสามารถค้นหาไฟล์ประเภทจริงได้โดยใช้คำสั่งไฟล์

วิธีการทำงานของคำสั่งแฟ้ม

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

ชุดแรกของการทดสอบเพื่อตอบสนองที่ถูกต้องจะทำให้พิมพ์ไฟล์ที่จะพิมพ์

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

การทดสอบมายากลจะตรวจสอบเนื้อหาของไฟล์และโดยเฉพาะอย่างยิ่งไม่กี่ไบต์ที่จุดเริ่มต้นซึ่งช่วยในการระบุชนิดของไฟล์ มีไฟล์ต่างๆที่ใช้เพื่อช่วยจับคู่ไฟล์ที่มีไฟล์ประเภทนี้และไฟล์เหล่านี้จะถูกเก็บไว้ใน / etc / magic, / usr / share / misc / magic.mgc, / usr / share / misc / magic คุณสามารถแทนที่ไฟล์เหล่านี้โดยวางไฟล์ไว้ในโฟลเดอร์บ้านที่ชื่อว่า $ HOME / .magic.mgc หรือ $ HOME / .magic

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

หากไม่มีการทดสอบใด ๆ ผลลัพธ์ก็คือข้อมูล

วิธีการใช้คำสั่งแฟ้ม

คำสั่งไฟล์สามารถใช้งานได้ดังต่อไปนี้:

ชื่อไฟล์

ตัวอย่างเช่นสมมติว่าคุณมีไฟล์ที่เรียกว่า file1 คุณจะเรียกใช้คำสั่งต่อไปนี้:

ไฟล์ file1

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

ไฟล์ 1: ข้อมูลภาพ PNG, 640 x 341, RGB 8 บิต / สีไม่ใช่แบบทับกัน

เอาท์พุทที่ระบุระบุไฟล์ 1 เป็นไฟล์รูปภาพหรือให้เป็นไฟล์กราฟิกแบบพกพา (PNG) ที่แม่นยำยิ่งขึ้น

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

ปรับแต่งผลลัพธ์จากคำสั่งแฟ้ม

โดยค่าเริ่มต้นคำสั่ง file จะแสดงชื่อไฟล์และรายละเอียดทั้งหมดเหนือแฟ้ม ถ้าคุณต้องการรายละเอียดโดยไม่มีชื่อแฟ้มซ้ำใช้สวิตช์ต่อไปนี้:

ไฟล์ -b file1

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

ข้อมูลภาพ PNG, 640 x 341, RGB 8 บิต / สีที่ไม่ใช่แบบ interlaced

คุณสามารถเปลี่ยนตัวคั่นระหว่างชื่อไฟล์และชนิด

โดยค่าเริ่มต้นตัวคั่นคือเครื่องหมายทวิภาค (:) แต่คุณสามารถเปลี่ยนเป็นสิ่งที่คุณชอบเช่นสัญลักษณ์ท่อดังต่อไปนี้:

ไฟล์ -F '|' file1

ผลลัพธ์จะเป็นแบบนี้:

file1 | ข้อมูลภาพ PNG, 640 x 341, RGB 8 บิต / สีที่ไม่ใช่แบบ interlaced

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

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

ตัวอย่างเช่นเปิดไฟล์ที่เรียกว่า testfiles โดยใช้ โปรแกรมแก้ไข nano และเพิ่มบรรทัดเหล่านี้ไปที่:

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

ไฟล์ -f testfiles

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

/ etc / passwd: ข้อความ ASCII
/etc/pam.conf: ข้อความ ASCII
/ etc / opt: directory

แฟ้มบีบอัด

โดยค่าเริ่มต้นเมื่อคุณเรียกใช้คำสั่งแฟ้มกับแฟ้มบีบอัดคุณจะเห็นสิ่งที่ออกเช่นนี้:

file.zip: เก็บข้อมูล ZIP อย่างน้อย V2.0 เพื่อแยก

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

คำสั่งต่อไปนี้เรียกใช้คำสั่งไฟล์กับไฟล์ภายในไฟล์ ZIP:

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

เอาท์พุทจะแสดงไฟล์ประเภทไฟล์ภายในที่จัดเก็บ

สรุป

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

man ไฟล์