Я прочитал /dev/null - это специальный файл, который "выбрасывает" все, что написано на нем, но использует ли запись непосредственно в него жесткий диск каким-либо образом? Или как насчет оперативной памяти?

Например:

wget http://speedtest.wdc01.softlayer.com/downloads/test500.zip -o /dev/null

Аналогично для Windows, запись в NUL также ведет себя так же?

2 ответа2

5

Запись в /dev/null никак не влияет на жесткий диск. То же самое верно для Windows NUL .

Одна вещь , которая отличается тем , что NUL является "специальный" имя, в то время как /dev/null не является.

Когда вы используете /dev/null в Linux (или любом Unix), ОС запускает и ищет файл с таким именем. Если он не найдет его, он создаст настоящий реальный файл с именем /dev/null и запишет данные на диск; это может произойти, если вы забыли смонтировать файловую систему /dev или что-то еще.

Если /dev/null существует, как и должно быть, то ОС обнаружит, что это файл символьного устройства, с магическими номерами 1 и 3 (старший и младший), и специальный драйвер для записи на это устройство активируется. ... и сбрасывает ваши данные, не читая их.

Вы можете создать свой собственный null файл в любом месте (и называть его как угодно):

sudo mknod --mode=666 my_null c 1 3

и тогда это тоже будет работать:

echo "dump this!" > ./my_null

Я не знаю, почему вы бы, хотя? ;-)

1

/dev/null не похож на традиционные файлы.

Каталог /dev/ - это точка монтирования для псевдофайловой системы devfs (Device Filesystem). Используя форму файловой системы, devfs действует как менеджер устройств, который отображает каждое устройство в виде файла.

Эта псевдо / виртуальная файловая система отсутствует на жестком диске. Это в памяти.

Файлы в /dev генерируются ядром для обеспечения программного обеспечения и обработки доступа к устройствам.

Файл null , находящийся в каталоге /dev/ не имеет размера, его дата создания совпадает со временем загрузки системы и имеет разрешения на чтение и запись для всех пользователей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .