(Pas un double de Understanding / dev et de ses sous-répertoires et fichiers )
Je parcourais mon système de fichiers et pour la première fois j'ai pris une seconde pour analyser mon /dev
répertoire. J'ai été surpris par la quantité de fichiers d'appareils qu'il contenait et je ne pouvais pas donner un sens à tous:
max@linux-vwzy:/dev> ls
adsp disk fd0u1760 initctl mem root sg0 tty tty21 tty35 tty49 tty62 vboxdrv vcsa2
audio dri fd0u1840 input mixer rtc sg1 tty0 tty22 tty36 tty5 tty63 vboxnetctl vcsa3
autofs dsp fd0u1920 kmem mixer1 rtc0 sg2 tty1 tty23 tty37 tty50 tty7 vboxusb vcsa4
block dvd fd0u360 kmsg net scd0 sg3 tty10 tty24 tty38 tty51 tty8 vcs vcsa5
bootsplash dvdrw fd0u720 log network_latency sda sg4 tty11 tty25 tty39 tty52 tty9 vcs1 vcsa6
bsg fb0 fd0u800 loop0 network_throughput sda1 sg5 tty12 tty26 tty4 tty53 ttyS0 vcs10 vcsa7
btrfs-control fd fd0u820 loop1 null sda2 sg6 tty13 tty27 tty40 tty54 ttyS1 vcs2 vga_arbiter
bus fd0 fd0u830 loop2 nvram sda3 sg7 tty14 tty28 tty41 tty55 ttyS2 vcs3 xconsole
cdrom fd0u1040 full loop3 oldmem sdb shm tty15 tty29 tty42 tty56 ttyS3 vcs4 zero
cdrw fd0u1120 fuse loop4 port sdc snapshot tty16 tty3 tty43 tty57 ttyS4 vcs5
char fd0u1440 fw0 loop5 ppp sdc1 snd tty17 tty30 tty44 tty58 ttyS5 vcs6
console fd0u1600 hidraw0 loop6 psaux sdd sr0 tty18 tty31 tty45 tty59 ttyS6 vcs7
core fd0u1680 hidraw1 loop7 ptmx sde stderr tty19 tty32 tty46 tty6 ttyS7 vcsa
cpu fd0u1722 hidraw2 mapper pts sdf stdin tty2 tty33 tty47 tty60 uinput vcsa1
cpu_dma_latency fd0u1743 hpet mcelog random sdg stdout tty20 tty34 tty48 tty61 urandom vcsa10
Je sais que les sd*
« s sont mes disques et systèmes de fichiers, mais ce sont loopx
, fd0uxxxx
, sgx
, vcsxxx
et tous les autres fichiers individuels. La plupart d'entre eux sont des fichiers de périphérique selon ls
.
Je comprends que répondre pleinement à cette question nécessiterait une tonne d'informations, donc à moins que quelqu'un ne puisse fournir un lien avec un grand aperçu des différents fichiers de périphériques dev
et à quoi ils sont tous utilisés, je propose de faire une réponse CW.
la source
/dev
je devrais connaître? (Peut-être que vous aurez des réponses pour tous de toute façon, peut-être pas…)Réponses:
Certains d'entre eux ont des pages de manuel (dans la section 4 ; omettez le (s) dernier (s) chiffre (s) et dans quelques cas comme
sda
la lettre finale).Pour une réponse plus définitive, mais généralement moins facile à lire, consultez la documentation du noyau . Déterminez d'abord si le périphérique est un périphérique de bloc ou un périphérique de caractères , ainsi que son numéro majeur et mineur. Par exemple
il en
sda
va de même pour un périphérique bloc (b
) avec major: minor = 8: 0. Maintenant, recherchez-le dansdevices.txt
: le bloc 8 correspond aux périphériques de disque SCSI, qui sont la plupart des disques de nos jours (la plupart des disques IDE et SATA sont également visibles via l'interface SCSI, bien que cela dépende des options de compilation du noyau). Le périphérique de bloc 8: 1 (/dev/sda1
) est la première partition de/dev/sda
.Il peut y avoir quelques appareils bizarres qui ne sont pas documentés. Vous pouvez regarder sur votre système par exemple
/sys/dev/block/8:0
: il s'agit d'un lien symbolique vers un répertoire sous/sys
qui fournit diverses informations sur l'appareil. Vous pouvez suivre plus de liens, et en particulier (dans ce cas)/sys/dev/block/8:0/device/driver
vous atterrir dans un répertoire qui correspond au pilote. Une autre source d'informations est/proc/devices
, qui indique quel pilote réclame chaque numéro de périphérique majeur.La plupart des systèmes Linux utilisent udev pour remplir en
/dev
fonction des pilotes et du matériel disponibles. Vous pouvez parcourir les règles pour créer des fichiers de périphérique, généralement dans/lib/udev/rules.d
et/etc/udev/rules.d
(les emplacements exacts dépendent de la distribution).Certains fichiers ne sont pas des appareils.
lsof /dev/NAME
(en tant que root) vous indiquera à quel processus les utilise et vous donnera ainsi une indication de leur utilisation. Pour les répertoires, regardez les fichiers qu'ils contiennent.Cette réponse est spécifique à Linux, mais d'autres unités suivent les mêmes principes. Consultez les pages de manuel (dans la section 4 sur la plupart des variantes, mais quelques-unes utilisent la section 7), ou toute autre documentation du système ou du noyau. Les informations pertinentes sont le bit de bloc / caractère et le majeur: les nombres mineurs.
la source