67 votes

Comment puis-je obtenir le chemin de montage d'un périphérique USB sous OSX ?

J'ai un script de sauvegarde qui sauvegarde certaines données sur un périphérique USB. Le problème que j'ai est qu'OSX change parfois le chemin de montage attendu. Par exemple, si un fichier est verrouillé sous le chemin de montage attendu, OSX le monte sur un autre chemin. Un périphérique USB nommé 'BACKUP' peut être monté dans /Volumes/BACKUP-1 au lieu de /Volumes/BACKUP.

Existe-t-il un moyen de connaître le chemin de montage actuel d'un périphérique USB dans le terminal OSX ? Quelque chose comme 'mount_path BACKUP' (la commande est fausse) qui renverrait alors '/Volumes/BACKUP-1' ou rien si le périphérique n'est pas monté ?

79voto

Daniel Beck Points 105590

Les commandes suivantes vous montrent des informations sur les volumes montés :

  • Le célèbre système Unix mount en montrant par exemple /dev/disk5s3 monté à /Volumes/Foo
  • diskutil list montre une vue d'ensemble de tous les disques et volumes
  • diskutil info /dev/disk5s3 affiche des informations sur ce volume, y compris un Volume UUID qui peut être utilisé pour identifier de façon unique ce volume.

Vous pouvez interroger diskutil info en utilisant l'UUID du volume :

$ diskutil info DEC8759E-F77D-3EAE-B3EB-B6438F1AA428 | grep 'Mount Point'
   Mount Point:              /Volumes/DroboOne

Exemple de sortie de commande sur mon système :

$ mount
/dev/disk1 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
localhost:/bNqIvVr1ZdFBdf19Io81Q4 on /Volumes/MobileBackups (mtmfs, nosuid, read-only, nobrowse)
/dev/disk4 on /Volumes/MyBook (hfs, local, nodev, nosuid, journaled)
/dev/disk5s3 on /Volumes/DroboOne (hfs, local, nodev, nosuid, journaled, noowners)
/dev/disk7s3 on /Volumes/DroboTwo (hfs, local, nodev, nosuid, journaled, noowners)
/dev/disk6s3 on /Volumes/DroboThree (hfs, local, nodev, nosuid, journaled, noowners)

$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *256.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         240.0 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Servus10 HD            *239.7 GB   disk1
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *3.0 TB     disk2
   1:                        EFI                         209.7 MB   disk2s1
   2:          Apple_CoreStorage                         3.0 TB     disk2s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk2s3
/dev/disk4
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS MyBook                 *3.0 TB     disk4
/dev/disk5
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        *2.2 TB     disk5
   1:        Apple_partition_map                         32.3 KB    disk5s1
   2:                  Apple_HFS DroboOne                2.2 TB     disk5s3
/dev/disk6
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        *2.2 TB     disk6
   1:        Apple_partition_map                         32.3 KB    disk6s1
   2:                  Apple_HFS DroboThree              2.2 TB     disk6s3
/dev/disk7
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        *2.2 TB     disk7
   1:        Apple_partition_map                         32.3 KB    disk7s1
   2:                  Apple_HFS DroboTwo                2.2 TB     disk7s3

$ diskutil info /dev/disk5s3
   Device Identifier:        disk5s3
   Device Node:              /dev/disk5s3
   Part of Whole:            disk5
   Device / Media Name:      Untitled

   Volume Name:              DroboOne
   Escaped with Unicode:     DroboOne

   Mounted:                  Yes
   Mount Point:              /Volumes/DroboOne
   Escaped with Unicode:     /Volumes/DroboOne

   File System Personality:  Journaled HFS+
   Type (Bundle):            hfs
   Name (User Visible):      Mac OS Extended (Journaled)
   Journal:                  Journal size 172032 KB at offset 0x4001000
   Owners:                   Disabled

   Partition Type:           Apple_HFS
   OS Can Be Installed:      No
   Media Type:               Generic
   Protocol:                 FireWire
   SMART Status:             Not Supported
   Volume UUID:              DEC8759E-F77D-3EAE-B3EB-B6438F1AA428

   Total Size:               2.2 TB (2198888927232 Bytes) (exactly 4294704936 512-Byte-Blocks)
   Volume Free Space:        169.4 GB (169412173824 Bytes) (exactly 330883152 512-Byte-Blocks)
   Device Block Size:        512 Bytes

   Read-Only Media:          No
   Read-Only Volume:         No
   Ejectable:                Yes

   Whole:                    No
   Internal:                 No

11voto

mallin Points 113

Qu'en est-il de cette commande :

df -lH | grep "Filesystem"; df -lH | grep "/Volumes/*"

Dans la colonne "Monté sur", vous obtenez tous les points de montage de tous les périphériques montés sur "/Volumes" qui, dans mon cas, sont presque toujours des périphériques USB ;-)

En grep Les commandes sautent essentiellement le disque dur qui est monté sur "/" .

Dans le terminal de mon OSX Snow Leopard, je l'utilise pour avoir un aperçu rapide des points de montage de mes périphériques USB actuellement connectés. Si vous n'êtes intéressé que par les points de montage et non par tous les autres paramètres tels que l'UUID, etc. "diskutil" avec toutes ses informations.

2voto

Tash Pemhiwa Points 2800

Je le récupère dans une variable :

media=\`df | grep "media" | awk '{print $6}'\`

ou

media=$(df | awk '/media/ {print $6}')

En df liste les partitions, la sortie résultante est envoyée comme entrée à la commande grep qui filtre et ne conserve que les lignes contenant le mot media, qui est ensuite envoyée à la commande awk qui ne conserve que la 6ème colonne de son entrée d'une ligne.

1voto

Haotian Yang Points 31

Juste le bon vieux diskutil . Ce n'est pas Linux, où vous pouvez probablement regarder dans /sys ou autre.

diskutil info "$VolumeName" | grep "Mount Point" | tr " " "\n" | tail -1

0voto

dag729 Points 1934

J'utiliserais simplement fstab pour cela. Il y a un fil de discussion à ce sujet ici sur Super User : Mac Lion : fstab est déprécié. alors qu'est-ce qui le remplace pour empêcher le montage d'une partition ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X