Je sais que je peux trouver le nom de mon lecteur flash en allant /media/user/nameOfFlashdrive
dans le gestionnaire de fichiers. Cependant, existe-t-il une commande de terminal où je peux entrer le nom du lecteur flash et qui me dira où le lecteur est connecté, tel que /dev/sdb1
?
Vous pouvez simplement utiliser:
lsblk | grep <flashdrive>
Cela va sortir dans ma situation, en cours d'exécution
$ lsblk | grep Passport
└─sdb1 8:17 0 1,8T 0 part /media/jacob/My Passport1
└─sdc1 8:33 0 698,6G 0 part /media/jacob/My Passport
où vous pouvez voir à la fois le périphérique et le point de montage. Comme vous pouvez le constater, j’ai deux lecteurs USB nommés My Passport
$ lsblk | grep Passport | awk '{ print $1 }'
└─sdb1
└─sdc1
Le même, mais avec une sortie plus précise:
$ lsblk | grep Passport | awk -F'[─ ]' '{ print $2 }'
sdb1
sdc1
Ou, comme suggéré par @kos (merci!), Encore plus simple, utilisez lsblk
avec l'option -l
(ce qui laissera le └─
dans la sortie, avant les périphériques):
$ lsblk -l | grep Passport | awk '{ print $1 }'
sdb1
sdc1
Ou (comme suggéré par @kos), vous pouvez vous passer de la commande grep
, en utilisant uniquement lsblk
et awk
:
$ lsblk -l | awk '/Passport/{ print $1 }'
sdb1
sdc1
lsblk
listera tous vos périphériques montésgrep <flashdrive>
ne listera que la ou les lignes, correspondant au nom de votre appareil, ressemblant à ceci:
└─sdc1 8:33 0 698,6G 0 part /media/jacob/My Passport
awk -F'[─ ]' '{ print $2 }'
divisera la ligne en deux délimiteurs:
─
(qui est le deuxième caractère de)
et un espace.
Par la suite, nous pouvons facilement obtenir la section dont nous avons besoin.
Il y a plusieurs commandes pour ça en fait. On peut toujours filtrer la sortie, en utilisant des outils de traitement de texte, leur sortie est généralement assez petite pour être lue dans un seul écran.
blkid
name__Comme son nom l'indique, cette commande soignée en elle-même affiche des informations sur les périphériques en mode bloc. Avec -L
, vous pouvez rechercher un périphérique spécifique avec une étiquette (nom).
$ blkid -L DTSE9
/dev/sdb1
df
name__Cette commande soignée fait partie du paquetage coreutils
et indique la taille du bloc et l'utilisation des "fichiers de périphérique". Il ne montre que des informations sur les périphériques montés (autrement dit, liés à un dossier quelque part). Par exemple,
/dev/sdb5 115247656 84753976 24616332 78% /media/WINDOWS
Me dit que ma partition Windows sur le deuxième disque dur est liée à la partition /media/WINDOWS
.
udisksctl
name__$ udisksctl status
MODEL REVISION SERIAL DEVICE
--------------------------------------------------------------------------
Radeon R7 1.01 A22MD061520000172 sda
TSSTcorp CDDVDW SU-208GB TF01 S16T6YEFB00NKH sr0
Commande très pratique qui répertorie les modèles et le fichier de périphérique auquel un disque est lié. Dans l'exemple ci-dessus, mon disque SSD Radeon R7 est lié au périphérique /dev/sda
.
Si nous allons dans plus de détails, udisksctl info -b /dev/sda
listera de nombreuses informations supplémentaires, y compris la taille et les liens symboliques.
Si nous voulons nous déchaîner, udisksctl dump
produira une sortie détaillée sur tous les disques.
parted
and fdisk
name__Les deux commandes sont des utilitaires de disque, utilisés pour le partitionnement, le redimensionnement et bien d’autres choses amusantes. Cependant, les deux nécessitent l'utilisation de Sudo
name__. Les deux produisent d'excellentes informations verbeuses
find
name__C'est une approche plus "pratique". Tous les périphériques ont un fichier de périphérique spécial sous Linux (rappelez-vous que la philosophie Unix stipule que tout est un fichier? Cela s'applique ici au mieux). Sachant qu'il existe des fichiers /dev/disk/by-label
, nous pourrions rechercher ce répertoire ou simplement /dev/disk
en général. Certainement un outil que les utilisateurs plus avancés peuvent apprécier
$ find -L /dev/disk/by-label/ -name "DTSE9" -exec readlink -e {} \;
/dev/sdb1
lsblk
name__Déjà couvert par Jacob.
mount
name__$ mount | grep "DTSE9"
/dev/sdb1 on /media/xieerqi/DTSE9 type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)
Répertorie tous les systèmes de fichiers montés. Peut être filtré avec grep
pour rechercher un système de fichiers spécifique. C'est analogue à grep 'DISKNAME OR UUID' /proc/mounts
lshw
name__Cette commande fournit des informations sur tout le matériel du système. En particulier, vous pouvez afficher des informations sur les disques à l'aide de lshw -c disk
pour le périphérique entier ou de lshw -c volume
pour les partitions, et vous devriez voir une sortie avec des lignes similaires à celles-ci:
logical name: /dev/sdc1
logical name: /media/xieerqi/BA02-AF80
... annexant aux réponses complètes ci-dessus:
lsusb
name__lsusb
est un utilitaire permettant d’afficher des informations sur les bus USB du système et les périphériques qui y sont connectés.
Voir page de manuel . !