เมื่อมีคนพูดว่า "ในระบบปฏิบัติการยูนิกซ์ทุกอย่างเป็นไฟล์" สิ่งที่พวกเขาหมายถึงก็คือสิ่งต่าง ๆ ที่ไม่ใช่ไฟล์จะถือว่าเป็นไฟล์
แน่นอนว่าระบบปฏิบัติการส่วนใหญ่ทำงานกับไฟล์ได้ ไฟล์ข้อความ, ไฟล์รูปภาพ, ไฟล์เสียง แต่ไม่ใช่ว่าระบบปฏิบัติการทั้งหมดจะใช้อุปกรณ์เป็นไฟล์ นั่นคือความแตกต่างที่สำคัญ ถ้าฉันแสดงรายการเนื้อหาของ / dev / โฟลเดอร์ในระบบปฏิบัติการ Ubuntu ของฉัน (ซึ่งใช้ Unix) ฉันจะได้รับรายชื่ออุปกรณ์มากกว่า 200 รายการ อุปกรณ์เหล่านั้นบางส่วนเป็นฮาร์ดแวร์ แต่จะแสดงอยู่ในโฟลเดอร์ ตัวอย่างเช่นฮาร์ดไดรฟ์พอร์ต USB เมาส์และคีย์บอร์ดอุปกรณ์เสียงและเครื่องพิมพ์อื่น ๆ อุปกรณ์บางอย่างเป็นเสมือนตัวอย่างเช่น / dev / urandom ซึ่งทำงานเป็นไฟล์ไม่มีที่สิ้นสุดซึ่งเต็มไปด้วยตัวเลขสุ่ม มันไม่ใช่ไฟล์จริงในฮาร์ดไดรฟ์ของฉัน
อุปกรณ์เหล่านั้นทั้งหมดถือเป็นไฟล์ ฉันสามารถอ่านข้อมูลจากและ / หรือเขียนข้อมูลลงในอุปกรณ์เหล่านั้นได้ นี่คือตัวอย่างของการคัดลอกข้อมูลจากอุปกรณ์ต่าง ๆ ลงในอุปกรณ์เสียง สิ่งนี้เป็นไปได้เพราะจะถือว่าเป็นไฟล์ ผลลัพธ์ (geeky) คือความสามารถในการฟังเนื้อหาของฮาร์ดไดรฟ์การเคลื่อนไหวของเมาส์หน่วยความจำคอมพิวเตอร์หรือพิกเซลของรูปภาพ สิ่งนี้จะยากกว่านี้หากอุปกรณ์ไม่ได้รับการปฏิบัติเหมือนเป็นไฟล์เพราะแต่ละอุปกรณ์จะต้องใช้วิธีการต่าง ๆ ในการอ่านและเขียนข้อมูล
ที่ถูกกล่าวว่า "ทุกอย่าง" หมายถึงสิ่งที่แตกต่างจากระบบไปยังระบบ ตัวอย่างเช่น OS X ใช้ Unix แต่ไม่มีอุปกรณ์ / dev / audio จะใช้ระบบเสียงที่เป็นกรรมสิทธิ์ที่เรียกว่า CoreAudio ดังนั้นในกรณีนี้เราอาจพูดว่า "เกือบทุกอย่างเป็นไฟล์" จากนั้นในระบบเช่น Windows ที่ "ทุกอย่างไม่ใช่ไฟล์" คุณยังสามารถทำสิ่งต่าง ๆ เช่นคัดลอกเนื้อหาของไฟล์ไปยังพอร์ตเครื่องพิมพ์ (พิมพ์บางอย่างcopy mydocument.txt >lpt1:
) ซึ่งคล้ายกับการคัดลอกเอกสารไปยังอุปกรณ์เครื่องพิมพ์ใน Unix ระบบ
ระบบปฏิบัติการอื่นเช่น Windows และ OS X ไม่ทำงานกับไฟล์หรือไม่? ใช่. Windows และ OS X ทำงานบนไฟล์ แต่ Windows ไม่ถือว่าอุปกรณ์เป็นไฟล์ซึ่งเป็นส่วนหนึ่งของความหมายของ "ทุกอย่างเป็นไฟล์"