Özet
mtree [-LPUcdeinqruxwD] [-f belirtim] [-K anahtar_kelimeler] [-k anahtar_kelimeler] [-p yol] [-s tohum] [-X haric_tutma_listesi]
Açıklama
mtree yardımcı programı, geçerli dizini temel alan dosya hiyerarşisini, standart girdiden veya bir dosyadan okunan bir belirtim (specification) dosyası ile karşılaştırır. Özellikleri belirtimlerle eşleşmeyen, dosya hiyerarşisinde eksik olan veya belirtimde bulunup fiziksel olarak yer almayan tüm durumlar standart çıktıya raporlanır.
Seçenekler
Aşağıdaki seçenekler mevcuttur:
-c: Dosya hiyerarşisinin mevcut durumunu standart çıktıya bir belirtim satırları biçiminde yazdırır.-d: Dizin (directory) türündeki dosyalar dışındaki tüm diğer dosya türlerini yoksayar.-e: Dosya hiyerarşisinde var olan ancak karşılaştırılan belirtimde yer almayan ekstra dosyalar hakkında uyarı/hata raporlamaz.-f belirtim_dosyası: Karşılaştırılacak belirtimi standart girdi yerine verilenbelirtim_dosyasından okur. Bu seçenek iki kez belirtilirse, iki ayrı belirtim dosyası dosya hiyerarşisiyle karşılaştırılmak yerine doğrudan birbiriyle karşılaştırılır. Belirtimler-cçıktısındaki gibi sıralı olmalıdır.-D: Genişletilmiş öznitelikleri (extended attributes) işlerkenXATTR_SHOWCOMPRESSIONbayrağını devre dışı bırakır.-i:-cseçeneğiyle bir belirtim oluştururken bir dizin seviyesi her inildiğinde çıktıyı 4 boşluk girintiler.-K anahtar_kelimeler: Belirtilen (boşluk veya virgülle ayrılmış) anahtar kelimeleri mevcut anahtar kelime kümesine ekler.-k anahtar_kelimeler: Varsayılan anahtar kelimeler yerine, yalnızcatypeanahtar kelimesi ile birlikte belirtilen (boşluk veya virgülle ayrılmış) anahtar kelimeleri kullanır.-L: Dosya hiyerarşisindeki tüm sembolik bağlantıları (symbolic links) takip eder.-n: Bir belirtim oluştururken yol adı (pathname) yorum satırları üretmez.-P: Dosya hiyerarşisindeki sembolik bağlantıları takip etmez, bunun yerine sembolik bağlantının kendisini dikkate alır (varsayılan davranış).-p yol: Geçerli dizin yerine, belirtilenyolparametresini temel alan dosya hiyerarşisini kullanır.-q: Sessiz (quiet) mod. Eksik bir dizin zaten mevcut olduğu için (örneğin dizin bir sembolik bağlantıysa) oluşturulamadığında hata vermez.-r: Dosya hiyerarşisinde olup belirtim dosyasında tanımlanmamış olan tüm ekstra dosyaları sistemden siler (kaldırır).-S: Dosyanın genişletilmiş özniteliklerinin özetinin (digest) hesaplanmasını atlar.-s tohum:cksumanahtar kelimesinin belirtildiği tüm dosyaları temsil eden tek bir sağlama toplamını (checksum) standart hataya (stderr) yazdırır. Bu sağlama toplamı belirtilentohum(seed) değeriyle başlatılır.-U: Dosyaların sahibini, grubunu, izinlerini ve değişiklik zamanlarını belirtimle eşleşecek şekilde otomatik olarak düzeltir; eksik dizinleri ve sembolik bağlantıları oluşturur. Düzeltilen uyumsuzluklar hata olarak sayılmaz.-u: Dosya hiyerarşisi belirtimle eşleşmediğinde çıkış durumunu2döndürmesi dışında tamamen-Useçeneği ile aynıdır.-w: Bazı kritik olmayan hata durumlarını ölümcül olmayan uyarılara dönüştürür.-X haric_tutma_listesi: Belirtim dışında tutulacak dosyalarınfnmatch(3)desenlerini içeren dosya yolunu belirtir. exclude-list dosyasında yorum satırlarına izin verilmez.-x: Dosya sistemindeki farklı bağlama noktalarının (mount points) altına inmez (farklı disk birimlerini taramaz).
Belirtim Dosyası Yapısı
Belirtimler çoğunlukla "anahtar kelimelerden" (keywords), yani dosyalarla ilgili doğrulanacak değerleri belirten dizelerden oluşur.
Desteklenen Anahtar Kelimeler
| Anahtar Kelime | Açıklama |
|---|---|
cksum |
cksum(1) aracı tarafından belirtilen varsayılan algoritmayla dosyanın sağlama toplamını hesaplar. |
flags |
Dosya bayrakları (sembolik ad olarak). Bilgi için chflags(1) kılavuzuna bakın. |
ignore |
Bu dosyanın veya altındaki hiyerarşinin taranmasını tamamen yoksayar. |
gid |
Dosya grubu (sayısal GID değeri). |
gname |
Dosya grubu (sembolik grup adı). |
md5digest |
Dosyanın MD5 mesaj özeti (hash). |
sha1digest |
Dosyanın SHA-1 mesaj özeti (hash). |
ripemd160digest |
Dosyanın RIPEMD160 mesaj özeti (hash). |
mode |
Sayısal (sekizlik) veya sembolik dosya izinleri. |
nlink |
Dosyanın sahip olması beklenen sabit bağlantı (hard link) sayısı. |
nochange |
Dosyanın/dizinin varlığını doğrular, ancak diğer özniteliklerini (izin vb.) denetlemez. |
uid |
Dosya sahibi (sayısal UID değeri). |
uname |
Dosya sahibi (sembolik kullanıcı adı). |
size |
Dosyanın bayt cinsinden boyutu. |
link |
Sembolik bağlantının işaret etmesi beklenen hedef yol. |
time |
Dosyanın son değişiklik zamanı (mtime). |
btime |
Dosyanın oluşturulma zamanı (birthtime). |
atime |
Dosyaya son erişim zamanı (atime). |
ctime |
Dosya meta verilerinin son değişiklik zamanı (ctime). |
ptime |
Dosyanın üst klasörüne eklendiği zaman. |
inode |
Dosyanın inode numarası. |
xattrsdigest |
Dosyanın genişletilmiş özniteliklerinin (xattrs) özeti. |
acldigest |
Dosyanın Erişim Kontrol Listesinin (ACL) özeti. |
nxattr |
Dosyanın sahip olması beklenen genişletilmiş öznitelik sayısı. |
dataless |
Dosyanın verisiz (dataless) olup olmadığı. |
purgeable |
Öğenin APFS temizlenebilir (purgeable) bayrakları. |
protectionclass |
Öğenin Veri Koruma (Data Protection) sınıfı. |
type |
Dosya türü. Değerler: block, char, dir, fifo, file, link, socket. |
[!NOTE] Varsayılan anahtar kelimeler kümesi;
flags,gid,mode,nlink,size,link,timeveuidşeklindedir.
Satır Türleri
Bir mtree belirtim dosyasında dört tür satır bulunur:
/set anahtar=değer ...: Genel (global) öznitelik değerleri belirler. Örneğin:/set type=file uid=0 gid=0 mode=644satırından sonra gelen tüm dosya tanımları bu izinleri miras alır./unset anahtar ...: Genel olarak ayarlanmış bir özniteliği iptal eder.dosya_adı [anahtar=değer ...]: Belirli bir dosya için kural tanımlar. Dosya isimlerinde*,?,[gibi joker karakterler kullanılabilir. Eşleşme sağlandığında yerel değerler genel ayarları geçersiz kılar...: Geçerli dizin hiyerarşisinde bir seviye yukarı (üst dizine) çıkılmasını sağlar.
Dosyalar
/etc/mtree: Sistem standart belirtim dizini.
Çıkış Durumu
mtree aracı başarı durumunda 0, herhangi bir hata oluştuğunda 1 ve dosya hiyerarşisi belirtimle eşleşmediğinde 2 durum koduyla çıkış yapar. -U seçeneği kullanılıyorsa, eşleşmeme durumundaki 2 kodu başarıyla düzeltildiği için 0 durum koduna dönüştürülür.
Örnekler
Aşağıdaki örnekler kabukta (shell) çalıştırılabilecek şekilde gösterilmiştir:
Geçerli dizin ağacının dosya belirtim haritasını oluşturup bir dosyaya kaydetme:
mtree -c -p . > dosya_yapisi.mtreeOluşturulan belirtim haritasını kullanarak dizinin mevcut durumunu doğrulama (değişen, eksik veya fazladan dosyaları raporlar):
mtree -f dosya_yapisi.mtree -p .Belirtim haritası ile dizini karşılaştırma ve eksik olan dizinleri otomatik oluşturup izinleri/sahipleri düzeltme (
-U):sudo mtree -f dosya_yapisi.mtree -p . -Uİki farklı mtree belirtim dosyasını (örneğin iki ayrı yedek yapısını) birbiriyle karşılaştırma:
mtree -f yedek1.mtree -f yedek2.mtree
Ayrıca Bakınız
chflags(1), chgrp(1), chmod(1), chown(8), cksum(1), md5(1), stat(2), fts(3), md5(3)