Khi mọi người nói "Trong Unix, mọi thứ đều là một tệp", ý của họ là những thứ không phải là tệp được coi là tệp.
Tất nhiên hầu hết các hệ điều hành làm việc với các tập tin. Tập tin văn bản, tập tin hình ảnh, tập tin âm thanh. Nhưng không phải tất cả các hệ điều hành đều coi thiết bị là tập tin. Đó là một sự khác biệt quan trọng. Nếu tôi liệt kê nội dung của thư mục / dev / trong hệ điều hành Ubuntu của mình (dựa trên Unix), tôi sẽ nhận được danh sách hơn 200 thiết bị. Một số thiết bị đó là phần cứng, nhưng được hiển thị bên trong một thư mục. Ví dụ, ổ cứng, cổng USB, chuột và bàn phím, thiết bị âm thanh và máy in trong số những thứ khác. Một số thiết bị là ảo, ví dụ / dev / urandom, hoạt động như một tệp vô hạn chứa đầy đủ các số ngẫu nhiên. Nó không phải là một tập tin thực sự trên ổ cứng của tôi.
Tất cả những thiết bị đó được coi là tập tin. Tôi có thể đọc dữ liệu từ và / hoặc ghi dữ liệu vào các thiết bị đó. Ở đây có các ví dụ về sao chép dữ liệu từ các thiết bị khác nhau vào thiết bị âm thanh. Điều này là có thể bởi vì chúng được coi là tập tin. Kết quả (geeky) là khả năng nghe nội dung của ổ cứng, chuyển động chuột, bộ nhớ máy tính hoặc các pixel của hình ảnh. Điều này sẽ khó đạt được hơn nhiều nếu các thiết bị không được coi là tệp, bởi vì mỗi thiết bị sẽ yêu cầu các phương pháp khác nhau để đọc và ghi dữ liệu.
Điều đó đang được nói, "mọi thứ" có nghĩa là gì khác nhau tùy theo hệ thống. Ví dụ: OS X dựa trên Unix, nhưng không có thiết bị / dev / audio. Nó sử dụng một hệ thống âm thanh độc quyền gọi là CoreAudio. Vì vậy, trong trường hợp này, người ta có thể nói "hầu hết mọi thứ là một tập tin". Sau đó, trong các hệ thống như Windows, trong đó "mọi thứ không phải là tệp", bạn vẫn có thể thực hiện những việc như sao chép nội dung của tệp vào cổng máy in (gõ một cái gì đó như copy mydocument.txt >lpt1:
), tương tự như sao chép tài liệu vào thiết bị máy in trong Unix hệ thống.
Các hệ điều hành khác như Windows và OS X không hoạt động trên các tệp? Có họ làm. Windows và OS X hoạt động trên các tệp, nhưng Windows không coi các thiết bị là tệp, đó là một phần của "mọi thứ là một tệp" nghĩa là gì.