it-swarm-id.com

Bagaimana cara menemukan di perangkat fisik mana folder berada?

Secara khusus: Saya lakukan Sudo mkdir /work, dan ingin memverifikasikannya memang berada di harddisk saya dan tidak dipetakan ke drive lain.

Bagaimana cara memeriksa di mana folder ini berada secara fisik?

120
ripper234

Perintah df(1) akan memberi tahu Anda perangkat tempat file atau direktori:

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 harus menentukan perangkat blok mana yang volume logisnya aktif. Untuk ini, Anda dapat menggunakan perintah lvs(8):

# 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 bahwa /dev/md2 Ada di perangkat /dev/sda3 Dan /dev/sdb3.

Ada metode lain yang memblokir perangkat yang dapat disarangkan (Fuse, loopback filesystems) yang akan memiliki metode mereka sendiri untuk menentukan perangkat blok yang mendasarinya, dan Anda bahkan dapat membuat sarang berlapis-lapis sehingga Anda harus menurunkannya. Anda harus mengambil setiap kasing ketika datang.

154
camh

Untuk skrip, Anda dapat menggunakan:

$ df -P <pathname> | awk 'END{print $1}'

Ini kompatibel dengan POSIX.

5
Tom Hale

Dalam distribusi modern Ubuntu ada lapisan tambahan (device mapper) antara file/direktori Anda dan perangkat. /dev/mapper berisi tautan simbolis yang menunjuk ke perangkat khusus yang sebenarnya. Misalnya, mencoba pada 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.

2
arielf