Jawaban:
The df(1)
perintah akan memberitahu Anda perangkat yang file atau direktori adalah pada:
df /work
Bidang pertama memiliki perangkat tempat file atau direktori aktif.
misalnya
$ df /root
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 1043289 194300 795977 20% /
Jika perangkat adalah volume logis, Anda perlu menentukan perangkat blok mana yang volume logis aktif. Untuk ini, Anda dapat menggunakan lvs(8)
perintah:
# df /usr
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/orthanc-usr
8256952 4578000 3259524 59% /usr
# lvs -o +devices /dev/mapper/orthanc-usr
LV VG Attr LSize Origin Snap% Move Log Copy% Convert Devices
usr orthanc -wi-ao 8.00g /dev/sda3(0)
Kolom terakhir memberi tahu Anda bahwa volume logis usr
dalam grup volume orthanc
( /dev/mapper/orthanc-usr
) ada di perangkat /dev/sda3
. Karena grup volume dapat menjangkau beberapa volume fisik, Anda mungkin menemukan bahwa Anda memiliki beberapa perangkat yang terdaftar.
Jenis lain dari perangkat blok logis adalah perangkat md (Beberapa Perangkat, dan dulu disebut meta-disk saya pikir), seperti /dev/md2
. Untuk melihat komponen perangkat md, Anda dapat menggunakan mdadm --detail
atau melihat/proc/mdstat
# df /srv
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/md2 956626436 199340344 757286092 21% /srv
# mdadm --detail /dev/md2
...details elided...
Number Major Minor RaidDevice State
0 8 3 0 active sync /dev/sda3
1 8 19 1 active sync /dev/sdb3
Anda dapat melihat yang /dev/md2
ada di perangkat /dev/sda3
dan /dev/sdb3
.
Ada metode lain yang memblokir perangkat yang dapat disarangkan (sekering, sistem file loopback) yang akan memiliki metode mereka sendiri untuk menentukan perangkat blok yang mendasarinya, dan Anda bahkan dapat membuat sarang berlapis-lapis sehingga Anda harus turun. Anda harus mengambil setiap kasing ketika datang.
df
sangat membantu.
lvdisplay
atau lvs
akan menjadi temanmu.
Untuk skrip, Anda dapat menggunakan:
$ df -P <pathname> | awk 'END{print $1}'
Ini kompatibel dengan POSIX.
Dalam distribusi modern Ubuntu ada lapisan tambahan (device mapper) antara file / direktori Anda dan perangkat. /dev/mapper
berisi tautan simbolik yang menunjuk ke perangkat khusus yang sebenarnya. Misalnya, mencoba di direktori saat ini:
$ df . | grep '^/' | cut -d' ' -f1
/dev/mapper/kubuntu--vg-root
$ ls -l /dev/mapper/kubuntu--vg-root
lrwxrwxrwx 1 root root 7 Nov 22 18:02 /dev/mapper/kubuntu--vg-root -> ../dm-1
Jadi untuk mendapatkan path lengkap perangkat secara terprogram, Anda dapat menggunakan:
$ realpath $(df . | grep '^/' | cut -d' ' -f1)
Yang merupakan cetakan kasus saya:
/dev/dm-1
realpath
adalah bagian dari GNU coreutils.
df
akan tetap menampilkan mapper
path.
findmnt -T /work