ディスクのデバイスノードを入力として受け取り、そのディスクがマウントされている場所(およびマウントされている場合)を知らせる簡単なコマンドはありますか?別のコマンドに渡すためにマウントポイントを別々にインポートできますか?
私は最小限にインストールされたDebian Squeezeライブシステムを使用しています(必要に応じて追加のパッケージをインストールできます)。
ベストアンサー1
findmnt
Linuxでは、次のコマンドを使用できますutil-linux
(バージョン2.18に基づいて)。
$ findmnt -S /dev/VG_SC/home
TARGET SOURCE FSTYPE OPTIONS
/home /dev/mapper/VG_SC-home ext4 rw,relatime,errors=remount-ro,data=ordered
またはlsblk
(またutil-linux
2.19から):
$ lsblk /dev/VG_SC/home
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
VG_SC-home 254:2 0 200G 0 lvm /home
このツールは、特定のデバイス(ディスクまたはパーティション...)にインストールされているすべてのファイルシステムを見つけるのにも役立ちます。
$ lsblk /dev/sda2
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda2 8:2 0 59.5G 0 part
├─linux-debian64 (dm-1) 252:1 0 15G 0 lvm
└─linux-mint (dm-2) 252:2 0 15G 0 lvm /
マウントポイントのみを取得します。
$ findmnt -nr -o target -S /dev/storage/home
/home
$ lsblk -o MOUNTPOINT -nr /dev/storage/home
/home
findmnt
上記は、デバイスがマウントされていない場合に失敗した終了ステータスを代わりに返しますlsblk
。
だから:
if mountpoint=$(findmnt -nr -o target -S "$device"); then
printf '"%s" is mounted on "%s"\n' "$device" "$mountpoint"
else
printf '"%s" does not appear to be directly mounted\n' "$device"
fi