Apa cara terbaik untuk mengetahui informasi sistem file tentang file.
Misalnya, jika saya punya file
/media/xyz/path/to/file.ext
Dan /etc/fstab
berisi
//server1/Share1 /media/xyz cifs option1=value1,...
Bagaimana saya bisa menentukan bahwa file tersebut pada share Samba, bahwa ia memiliki jalur lokal /path/to/file.ext
dan dengan opsi apa sistem file dipasang?
Apakah mengurai output dari mount
solusi portabel? Atau parse findmnt
? Apakah ada cara yang sesuai dengan POSIX untuk mencapai itu?
df /path/to/file
harus menunjukkan partisi atau mount./proc/mounts
. Apakah ada cara yang kompatibel dengan BSD / OSX untuk mencapai hal yang sama?mount
dll untuk mendapatkan filesystem dan opsi dll. Saya masih tidak yakin tentang cara terbaik untuk menemukan informasi ini di * BSD dan OSX. Saya belum punya waktu untuk bekerja di perpustakaan yang membutuhkan ini tetapi akan memberikan umpan balik begitu saya melakukannya. Dari apa yang saya lihat,mount -P
tampaknya cukup dapat diandalkan di Linux / BSD.Jawaban:
stat (1) adalah cara portabel untuk mengetahui beberapa informasi ini, misalnya:
Yang lainnya sangat spesifik untuk OS, pada sistem Linux terkini Anda dapat dengan mudah menggunakan
findmnt --output
skrip.sumber
stat
juga os-spesifik.jika saya memahami kebutuhan Anda dengan benar, dan menggabungkan bit dari jawaban sebelumnya, berikut ini yang mungkin Anda butuhkan. tentukan dalam skrip (misalnya, dalam .bashrc Anda) -
dan kemudian Anda bisa menjalankannya sesuai kebutuhan
sumber
findmnt
tidak memerlukan semua hal itu, ia dapat melakukan ini dengan sendirinya