Właśnie się dowiedziałem, że /dev/null
to plik, a nie katalog.
Zastanawiam się tylko, czy ma rzeczywisty rozmiar pliku.
źródło
Właśnie się dowiedziałem, że /dev/null
to plik, a nie katalog.
Zastanawiam się tylko, czy ma rzeczywisty rozmiar pliku.
/dev/null
tak naprawdę nie jest plikiem. To urządzenie postaci !
$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Apr 10 09:53 /dev/null
Wskazuje na to pierwsza litera c
ciągu uprawnień ( crw-rw-rw-
). W przypadku zwykłych plików byłoby to -
zamiast tego.
W prostych słowach: /dev/null
nie jest plikiem, lecz urządzeniem wirtualnym zamapowanym na tę ścieżkę w systemie plików, którego jedynym celem jest połykanie i znikanie danych - jak czarna dziura.
Można go również użyć jako danych wejściowych, a następnie działa jak pusty plik (rozmiar 0) i natychmiast zwraca EOF (koniec pliku).
Dlatego nie można tak naprawdę powiedzieć, że /dev/null
ma on określony rozmiar pliku, ponieważ nie jest to zwykły plik na żadnym nośniku pamięci.
/dev/null
to specjalny rodzaj pliku o nazwie „ plik urządzenia ”.Pliki urządzeń działają jako interfejs niektórych funkcji jądra. Po prostu zajmują miejsce potrzebne do wpisu katalogu („i- węzeł ”), ale nie mają żadnej rzeczywistej zawartości i nie mają rzeczywistego rozmiaru pliku.
Inne pliki urządzeń to np.
/dev/sda
(Zazwyczaj dysk twardy lub dysk SSD),/dev/zero
(plik, który podczas odczytu generuje zero) lub/dev/random
(plik, który podczas odczytu generuje losowe dane). Właściwie wszystkie pliki/dev/
są plikami urządzeń lub linkami prowadzącymi do plików urządzeń.źródło
mknod
do tworzenia plików urządzeń w dowolnym miejscu). W przypadku wirtualnych systemów plików, takich jak/dev/
i-węzeł, nie zajmuje miejsca na dysku, ale pewna pamięć.ls
idu
zgłoszenie rozmiaru znaku specjalnego urządzenia, takiego jak/dev/null
lub,/dev/random
daje 0 .