Kiedy ludzie mówią: „W Uniksie wszystko jest plikiem”, to znaczy, że także rzeczy, które nie są plikami, są traktowane jak pliki.
Oczywiście większość systemów operacyjnych działa z plikami. Pliki tekstowe, pliki graficzne, pliki dźwiękowe. Ale nie wszystkie systemy operacyjne traktują urządzenia jak pliki. To ważna różnica. Jeśli wymienię zawartość mojego folderu / dev / w moim systemie operacyjnym Ubuntu (który jest oparty na Uniksie), otrzymam listę ponad 200 urządzeń. Niektóre z tych urządzeń są sprzętowe, ale są wyświetlane w folderze. Na przykład dyski twarde, porty USB, mysz i klawiatura, urządzenia audio i drukarki. Niektóre urządzenia są wirtualne, na przykład / dev / urandom, który zachowuje się jak nieskończony plik pełen losowych liczb. To nie jest prawdziwy plik na moim dysku twardym.
Wszystkie te urządzenia są traktowane jako pliki. Potrafię czytać dane i / lub zapisywać dane na tych urządzeniach. Oto przykłady kopiowania danych z różnych urządzeń do urządzenia audio. Jest to możliwe, ponieważ są traktowane jak pliki. (Naukowy) wynik to zdolność do słuchania zawartości dysku twardego, ruchu myszy, pamięci komputera lub pikseli obrazu. Byłoby to znacznie trudniejsze do osiągnięcia, gdyby urządzenia nie były traktowane jak pliki, ponieważ każde urządzenie wymagałoby różnych metod odczytu i zapisu danych.
Biorąc to pod uwagę, to, co oznacza „wszystko”, różni się w zależności od systemu. Na przykład OS X jest oparty na Uniksie, ale nie ma urządzenia / dev / audio. Wykorzystuje zastrzeżony system audio o nazwie CoreAudio. W takim przypadku można powiedzieć „prawie wszystko jest plikiem”. Następnie w systemach takich jak Windows, w których „wszystko nie jest plikiem”, możesz nadal wykonywać takie czynności, jak kopiowanie zawartości pliku do portu drukarki (wpisywanie czegoś podobnego copy mydocument.txt >lpt1:
), co jest podobne do kopiowania dokumentu na drukarkę w systemie Unix systemy.
Czy inne systemy operacyjne, takie jak Windows i OS X, nie działają na plikach? Tak, robią. Windows i OS X działają na plikach, ale Windows nie traktuje urządzeń jak plików, co jest częścią tego, co znaczy „wszystko jest plikiem”.