Synopsis
mtree [-LPUcdeinqruxwD] [-f spec] [-f spec] [-K keywords] [-k keywords] [-p path] [-s seed]
[-X exclude-list]
Description
mtree aracı, geçerli dizini temel alan dosya hiyerarşisini, standart girdiden okunan bir belirtim (specification) ile karşılaştırır. Özellikleri belirtimlerle eşleşmeyen veya dosya hiyerarşisinde ya da belirtimde eksik olan tüm dosyalar için standart çıktıya mesajlar yazılır.
Seçenekler aşağıdaki gibidir:
-c: Standart çıktıya dosya hiyerarşisinin bir belirtimini yazdırır.-d: Dizin türündeki dosyalar dışındaki her şeyi yoksayar.-e: Dosya hiyerarşisinde olan ancak belirtimde yer almayan dosyalar hakkında şikayette bulunmaz.
-f dosya Belirtimi standart girdi yerine belirtilen dosyadan okur.
Bu seçenek iki kez belirtilirse, iki belirtim dosya hiyerarşisiyle karşılaştırılmak yerine birbiriyle karşılaştırılır. Belirtimler, -c seçeneği kullanılarak üretilen çıktılar gibi sıralanmalıdır. Bu durumdaki çıktı biçimi comm(1) çıktısını andırır; sırasıyla sıfır, bir ve iki TAB karakteri ile ön eklenmiş olan "yalnızca birinci belirtimde", "yalnızca ikinci belirtimde" ve "farklı" sütunlarına sahiptir. "Farklı" sütunundaki her giriş, her bir belirtimden birer adet olmak üzere iki satır kaplar.
-D: Genişletilmiş öznitelikleri (extended attributes) işlerken XATTR_SHOWCOMPRESSION bayrağını ayarlamaz.-i: -c seçeneğiyle bir belirtim oluştururken bir dizin seviyesi her inildiğinde çıktıyı 4 boşluk girintiler. Bu işlem, her dizinden önceki /set ifadelerini veya yorumları etkilemez. Ancak her dizinin kapanışından önceki yorumu etkiler.
-K keywords Belirtilen (boşluk veya virgülle ayrılmış) anahtar kelimeleri (keywords) mevcut anahtar kelime kümesine ekler.
-k keywords Mevcut anahtar kelime kümesi yerine ``type'' anahtar 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) yorumları yaymaz. Normalde -c seçeneği kullanılırken her dizinden önce ve o dizinin kapanışından önce bir yorum yayılır.-P: Dosya hiyerarşisindeki sembolik bağlantıları takip etmez, bunun yerine karşılaştırmalarda sembolik bağlantının kendisini dikkate alır. Varsayılan davranış budur.
-p yol Geçerli dizin yerine yol parametresini temel alan dosya hiyerarşisini kullanır.
-q: Sessiz mod. "Eksik" bir dizin zaten mevcut olduğu için oluşturulamadığında şikayette bulunmaz. Bu durum, dizin bir sembolik bağlantı olduğunda meydana gelir.-r: Dosya hiyerarşisinde belirtimde açıklanmayan tüm dosyaları kaldırır.-S: Dosyanın genişletilmiş özniteliklerinin özetinin (digest) hesaplanmasını atlar.
-s seed cksum anahtar kelimesinin belirtildiği tüm dosyaları temsil eden tek bir sağlama toplamını (checksum) standart hata çıktısına görüntüler. Sağlama toplamı belirtilen değerle tohumlanır (seeded).
-U: Mevcut dosyaların sahibini, grubunu, izinlerini ve değişiklik zamanını belirtimle eşleşecek şekilde değiştirir ve eksik olan tüm dizinleri veya sembolik bağlantıları oluşturur. Eksik dizinlerin oluşturulabilmesi için kullanıcı, grup ve izinlerin tamamının belirtilmiş olması gerekir. Düzeltilen uyumsuzluklar hata olarak kabul edilmez.-u: Dosya hiyerarşisi belirtimle eşleşmediğinde 2 durum kodunun döndürülmesi dışında -U ile aynıdır.-w: Bazı hata durumlarını ölümcül olmayan uyarılara dönüştürür.
-X exclude-list Belirtilen dosya, belirtimin dışında tutulacak dosyalarla eşleşen ve her satırda bir tane olan fnmatch(3) kalıplarını içerir. Kalıp bir ‘/’ karakteri içeriyorsa, tüm yol adlarıyla (başlangıç dizinine göre) eşleştirilir; aksi takdirde, yalnızca dosya adlarıyla (basenames) eşleştirilir. exclude-list dosyasında yorum satırlarına izin verilmez.
-x: Dosya hiyerarşisinde bağlama noktalarının (mount points) altına inmez.
Belirtimler çoğunlukla ``anahtar kelimelerden'' (keywords), yani dosyalarla ilgili değerleri belirten dizelerden oluşur. Hiçbir anahtar kelimenin varsayılan bir değeri yoktur ve bir anahtar kelime için değer ayarlanmamışsa, buna dayalı hiçbir kontrol yapılmaz.
Şu anda desteklenen anahtar kelimeler aşağıdaki gibidir:
cksum cksum(1) aracı tarafından belirtilen varsayılan algoritmayı kullanarak dosyanın sağlama toplamını hesaplar.
flags Sembolik bir ad olarak dosya bayrakları. Bu adlar hakkında bilgi için chflags(1) kılavuzuna bakın. Herhangi bir bayrak ayarlanmayacaksa mevcut varsayılanı geçersiz kılmak için “none” dizesi kullanılabilir.
ignore Bu dosyanın altındaki hiçbir dosya hiyerarşisini dikkate almaz.
gid Sayısal bir değer olarak dosya grubu.
gname Sembolik bir ad olarak dosya grubu.
md5digest Dosyanın MD5 mesaj özeti (message digest).
sha1digest Dosyanın FIPS 160-1 (“SHA-1”) mesaj özeti.
ripemd160digest Dosyanın RIPEMD160 mesaj özeti.
mode Geçerli dosyanın izinleri, sayısal (sekizlik) veya sembolik bir değer olarak.
nlink Dosyanın sahip olması beklenen sabit bağlantı (hard links) sayısı.
nochange Bu dosyanın veya dizinin var olduğundan emin olur, ancak bunun dışındaki tüm öznitelikleri yoksayar.
uid Sayısal bir değer olarak dosya sahibi.
uname Sembolik bir ad olarak dosya sahibi.
size Dosyanın bayt cinsinden boyutu.
link Sembolik bağlantının başvurması beklenen dosya.
time Dosyanın son değişiklik zamanı.
btime Dosyanın oluşturulma (doğum) zamanı.
atime Dosyaya son erişim zamanı.
ctime Dosyanın meta verilerinin son değişiklik zamanı.
ptime Dosyanın üst klasörüne eklendiği zaman.
inode Dosyanın inode numarası.
xattrsdigest Dosyanın genişletilmiş özniteliklerinin özeti.
acldigest Dosyanın erişim kontrol listesinin (access control list) özeti.
nxattr Dosyanın sahip olması beklenen genişletilmiş öznitelik sayısı.
dataless Dosyanın verisiz (dataless) olup olmadığı. Bu seçenek sağlandığında klasörler otomatik olarak somutlaştırılmaz (materialized).
purgeable Öğenin APFS temizlenebilir (purgeable) bayrakları.
protectionclass Öğenin Veri Koruma (Data Protection) sınıfı. Daha fazla bilgi için bkz. https://support.apple.com/guide/security/data-protection-classes-secb010e978a/web
type Dosyanın türü; aşağıdakilerden herhangi birine ayarlanabilir:
block özel blok aygıtı (block special device) char özel karakter aygıtı (character special device) dir dizin fifo fifo file normal dosya link sembolik bağlantı socket soket
Varsayılan anahtar kelimeler kümesi; flags, gid, mode, nlink, size, link, time ve uid şeklindedir.
Bir belirtimde dört tür satır bulunur.
Birinci tür satır, bir anahtar kelime için genel (global) bir değer ayarlar ve önünde boşluk olan /set'' dizesinden ve ardından boşlukla ayrılmış anahtar kelime/değer çiftlerinden oluşur. Anahtar kelime/değer çiftleri, bir anahtar kelime, ardından bir eşittir işareti (=''), ardından boşluk karakteri olmaksızın bir değerden oluşur. Bir anahtar kelime ayarlandıktan sonra, değeri sıfırlanana veya kaldırılana kadar değişmeden kalır.
İkinci tür satır, anahtar kelimeleri kaldırır ve önünde boşluk olan ``/unset'' dizesinden ve ardından boşlukla ayrılmış bir veya daha fazla anahtar kelimeden oluşur.
Üçüncü tür satır bir dosya belirtimidir ve bir dosya adından, ardından boşluktan ve ardından boşlukla ayrılmış sıfır veya daha fazla anahtar kelime/değer çiftinden oluşur. Dosya adından önce boşluk karakterleri gelebilir. Dosya adı, standart dosya adı eşleştirme karakterlerinden herhangi birini (['', ]'', ?'' veya *''') içerebilir; bu durumda hiyerarşideki dosyalar eşleştikleri ilk kalıpla ilişkilendirilecektir.
Anahtar kelime/değer çiftlerinin her biri bir anahtar kelime, ardından bir eşittir işareti (``=''), ardından boşluk karakteri olmaksızın anahtar kelimenin değerinden oluşur. Bu değerler, ilgili anahtar kelimenin genel değerini değiştirmeden geçersiz kılar (override).
Tüm yollar görecelidir. Bir dizin belirtmek, sonraki dosyaların o dizin hiyerarşisinde aranmasına neden olur. Bu da bizi bir belirtimdeki son satır türüne getirir: yalnızca “..” dizesini içeren bir satır, geçerli dizin yolunun bir seviye yukarı çıkmasına neden olur.
Boş satırlar ve ilk boşluk olmayan karakteri diyez işareti (``#'') olan satırlar yoksayılır.
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, 2 durum kodu 0 durum koduna dönüştürülür.
Files
/etc/mtree sistem belirtim dizini
Exit Status
mtree aracı başarı durumunda 0, bir hata oluşursa >0 ile çıkış yapar.
Examples
Dizin hiyerarşileri oluşturmak ve benzer işler için -d ve -u seçenekleri birlikte kullanılabilir;
/etc/mtree içindeki dosyalar bu FreeBSD dağıtımındaki neredeyse tüm dizinleri oluşturmak için kullanılmıştır.
See Also
chflags(1), chgrp(1), chmod(1), cksum(1), md5(1), stat(2), fts(3), md5(3), chown(8)
History
mtree aracı ilk olarak 4.3BSD-Reno sürümünde ortaya çıkmıştır. MD5 özet yeteneği, cksum(1) aracını yanıltabilen programların yaygın kullanımına yanıt olarak FreeBSD 2.1 sürümünde eklenmiştir. MD5'teki zayıflıkları gösteren yeni saldırılar nedeniyle SHA-1 ve RIPEMD160 özetleri FreeBSD 4.0 sürümünde eklenmiştir. Dosya bayrakları desteği FreeBSD 4.0 sürümünde eklenmiştir ve çoğunlukla NetBSD'den gelmektedir.
macOS 26.4 March 29, 2005 macOS 26.4