/media/cdrom
est une convention pour le point de montage , tandis que /dev/cdrom
est le dispositif spécial qui pourrait être monté sur le premier.
Vous avez besoin des deux, car ils servent à des fins différentes :la plupart des applications ne lisent pas directement à partir du périphérique spécial, mais peuvent lire à partir d'un système de fichiers (quelque chose qui est monté)
(Merci pour tant de réponses à ma question. Après avoir cherché sur le Web pendant un certain temps, je souhaite partager ma propre compréhension.)
D'après ici :
Dans les systèmes d'exploitation de type Unix, un fichier de périphérique ou un fichier spécial est une interface pour un pilote de périphérique qui apparaît dans un système de fichiers comme s'il s'agissait d'un fichier ordinaire.
D'après ici :
La commande mount sert à attacher le système de fichiers trouvé sur certains appareils dans la grande arborescence de fichiers.
Donc, je pense qu'il y a 2 niveaux différents d'abstraction logicielle ici :
-
/dev/cdrom
est un fichier spécial de périphérique. Il résume le matériel du CD-ROM en tant que périphérique d'E/S en bloc. Cette abstraction est fournie par le pilote de périphérique. -
/media/cdrom
est un point de montage pour un système de fichiers. Ainsi, il fournit un niveau d'abstraction plus élevé du matériel du CD-ROM, c'est-à-dire en tant que système de fichiers. Tels que le système de fichiers ISO-9660. Et cette abstraction est fournie par le pilote du système de fichiers.
Donc, fondamentalement, 2 emplacements de fichiers différents pour 2 niveaux d'abstraction différents. Et dans différents scénarios, nous pouvons en avoir besoin d'un autre. Je pense que d'autres systèmes d'exploitation tels que Windows fournissent également des options si différentes que Linux les unifie en une seule hiérarchie de fichiers.
(Je suppose que je devrais peut-être faire une expérience en écrivant du code C sur Linux pour interagir avec les deux /dev/cdrom
et /media/cdrom
. Et voyez comment tout se passe.)
(Je continuerai à apprendre et à affiner ma compréhension si nécessaire.)
Pourquoi avons-nous les deux /dev/cdrom
et /media/cdrom
?
Pourquoi avons-nous les deux /dev/sda2
et /home
?
En gros, /dev/cdrom
est un fichier . Lorsque vous y accédez, vous accédez aux bits et octets individuels du CD (s'il y en a un). Alors que /media/cdrom
est un dossier . Lorsque vous y accédez, vous accédez aux fichiers stocké sur le CD.
De même, /dev/sda2
représente le contenu brut de la deuxième partition sur le premier disque dur. Vous y écririez directement, par exemple si vous vouliez formater la partition. (Le mkfs
le programme ouvre littéralement /dev/sda2
ou quoi que ce soit, et écrit des modèles de bits particuliers dessus.) Vous montez ensuite /dev/sda2
à, disons, /home
, et maintenant vous pouvez accéder aux fichiers réels . Lorsque vous accédez aux fichiers via le point de montage, le pilote du système de fichiers lit et écrit le fichier de périphérique sous-jacent.
C'est juste la façon dont Unix fait les choses.