일부 데이터를 USB 장치에 백업하는 백업 스크립트가 있습니다. 내가 가진 문제는 OSX가 때때로 예상 마운트 경로를 변경한다는 것입니다. 예를 들어 일부 파일이 예상 마운트 경로 아래에 잠겨 있으면 OSX는 해당 파일을 다른 경로에 마운트합니다. 'BACKUP'이라는 USB 장치는 /Volumes/BACKUP 대신 /Volumes/BACKUP-1에 마운트할 수 있습니다.
OSX 터미널에서 USB 장치의 현재 마운트 경로를 찾는 방법이 있습니까? 'mount_path BACKUP'(명령은 가짜임)과 같은 것인데 '/Volumes/BACKUP-1'을 반환하거나 장치가 마운트되지 않은 경우 아무것도 반환하지 않습니까?
답변1
다음 명령은 마운트된 볼륨에 대한 정보를 표시합니다.
- 예를 들어 다음 위치 에 마운트된 것을
mount
보여주는 잘 알려진 Unix/dev/disk5s3
/Volumes/Foo
diskutil list
모든 디스크 및 볼륨의 개요를 표시합니다.diskutil info /dev/disk5s3
Volume UUID
해당 볼륨을 고유하게 식별하는 데 사용할 수 있는 정보를 포함하여 해당 볼륨에 대한 정보를 표시합니다 .
diskutil info
볼륨의 UUID를 사용하여 쿼리할 수 있습니다 .
$ diskutil info DEC8759E-F77D-3EAE-B3EB-B6438F1AA428 | grep 'Mount Point'
Mount Point: /Volumes/DroboOne
내 시스템의 샘플 명령 출력:
$ 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
답변2
이 명령은 어떻습니까?
df -lH | grep "Filesystem"; df -lH | grep "/Volumes/*"
"Mounted on" 열에는 마운트된 모든 장치의 모든 마운트 지점이 표시됩니다 "/Volumes"
. 제 경우에는 거의 항상 USB 장치입니다. ;-)
이 grep
명령은 기본적으로 에 마운트된 하드 드라이브를 건너뜁니다 "/"
.
내 OSX Snow Leopard 터미널에서는 현재 연결된 USB 장치의 마운트 지점을 빠르게 살펴보는 데 사용합니다. 마운트 지점에만 관심이 있고 UUID 등과 같은 다른 모든 매개변수에는 관심이 없다면 내 생각에는 이것이 "diskutil"
모든 정보에 대한 것 보다 더 직접적인 방법일 것입니다 .
답변3
변수에서 검색합니다.
media=\`df | grep "media" | awk '{print $6}'\`
또는
media=$(df | awk '/media/ {print $6}')
명령 df
은 파티션을 나열하고, 결과 출력은 media라는 단어가 포함된 줄만 필터링하고 유지하는 grep 명령에 대한 입력으로 파이프됩니다. 그런 다음 awk
한 줄 입력의 6번째 열만 유지하는 명령으로 파이프됩니다.
답변4
그냥 좋은 오래된 diskutil
. 이것은 /sys 등을 엿볼 수 있는 Linux가 아닙니다.
diskutil info "$VolumeName" | grep "Mount Point" | tr " " "\n" | tail -1