2012-05-26 09:09:09 +0000 2012-05-26 09:09:09 +0000
61
61

Hoe krijg ik het mount pad van een USB apparaat op OSX?

Ik heb een back-upscript dat een back-up maakt van een aantal gegevens op een USB-apparaat. Het probleem dat ik heb is dat OSX soms het verwachte mount pad veranderd. Bijvoorbeeld als een bestand is vergrendeld onder het verwachte mount pad, mount OSX het op een ander pad. Een USB apparaat met de naam ‘BACKUP’ kan worden aangekoppeld op /Volumes/BACKUP-1 in plaats van /Volumes/BACKUP.

Is er een manier om het huidige koppelpad van een USB-apparaat te achterhalen in de OSX Terminal? Zoiets als ‘mount_path BACKUP’ (commando is nep) dat dan ‘/Volumes/BACKUP-1’ teruggeeft of niets als het apparaat niet is aangekoppeld?

Antwoorden (8)

72
72
72
2012-05-26 09:56:13 +0000

De volgende commando’s tonen u informatie over gemounte volumes:

  • De bekende Unix mount, die bijv. /dev/disk5s3 toont die op /Volumes/Foo is aangekoppeld
  • diskutil list toont een overzicht van alle schijven en volumes
  • diskutil info /dev/disk5s3 toont informatie over dat volume, inclusief een Volume UUID die kan worden gebruikt om dat volume uniek te identificeren.

U kunt diskutil info opvragen met behulp van de UUID van het volume:

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

Voorbeeldopdrachtuitvoer op mijn systeem:

$ 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
10
10
10
2012-10-26 20:32:46 +0000

Wat dacht je van dit commando:

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

In de kolom “Mounted on” krijg je alle Mount Points van alle apparaten die op "/Volumes" zijn aangekoppeld, wat in mijn geval bijna altijd USB-apparaten zijn ;-)

De grep commando’s slaan in principe de harde schijf over die op "/" is aangekoppeld.

In de terminal van mijn OSX Snow Leopard, gebruik ik het voor een snel overzicht van de Mount Punten van mijn op dat moment aangesloten USB Apparaten. Als je alleen geïnteresseerd bent in Mount Points en niet in alle andere parameters zoals UUID etc., dan is dit naar mijn mening de meer recht-toe-recht-aan manier in plaats van "diskutil" met al zijn informatie.

2
2
2
2015-12-29 11:14:55 +0000

Ik haal het op in een variabele:

media=Ik haal het op in een variabele: 

df | grep "media" | awk '{print $6}'Ik haal het op in een variabele: 


of

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

Het df commando geeft een lijst van de partities, de resulterende uitvoer wordt doorgevoerd als invoer naar het grep commando dat filtert en alleen de regels bewaart die het woord media bevatten, die vervolgens worden doorgevoerd naar het awk commando dat alleen de 6e kolom van zijn éénregelige invoer bewaart.

1
1
1
2019-05-11 12:18:33 +0000

Gewoon het goede oude diskutil. Dit is geen Linux, waar je waarschijnlijk in /sys of zoiets kunt gluren.

diskutil info "$VolumeName" | grep "Mount Point" | tr " " "\n" | tail -1
0
0
0
2015-02-25 15:53:57 +0000

Dit is wat ik gebruik in mijn shell scripts op OS X

df | awk '{print $6}' | grep -Ex "/Volumes/myvolume"
0
0
0
2012-05-26 12:33:15 +0000

Ik zou hier gewoon fstab voor gebruiken. Er is een draad over dit onderwerp hier op Super User: Mac Lion: fstab is deprecated. dus wat vervangt het om te voorkomen dat een partitie wordt gemount?

0
0
0
2012-09-26 09:25:39 +0000

Ik eindigde met dit bash script :

#!/bin/sh
#
# Retrieves the mount point of an OSX volume name or UUID.
# @param $1 Name of the volume or UUID of the volume.
# @return returns the mount path or an empty string if the volume is not mounted. 
#
diskutil info $1 | grep 'Mount Point' | cut -d : -f 2 | sed 's/^ *//g' | sed 's/ *$//g';
-1
-1
-1
2017-04-27 13:40:38 +0000

Dit werkt misschien beter:

df -lH | grep -E "*putinyourvolumelabel*$" | awk '{print $1}''