ความสัมพันธ์ระหว่างประเภท MIME และ. นามสกุลไฟล์คืออะไร?


19

ฉันอาจมีความคิดที่ผิดที่นี่ แต่ฉันคิดว่า:

ประเภท MIMEคือรหัสที่ระบุซึ่งฝังอยู่ภายในไฟล์
.extensions ไฟล์จะ idenifying รหัส suffixed ไปยังไฟล์ที่ชื่อ

ฉันคิดว่าจากสิ่งที่ฉันได้ยินในยุคมืดสลัวลินุกซ์เป็น. ผู้ไม่เชื่อเรื่องพระเจ้า ... (อาจจะเป็นในช่วงแรกและสิ่งต่าง ๆ ก็เปลี่ยนไปนับ แต่นั้นมา ... ?)

ฉันเพิ่งมาจากโลก Windows ที่ซึ่งในระดับระบบปฏิบัติการไฟล์. text เป็นวิธีเดียว (เท่าที่ฉันรู้) เพื่อเชื่อมโยงกับโปรแกรมแอปพลิเคชันที่เกี่ยวข้อง

เพราะฉันไม่รู้ว่าทำไมฉันจึงรู้สึกสับสนเล็กน้อยที่ไฟล์ชื่อ "fred" และไฟล์ชื่อ "fred.txt" ทั้งคู่เปิดขึ้นใน Text Editor

ที่นี่มีลำดับชั้นที่ชัดเจนหรือไม่

คำตอบ:


16

ประเภท MIME เป็นเพียงวิธีในการตั้งชื่อประเภท พวกเขาไม่มีอะไรเกี่ยวข้องกับการกำหนดประเภทของไฟล์

มีสองวิธีในการกำหนดประเภทของไฟล์: ก) ดูที่ส่วนขยายและหวังว่ามันจะถูกต้องหรือข) ดูเนื้อหาของมันแล้วเดาตามนั้น หากไฟล์ที่ไม่มีนามสกุล b เป็นเพียงตัวเลือกเดียว

รูปแบบไฟล์ (ไบนารี) จำนวนมากมีส่วนหัวเฉพาะที่คุณสามารถดูเพื่อกำหนดประเภท ทำให้ตัวเลือก b ค่อนข้างน่าเชื่อถือสำหรับประเภทเหล่านั้น

รูปแบบไฟล์ข้อความธรรมดามักจะถูกกำหนดโดยโครงสร้างของพวกเขา (หากไฟล์มีแท็ก html จำนวนมากอาจเป็นไฟล์ html)

บนระบบ unix และ linux คุณสามารถใช้fileยูทิลิตีบรรทัดคำสั่งเพื่อค้นหาชนิดของไฟล์ตามเนื้อหา

ตัวจัดการไฟล์มักจะใช้ตัวเลือก a และ b หลายอย่างร่วมกัน (เช่นดูที่นามสกุลไฟล์ก่อนถ้าไม่รู้จัก (หรือไฟล์ไม่มีนามสกุล) ดูเนื้อหา)

ชนิดของไฟล์ไม่ถูกจัดเก็บเป็นเมทาดาทาบนระบบไฟล์ linux ทั่วไป


14

ใน Linux นามสกุลไฟล์เป็นส่วนหนึ่งของชื่อไฟล์และไม่ได้มีความหมายอะไรกับระบบปฏิบัติการ ประเภท MIME เป็นคำอธิบายของเนื้อหาของไฟล์ fredและทั้งสองจะมีชนิดไมม์ของfred.txttext/plain

ตัวจัดการไฟล์เช่น Nautilus ใช้ MIME ประเภทนี้เพื่อให้ทราบว่าโปรแกรมใดที่จะเปิดไฟล์ด้วย ในเทอร์มินัลxdg-openคำสั่งทำสิ่งเดียวกัน อย่างไรก็ตามนี่คือระดับพื้นที่ผู้ใช้ไม่ใช่ระดับระบบปฏิบัติการ

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

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

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


5

ใน linux world นามสกุลไฟล์เป็นเพียงหนึ่งตัวบ่งชี้สำหรับประเภทของไฟล์ มีเครื่องมือบรรทัดคำสั่งเรียกว่า "ไฟล์" ซึ่งจะเดาประเภทของไฟล์

ในการรับประเภทนี้มีตัวชี้วัดหลัก 3 ส่วน

  • ส่วนขยาย
  • คุณลักษณะพิเศษในระบบไฟล์ (เช่น sym- หรือ hardlinks, โฟลเดอร์, อุปกรณ์อินพุต ฯลฯ )
  • ในเนื้อหา
    • ไบนารี (เช่นข้อมูล ELF ในไฟล์เรียกทำงาน)
    • ข้อความ (เช่น<html>, #!/bin/bash)

ความสัมพันธ์ระหว่างประเภทไฟล์และประเภท MIME คือ MIME นั้นเป็นเพียงมาตรฐานในการแสดงประเภทไฟล์ (เช่นtext/css)

Linux "คาดเดา" ประเภทไฟล์และเปิดโปรแกรมที่เกี่ยวข้องสำหรับประเภทนั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.