/dev/sda
est formellement un fichier car dans Unix/Linux presque tout est un fichier. Normalement c'est un fichier spécial de bloc associé à un périphérique de bloc. Vous pouvez appeler /dev/sda
un "nœud de périphérique". Par "normalement", je veux dire "par convention", car vous pouvez créer /dev/sda
comme tout autre type de fichier si vous le souhaitez; néanmoins, tout utilisateur averti s'attendra à ce qu'il s'agisse d'un fichier spécial de bloc.
Un scénario relativement courant où /dev/sdX
se révèle être un fichier régulier est après qu'un utilisateur ait écrit quelque chose à ce chemin sans s'assurer qu'il existait en tant que fichier spécial au préalable. Écrire sur un chemin inexistant peut créer un fichier régulier. Comparez cette réponse à la mienne.
Ce que Vim voulait dire était que votre /dev/sda
n'est pas un fichier régulier; cd
vous a dit que ce n'est pas un répertoire. Il s'agit très probablement d'un périphérique spécial de bloc comme il se doit. Vous pouvez le confirmer en utilisant ls -l
ou file
. Exemple:
$ ls -l /dev/sda
brw-rw---- 1 root disk 8, 0 Oct 28 15:35 /dev/sda
$ # Ce 'b' devant indique un fichier spécial de bloc.
$
$ file /dev/sda
/dev/sda: block special (8/0)
$
y a-t-il un meilleur moyen de m'assurer que j'utilise le bon périphérique?
lsblk
. Voir également comment détecter si un disque dur est externe en USB ou interne.
Vous ne pouvez pas faire cd
vers /dev/sda
pour voir son contenu. Le périphérique peut contenir un ou plusieurs systèmes de fichiers mais pour naviguer dans un système de fichiers, vous devez d'abord le monter. Exemple:
mount /dev/sda /mnt
# puis naviguez dans /mnt/
Cette commande exacte aura du sens s'il y a un système de fichiers sur l'ensemble du périphérique. Habituellement, il y a une table de partitions; ensuite les systèmes de fichiers résident dans des partitions référencées et montées via /dev/sda1
, /dev/sda2
, etc. Comparez cette question.