web-dev-qa-db-fra.com

Quelle est la commande du terminal pour trouver les informations usb?

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?

6
user2669764

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

Seulement obtenir l'appareil

$ 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

Explication

  • lsblk listera tous vos périphériques montés
  • grep <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.

3
Jacob Vlijm

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.

blkidname__

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

dfname__

Cette commande soignée fait partie du paquetage coreutilset 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.

udisksctlname__

$ 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.

partedand fdiskname__

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 Sudoname__. Les deux produisent d'excellentes informations verbeuses

findname__

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

lsblkname__

Déjà couvert par Jacob.

mountname__

$ 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 greppour rechercher un système de fichiers spécifique. C'est analogue à grep 'DISKNAME OR UUID' /proc/mounts

lshwname__

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
4
Sergiy Kolodyazhnyy

... annexant aux réponses complètes ci-dessus:

lsusbname__

lsusbest 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 . !

1
Campa