คนส่วนใหญ่มองไปที่ส่วนขยายของไฟล์แล้วคาดเดาประเภทของไฟล์จากส่วนขยายนั้น ตัวอย่างเช่นเมื่อคุณเห็นไฟล์ที่มีนามสกุลเป็น 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) ที่แม่นยำยิ่งขึ้น
ไฟล์ประเภทต่างๆจะให้ผลลัพธ์ที่แตกต่างกันดังนี้
- ประเภทไฟล์ ISO - บูต DOS / MBR ISO 9660 ข้อมูลระบบแฟ้ม CD-Rom 'label' (สามารถบูตได้); พาร์ติชันที่ 2: ID = 0xef, start-CHS (0x3ff, 254,63), end-CHS (0x3ff, 4,63) beginector 1496, 4736 ภาค
- ประเภทไฟล์ ODS - สเปรดชีต OpenDocument
- ประเภทไฟล์ PDF - เอกสาร PDF, รุ่น 1.4
- ไฟล์ CSV - ข้อความ ASCII มีเส้นยาวมากพร้อมด้วยตัวบ่งชี้บรรทัด CRLF
ปรับแต่งผลลัพธ์จากคำสั่งแฟ้ม
โดยค่าเริ่มต้นคำสั่ง file จะแสดงชื่อไฟล์และรายละเอียดทั้งหมดเหนือแฟ้ม ถ้าคุณต้องการรายละเอียดโดยไม่มีชื่อแฟ้มซ้ำใช้สวิตช์ต่อไปนี้:
ไฟล์ -b file1
ผลลัพธ์จะเป็นดังนี้:
ข้อมูลภาพ PNG, 640 x 341, RGB 8 บิต / สีที่ไม่ใช่แบบ interlaced
คุณสามารถเปลี่ยนตัวคั่นระหว่างชื่อไฟล์และชนิด
โดยค่าเริ่มต้นตัวคั่นคือเครื่องหมายทวิภาค (:) แต่คุณสามารถเปลี่ยนเป็นสิ่งที่คุณชอบเช่นสัญลักษณ์ท่อดังต่อไปนี้:
ไฟล์ -F '|' file1
ผลลัพธ์จะเป็นแบบนี้:
file1 | ข้อมูลภาพ PNG, 640 x 341, RGB 8 บิต / สีที่ไม่ใช่แบบ interlaced
การจัดการหลายไฟล์
โดยค่าเริ่มต้นคุณจะใช้คำสั่งไฟล์กับไฟล์เดียว อย่างไรก็ตามคุณสามารถระบุชื่อไฟล์ที่มีรายการไฟล์ที่จะประมวลผลโดยคำสั่งไฟล์:
ตัวอย่างเช่นเปิดไฟล์ที่เรียกว่า testfiles โดยใช้ โปรแกรมแก้ไข nano และเพิ่มบรรทัดเหล่านี้ไปที่:
- / etc / passwd
- /etc/pam.conf
- / etc / เลือก
บันทึกไฟล์และรันคำสั่งไฟล์ต่อไปนี้:
ไฟล์ -f testfiles
ผลลัพธ์จะเป็นดังนี้:
/ etc / passwd: ข้อความ ASCII
/etc/pam.conf: ข้อความ ASCII
/ etc / opt: directory
แฟ้มบีบอัด
โดยค่าเริ่มต้นเมื่อคุณเรียกใช้คำสั่งแฟ้มกับแฟ้มบีบอัดคุณจะเห็นสิ่งที่ออกเช่นนี้:
file.zip: เก็บข้อมูล ZIP อย่างน้อย V2.0 เพื่อแยก
ขณะนี้บอกคุณว่าไฟล์เป็นไฟล์เก็บถาวรที่คุณไม่รู้จักเนื้อหาของไฟล์จริงๆ คุณสามารถดูภายในไฟล์ซิปเพื่อดูชนิดไฟล์ของไฟล์ภายในไฟล์บีบอัด
คำสั่งต่อไปนี้เรียกใช้คำสั่งไฟล์กับไฟล์ภายในไฟล์ ZIP:
ไฟล์ - z ชื่อไฟล์
เอาท์พุทจะแสดงไฟล์ประเภทไฟล์ภายในที่จัดเก็บ
สรุป
โดยทั่วไปแล้วคนส่วนใหญ่จะใช้คำสั่งไฟล์เพื่อหาไฟล์ประเภทพื้นฐาน แต่เพื่อหาข้อมูลเพิ่มเติมเกี่ยวกับความเป็นไปได้ทั้งหมดของคำสั่งไฟล์ให้พิมพ์ข้อมูลต่อไปนี้ลงในหน้าต่างเทอร์มินัล:
man ไฟล์