Findmnt, genellikle tüm büyük Linux dağıtımlarının temel paketlerinde yer alan ücretsiz ve açık kaynaklı bir yardımcı programdır. Yalnızca belirttiklerimiz için monte edilmiş tüm dosya sistemlerini listeleyebilir veya veri alabilir. Bu öğreticide, FindMnt’in nasıl kullanılacağını ve FileSystems’i Tür, Bağlantı Seçenekleri ve diğer parametrelere göre nasıl sorgulayacağınızı öğreniriz.
Findmnt Temel Kullanımı
Findmnt’i kullanmanın en basit yolu, herhangi bir seçenek veya argüman olmadan çağırmayı içerir; Bu durumda, yardımcı program dört sütun halinde düzenlenen tüm monte edilmiş dosya sistemleri hakkında bilgi görüntüler:
- HEDEF
- KAYNAK
- Fstype
- SEÇENEKLER
İlk sütun olan “Target”, Dosya sistemi MontajPoint hakkında bilgi tutar; İkincisi, “kaynak”, dosya sistemini barındıran kaynak cihazın yolunu içerir. Üçüncü sütun olan “FSType”, dosya sistemi türü (örn. Ext4 veya XFS) hakkında bilgi bildirmektedir; Son olarak, dördüncü sütun dosya sistemi için kullanılan montaj seçeneklerini görüntüler.
Yukarıda belirtilenler, Findmnt çıkışında kullanılan varsayılan sütunlardır. Mevcut olanların listesini almak için, kısa açıklamalarıyla birlikte, yardımcı programı -H seçeneğiyle çağırabiliriz:
$ findmnt -H ACTION <string> action detected by --poll AVAIL <string|number> filesystem size available, use <number> if --bytes is given FREQ <integer> dump(8) period in days [fstab only] FSROOT <string> filesystem root FSTYPE <string> filesystem type FS-OPTIONS <string> FS specific mount options ID <integer> mount ID INO.AVAIL <string> number of available inodes INO.TOTAL <string> total number of inodes INO.USED <string> number of used inodes INO.USE% <string> percentage of INO.USED divided by INO.TOTAL LABEL <string> filesystem label MAJ:MIN <string> major:minor device number OLD-OPTIONS <string> old mount options saved by --poll OLD-TARGET <string> old mountpoint saved by --poll OPTIONS <string> all mount options OPT-FIELDS <string> optional mount fields PARENT <integer> mount parent ID PARTLABEL <string> partition label PARTUUID <string> partition UUID PASSNO <integer> pass number on parallel fsck(8) [fstab only] PROPAGATION <string> VFS propagation flags SIZE <string|number> filesystem size, use <number> if --bytes is given SOURCE <string> source device SOURCES <string> all possible source devices TARGET <string> mountpoint TID <integer> task ID USED <string|number> filesystem size used, use <number> if --bytes is given USE% <string> filesystem use percentage UUID <string> filesystem UUID VFS-OPTIONS <string> VFS specific mount options
Belirli bir dosya sistemi hakkında bilgi almak
Daha önce tartıştığımız gibi, herhangi bir seçenek veya bağımsız değişken olmadan çağrıldığında, Findmnt tüm bağlanmış dosya sistemleri hakkında bilgi görüntüler. Bu nadiren faydalıdır: çoğu zaman cihaz adı, etiket, uuid veya majör: küçük sayı ile referans verebileceğimiz belirli bir dosya sistemi hakkında bilgi toplamakla ilgileniyoruz.
Bir dosya sistemi aramanın en yaygın yolu muhtemelen kaynak cihazıdır:
$ findmnt /dev/mapper/vg_system-lv_root
Başka bir seçenek, FileSytem’in bağlandığını bildiğimiz dizini (bağlantı noktasını) geçirmeyi içerir:
$ findmnt /
–Gget, —mountpoint veya —source seçeneklerini açıkça kullanmadıkça, FindMnt, hem kaynak hem de hedef sütunlara karşı argümanı eşleştirebilir. Aşağıdaki örnekte, yardımcı program çıktı döndürmez, çünkü argümanı bir bağlantı noktası olarak yorumlar:
$ findmnt --mountpoint /dev/mapper/vg_system-lv_root
Belirli bir dosya sistemine başvurmak için, önceden tanıyorsak UUID veya etiketini de kullanabiliriz. Diyelim ki UUID 331392BA-8966-4877-828C-99CC4BC418EC olsun:
$ findmnt UUID=331392ba-8966-4877-828c-99cc4bc418ec
Benzer şekilde, bir dosya sistemini etiketiyle referanslamak için:
$ findmnt LABEL=backups
Belirli bir dosyada arama
Varsayılan olarak, Findmnt/etc/fstab,/etc/mtab ve/proc/self/mountinfo dosyalarında dosya sistemlerini arar. Bazı seçenekler bu davranışı değiştirmemize izin verir. Örneğin -s (veya – -fstab) seçeneği, Findmnt’i yalnızca /etc /fstab dosyasındaki dosya sistemlerini dikkate alır; Benzer şekilde, -m (—mtab) seçeneği, aramayı/etc/mtab dosyasının içeriğiyle sınırlar ve -k, (–Kernel için kısa), aramayı/proc/self/mountInfo dosyasına daraltır .
Ayrıca -f seçeneğini kullanarak özel, alternatif bir dosyanın yolunu da sağlayabiliriz (—B -File için kısa). Örneğin /etc /fstab-backup dosyasındaki dosya sistemlerini aramak için şunları çalıştırırdık:
$ findmnt -F /etc/fstab-backup
Sonuçları dosya sistemi türüne göre filtreleme
Bazı durumlarda, belirli bir dosya sistemini hedeflemek istemiyoruz ve ne de bağlanmış olanların listesini elde etmek için. Bunun yerine, bazı parametreye dayalı bir filtre uygulamak isteyebiliriz. Örneğin, Findmnt’in yalnızca belirli bir türdeki dosya sistemlerini döndürmesini sağlamak için -t seçeneğini (–type) kullanabilir ve filtre olarak kullanmak istediğimiz türlerin listesini aktarabiliriz. Tüm bağlanmış VFAT veya XFS dosya sistemleri hakkında bilgi toplamak istediğimizi varsayalım:
$ findmnt -t vfat,xfs
Bağlama seçeneklerine göre sonuçları filtreleme
Başka bir seçenek de, bağlama seçeneklerine dayalı bir filtre uygulamaktır. Bu özelliği kullanmak için, tek yapmamız gereken -o seçeneğini ( -opsiyonlar için kısa) kullanmak ve filtre olarak kullanmak istediğimiz virgülle ayrılmış seçenekler listesini sağlamaktır. Örneğin, “Relatime” ve “RO” seçenekleriyle bağlanan tüm FileSytems listesini almak için:
$ findmount -O relatime,ro
Birden çok seçenek belirtildiğinde, yalnızca belirtilen tüm seçeneklerle bağlanan dosya sistemleri sorguyla eşleşir (bu bir mantıksal ve gibi çalışır).
Dikkat edilmesi gereken başka bir şey, varsayılan olarak, “hayır” öneki (örneğin noSuid) ile bir seçenek kullanırken, ifadenin tam anlamıyla eşleşmeyeceğidir; Bunun yerine, bir “hariç tutma” filtresi olarak birbirinden yok olacak ve seçenek olmadan monte edilen tüm dosya sistemleriyle eşleşecektir. Bu /etc /fstab dosyasının içeriğine bir göz atın:
/ UUID=331392ba-8966-4877-828c-99cc4bc418ec xfs defaults,x-systemd.device-timeout=0 /boot UUID=7e28e28a-fc1b-4652-8f86-4e2bdefdad85 xfs defaults,nosuid /boot/efi UUID=ABBE-D50B vfat defaults,uid=0,gid=0,umask=077,shortname=winnt /home UUID=244ed50a-4223-41a5-9edb-658488d02279 xfs defaults,x-systemd.device-timeout=0
Gördüğünüz gibi, listedeki ikinci dosya sistemi, 7E28E28A-FC1B-4652-8F86-4E2BDEFDAD85 UUID, “NOSUID” olan tek bağlantı seçeneği olan tek dosya sistemidir. -O noSuid seçeneğiyle Findmnt’i çalıştıralım ve ne döndürdüğünü görelim:
$ findmnt --fstab -O nosuid
Yukarıdaki komutun çıktısı:
TARGET SOURCE FSTYPE OPTIONS / UUID=331392ba-8966-4877-828c-99cc4bc418ec xfs defaults,x-systemd.device-timeout=0 /boot UUID=7e28e28a-fc1b-4652-8f86-4e2bdefdad85 xfs defaults,nosuid /boot/efi UUID=ABBE-D50B vfat defaults,uid=0,gid=0,umask=077,shortname=winnt /home UUID=244ed50a-4223-41a5-9edb-658488d02279 xfs defaults,x-systemd.device-timeout=0
Bir şekilde beklenmedik bir şekilde kullandığımız “sorgu”, yalnızca “nosuid” seçeneği ile bağlanan dosya sistemini eşleştirmek yerine, tüm bunları “Suid” seçeneği olmadan döndürdü, hepsi. İfadenin dosya sistemleriyle tam anlamıyla “nosuid” seçeneğiyle eşleşmesini istiyorsak, seçeneği “+” ile önekleştirmeliyiz:
$ findmnt --fstab -O +nosuid
Bu sözdizimiyle, ifade kelimenin tam anlamıyla “nosuid” seçeneğiyle eşleşir ve beklenen sonucu verir:
TARGET SOURCE FSTYPE OPTIONS /boot UUID=7e28e28a-fc1b-4652-8f86-4e2bdefdad85 xfs defaults,nosuid
Findmnt çıktısını biçimlendirme
Bir dizi seçenek, Findmnt komutunun çıktısını değiştirmemize ve biçimlendirmemize olanak tanır. Örneğin, kabuk komut dosyalarında Findmnt kullanırken, muhtemelen başlık satırını bastırmak ve yardımcı programın davranışını yalnızca tek bir bilgi parçasını döndürecek şekilde değiştirmek istiyoruz.
Üstbilgi satırı -n seçeneği (–noheadings kısa) kullanılarak bastırılabilir, yardımcı programı sadece belirli bilgileri döndürürken, -o seçeneğini (-utput) kullanabilir ve virgülle ayrılmış listesini geçebiliriz. Argüman olarak ilgilendiğimiz sütun (lar). Aşağıdaki örnekte, “$ root_fstype” değişkenine / üzerine monte edilen dosya sisteminin fstype’ını saklıyoruz:
$ root_fstype="$(findmnt --noheadings --output FSTYPE /)" $ echo "${root_fstype}" xfs
Findmnt, varsayılan olarak, çıktısını ağaç benzeri bir formatta düzenler, bu da dosya sistemleri arasındaki ilişkileri gösterir. Bunu değiştirebilir ve -j (–json) seçeneğini kullanarak çıkışı JSON olarak biçimlendirebiliriz. Örneğin JSON’daki /etc /fstab dosyasında bulunan dosya sistemini yeniden düzenlemek istediğimizi varsayalım:
$ findmnt -J --fstab
We would obtain a result similar to the following:
{ "filesystems": [ { "target": "/", "source": "UUID=331392ba-8966-4877-828c-99cc4bc418ec", "fstype": "xfs", "options": "defaults,x-systemd.device-timeout=0" },{ "target": "/boot", "source": "UUID=7e28e28a-fc1b-4652-8f86-4e2bdefdad85", "fstype": "xfs", "options": "defaults,nosuid" },{ "target": "/boot/efi", "source": "UUID=ABBE-D50B", "fstype": "vfat", "options": "defaults,uid=0,gid=0,umask=077,shortname=winnt" },{ "target": "/home", "source": "UUID=244ed50a-4223-41a5-9edb-658488d02279", "fstype": "xfs", "options": "defaults,x-systemd.device-timeout=0" } ] }
Alternatif olarak, -l (–ist) seçeneğini ileterek “Liste” biçimini kullanabiliriz. Bu biçim, bir sorguyu kısıtlamak için filtreler uyguladığımızda otomatik olarak kullanılır.
Sonuç
Bu öğreticide, Linux’a monte edilmiş dosya sistemleri hakkında bilgi almak için FindMNT yardımcı programını kullanmayı öğrendik. Yardımcı program varsayılan olarak neredeyse tüm ana dağılımlarda kurulur. Tüm monte edilmiş dosya sistemlerinin nasıl listelendiğini, bir dosya sisteminin UUID, etiket, ad ve montaj noktası ile nasıl referans verileceğini ve FindMnt sonuçlarını montaj seçeneklerine ve dosya sistemi türlerine göre nasıl filtreleyeceğini gördük.
Yazının orijinalini buradan okuyabilirsiniz.

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.