USBデバイスにデータをバックアップするバックアップスクリプトがあります。私が持っている問題はOSXが時々期待されるマウントパスを変更するということです。たとえば、あるファイルが予想されるマウントパスでロックされている場合、OSXはそれを別のパスにマウントします。 'BACKUP'という名前のUSBデバイスは、/ Volumes/BACKUPの代わりに/ Volumes/BACKUP-1にマウントできます。
OSXターミナルでUSBデバイスの現在のマウントパスを見つける方法はありますか? 'mount_path BACKUP'(コマンドは偽)のようなもので、 '/ Volumes/BACKUP-1'を返すか、デバイスがマウントされていない場合は何も返さない
私はこのbashスクリプトを使用しました。
#!/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';
以下のコマンドは、マウントされたボリュームに関する情報を表示します。
mount
、 /dev/disk5s3
を/Volumes/Foo
にマウントdiskutil list
はすべてのディスクとボリュームの概要を表示しますdiskutil info /dev/disk5s3
は、そのボリュームを一意に識別するために使用できるVolume UUID
を含む、そのボリュームに関する情報を示します。ボリュームのUUIDを使用してdiskutil info
を照会できます。
$ 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
このコマンドはどうでしょうか。
df -lH | grep "Filesystem"; df -lH | grep "/Volumes/*"
"Mounted on"の欄には"/Volumes"
にマウントされているすべてのデバイスのすべてのマウントポイントがあります。これは私の場合はほとんどの場合USBデバイスです;-)
grep
コマンドは基本的に"/"
にマウントされているハードドライブをスキップします。
私のOSX Snow Leopardの端末では、現在接続されているUSBデバイスのマウントポイントの概要を簡単に説明するために使用しています。マウントポイントだけに興味があり、UUIDなどの他のすべてのパラメータには興味がないのであれば、"diskutil"
のすべての情報ではなく、これがより直接的な方法になると私は思います。
変数で取得します:
media=\`df | grep "media" | awk '{print $6}'\`
または
media=$(df | awk '/media/ {print $6}')
df
コマンドはパーティションをリストし、結果の出力はgrepコマンドへの入力としてパイプされます。grepコマンドはWordメディアを含む行のみをフィルター処理して保持し、次にawk
コマンドにパイプされます。 1行入力の6列目。
古き良きdiskutil
だけです。これはLinuxではありません。おそらく/ sysなどを覗くことができるでしょう。
diskutil info "$VolumeName" | grep "Mount Point" | tr " " "\n" | tail -1
これにはfstabを使うだけです。このトピックに関するスレッドがスーパーユーザーにあります。 Mac Lion:fstabは非推奨です。それではパーティションがマウントされないようにするために何を置き換えますか?
これは私がOS X上の私のシェルスクリプトで使用しているものです
df | awk '{print $6}' | grep -Ex "/Volumes/myvolume"