Сортировка с помощью команды ls в unix (ksh) [закрыто]

Кажется, вы сбиты с толку.

/ boot - это каталог. Можно поместить содержимое из / boot в другой раздел, но / boot сам по себе является обычным каталогом. На самом деле нет смысла говорить « / boot - это раздел».

Обычно каталог с именем / dev содержит «узлы устройств», такие как sda , sda1 и так далее.Эти выглядят как файлы , но если вы откроете (скажем) / dev / sda и прочитаете из него байты, вы увидите необработанные байты на первом жестком диске. И если вы пишете на него, байты записываются непосредственно на жесткий диск (тем самым уничтожая таблицу разделов вашего диска и другую информацию, так что на самом деле не пытайтесь это сделать!)

Есть и другие узлы устройства; например, если вы открываете файл / dev / zero и читаете из него, независимо от того, сколько байтов вы просите прочитать, вы никогда не дойдете до конца файла, а байты всегда будут нулями. Это как если бы / dev / zero - это файл, содержащий бесконечность байтов нулей!

Конечно, / dev / zero не на самом деле содержит бесконечные байты. На самом деле это всего лишь небольшая заглушка с некоторыми магическими кодовыми числами, сообщающая ядру Linux, что нужно взаимодействовать с конкретным драйвером устройства. Аналогично, / dev / sda указывает на другой драйвер (тот, что для жестких дисков), / dev / sr0 указывает на другой (драйвер CD-ROM) и так далее. (Вы можете найти / dev / soundcard , / dev / tty3 и т. Д.)

Я думаю , что ваш вопрос, в основном, «Нам нужен / dev для доступа к дискам, но / dev хранится на диске, так что ... а?! "

Как только раздел, содержащий / dev смонтирован, вы можете просто получить доступ к / dev в обычном режиме. Но как нам вообще добраться до этой позиции? Что ж, это черная магия последовательности загрузки Linux.; -)

Старый способ заключался в том, чтобы написать параметр ядра Linux, который говорит что-то вроде root = (hd0,3) , чтобы сказать монтировать раздел №3 на диск №0 в качестве корневой файловой системы, и продолжить оттуда. (В частности, ядро ​​загружает / bin / init как процесс №1.)

Новый способ заключается в использовании так называемого «начального RAM-диска» («initrd»). Еще более новый способ - это "initramfs", который немного отличается, и я не стану вас утомлять. В любом случае ваш загрузчик (обычно GRUB) загружает ядро ​​Linux и initrd в память.

Обычно initrd содержит небольшую мини-версию вашей операционной системы; он содержит файлы, папки и прочее. В частности, он содержит сценарии загрузки, которые знают, где найти настоящий загрузочный раздел и смонтировать его для вас. Одна из вещей, содержащихся в initrd, - это папка / dev , полная узлов устройств. В конце концов, когда сценарии загрузки сделают свое дело, вы обнаружите реальное загрузочное устройство и монтируете его поверх содержимого initrd. И оттуда вы можете получить доступ к своим реальным файлам в обычном режиме.

0
27.11.2013, 11:02
0 ответов

Теги

Похожие вопросы