Что такое папка /dev в linux (android)

fgrep -cw 'word' file1 file2... fileN

Это выведет следующее:

file1:4
file2:16

и так далее, по одному в строке. Если это просто сумма всех файлов, сделайте что-то вроде этого:

echo "Total: $(( $(fgrep -cw 'word' file1 file2... fileN | awk -F: '{ print $NF" + " }') 0 ))"

, который будет выводить:

Total: 20
1
16.11.2019, 04:03
1 ответ

Ваши ссылки tldp немного устарели. И если вы посмотрите на /devпросто как на часть файловой системы, вы упустите суть этой подсистемы.

В комментарии А.Б. упоминаются мажор/минор; но его ссылка - это просто необработанный список. Здесь выделенные устройства на kernel.org HTML есть дополнительная информация.

Я думаю, что фраза «все есть файл» в данном контексте вводит в заблуждение. Файлы в /devявляются так называемыми специальными файлами , символьными или блочными. На это указывают буквы «с» или «b».

]# ls -l /dev/tty1 /dev/sda1 
brw-rw---- 1 root disk 8, 1 Nov  5 17:27 /dev/sda1
crw------- 1 root tty  4, 1 Nov  7 05:48 /dev/tty1

А в документах мажор = 8:

   8 block      SCSI disk devices (0-15)
                  0 = /dev/sda          First SCSI disk whole disk
                 16 = /dev/sdb          Second SCSI disk whole disk
                 32 = /dev/sdc          Third SCSI disk whole disk
                   ...
                240 = /dev/sdp          Sixteenth SCSI disk whole disk

Но это даже напрямую не объясняет, почему раздел с большим номером вдруг получает major=259:

]# ls -l  /dev/sda16
brw-rw---- 1 root disk 259, 0 Nov  5 17:27 /dev/sda16

Я выбрал этот пример «sda», потому что это основное запоминающее устройство. Я не знаю, как это переводится на Android.

Блочные устройства (Разделы )могут быть записаны напрямую, но обычно они форматируются в файловой системе, а затем монтируются.

Как правило, файлы в /dev представляют собой интерфейс устройства, а не само устройство.


Сегодня /dev — это псевдо -файловая система, аналогичная /sys:

TARGET    SOURCE     FSTYPE
/dev      dev        devtmpfs
/sys      sys        sysfs
/         /dev/sda3  ext4

Во время загрузки /dev заполняется ядром. Пользователь может добавлять устройства, загружая модули. modprobe loopдает вам /dev/loop0-7например.

(Предлагаемое редактирование требует заполнения «udev» вместо «kernel». Я думаю, что это больше именование, чем заполнение как таковое. Если вы хотите углубиться в детали, вам лучше взглянуть на драйверы, модули или нет.)

Подключив внешнее usb хранилище, вы получаете sdb, sdc и т.д., но только если загружен модуль usb_storage.

Интерфейс природа специальных файлов /dev также проявляется в именах :некоторые из них, такие как sda или tty, являются техническими, некоторые (в /dev/disk/by -... )являются ссылками для удобства или идентификации.

0
27.01.2020, 23:57

Теги

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