USB デバイスにデータをバックアップするバックアップ スクリプトがあります。問題は、OSX が予期されるマウント パスを変更することがあることです。たとえば、予期されるマウント パスでファイルがロックされている場合、OSX はそれを別のパスにマウントします。「BACKUP」という名前の USB デバイスは、/Volumes/BACKUP ではなく、/Volumes/BACKUP-1 にマウントできます。
OSX ターミナルで USB デバイスの現在のマウント パスを確認する方法はありますか? 'mount_path BACKUP' (コマンドは偽物) のようなもので、デバイスがマウントされていない場合は '/Volumes/BACKUP-1' を返すか、何も返さないでしょうか?
答え1
次のコマンドは、マウントされたボリュームに関する情報を表示します。
- よく知られているUnixは
mount
、例えば次のよう/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/*"
「マウント先」の列には、 にマウントされているすべてのデバイスのマウント ポイントが表示されます"/Volumes"
。私の場合は、ほとんどの場合、USB デバイスです ;-)
コマンドgrep
は基本的に、にマウントされているハードドライブをスキップします"/"
。
OSX Snow Leopard のターミナルでは、現在接続されている USB デバイスのマウント ポイントの概要を簡単に確認するためにこれを使用します。マウント ポイントのみに興味があり、UUID などの他のすべてのパラメーターには興味がない場合は、"diskutil"
すべての情報を表示するよりも、これがより簡単な方法であると私は考えています。
答え3
変数で取得します:
media=\`df | grep "media" | awk '{print $6}'\`
または
media=$(df | awk '/media/ {print $6}')
このdf
コマンドはパーティションをリストし、結果の出力は grep コマンドへの入力としてパイプされ、単語 media を含む行のみがフィルタリングされて保持されます。その後、その行はコマンドにパイプされ、awk
1 行の入力の 6 列目のみが保持されます。
答え4
まさに古き良き ですdiskutil
。これは Linux ではないので、/sys などを覗くことはできないでしょう。
diskutil info "$VolumeName" | grep "Mount Point" | tr " " "\n" | tail -1