Yardım Dosyaları
Last updated
Last updated
Geleneksel UNIX sistemlerde yardım dosyaları man komutu kullanılarak erişilen "manual" dosyalarıdır. Bu dosyalar sistemin tamamı için yazılmış ve bir hiyerarşi içerisindedir. man dosyaları troff yapısını kullanırlar, bu yapı sayesinde dosyaların çıktı alınca da rahat okunacak şekilde yazılması sağlanmıştır. GNU Projesi dahilinde manual'ların hiyerarşisi çağdışı bulunmuş, ayrıca troff yapısının çıktı kaygısının yersiz olduğu düşünülmüştür. Bu yüzden alternatifi olarak info komutu ve yapısı oluşturulmuştur. Kullandığınız programa ve sisteme göre edineceğiniz dökümantasyon farklı olacaktır ancak bugün hemen her komutun man ve info sayfası mevcuttur. Eski olmasına rağmen man kullanımı, sistem yöneticilerinin alışkanlıkları arasındadır.
Kaynak: https://xkcd.com/912/
Her ne kadar man sayfaları UNIX'in bütün araçları için geliştirilmiş olsa da, her programcı gibi Ken Thompson ve Dennis Ritchie de dökümantasyon yazmaktan pek hoşlanmazlardı. UNIX'in ilk iki yılı boyunca hiç dökümantasyonu olmamıştır. En sonunda Thompson ve Ritchie yöneticileri Doug McIlroy'un ısrarları sonucu ilk man dosyalarını 1971'de yazmıştır.
Ayrıca, birçok GNU komutu, temel kullanım bilgilerini ve parametrelerini hızlıca görmek için --help
seçeneğini destekler (örneğin, ls --help
). Bu, genellikle man
veya info
sayfalarına göre daha kısa ve özet bir bilgi sunar.
man sayfaları çeşitli bölümlerden oluşur. Bunun temel nedeni, aynı isimde birden fazla sayfa olabilmesidir. Örneğin mkdir için iki sayfa mevcuttur, birisi shell komutu olanı için, diğeri de System call olanı içindir. Bu yüzden iki farklı bölümde iki farklı mkdir man sayfası bulunur. Birisi birinci bölümde bulunur ve mkdir(1) şeklinde gösterilir, diğeriyse ikinci bölümde bulunur ve mkdir(2) şeklinde gösterilir.
man sayfaları aşağıdaki gibi bölümlendirilmiştir:
Programlar veya shell komutları - rm(1)
Unix ve C Sistem çağrıları - ioctl(2)
C Programlar için kütüphane çağrıları - printf(3)
Özel Dosyalar - null(4)
Dosya Biçimleri - ext4(5)
Oyunlar - fortune(6)
Diğerleri - regex(7)
Bakım - 1. bölümde yer alan programların bakımları ile ilgili
Herhangi bir komutun man sayfasına erişmek için, man komutuna kendisini parametre olarak göndermek yeterlidir.
Yukarıdaki örnekte man komutu, mkdir'in 1. bölümdeki sayfasını getirecektir, çünkü en düşük bu seviyede dosyası bulunur. Örneğin null için bu komut 4. bölümdeki sayfayı getirir, çünkü 1. 2. ve 3. bölümlerde sayfası yok.
Oysa mkdir
komutunun 2. bölümdeki sayfasına erişmek isteseydik, yazmamız gereken komut şöyle olurdu:
Herhangi bir konu hakkında yardım sayfalarını taramak isterseniz, apropos
komutunu kullanabilirsiniz. man -k
ile aynı işi yapmaktadır, dolayısıyla aşağıdaki komutlar size aynı çıktıyı verecektir:
GNU projesinin man
sayfalarına alternatifi olan info
sistemi, belgeleri "node" adı verilen hiyerarşik bir yapıda sunar. info
sayfalarında gezinmek için genellikle şu tuşlar kullanılır:
n
: Sonraki node'a gitmek.
p
: Önceki node'a gitmek.
u
: Bir üst node'a gitmek.
Enter
: İmlecin üzerindeki bağlantıyı (genellikle *
ile başlar) takip etmek.
q
: info
'dan çıkmak.
h
: Yardım ekranını görmek.
Örneğin, ls
komutu için info
sayfasını açmak isterseniz info ls
komutunu kullanabilirsiniz.
whatis komutu ise bir komut hakkında size kısa bilgi vermeyi amaçlamaktadır.
Her ne kadar Dosya Sistemi Hiyerarşi Standardında man dosyalarının yolu için /usr/share/man
belirlenmişse de, her zaman buna uyulmaz, ve sistem birden fazla noktayı tarar.
Sisteminizde man dosyalarının nerelerde olduğunu öğrenmek için manpath
komutunu veya $MANPATH
çevre değişkenini kontrol edebilirsiniz. Ancak manpath
komutu her zaman kurulu olmayabilir.
Yukarıdaki örnekte : ile ayrılmış değerler, farklı dizinlere işaret eder. Belirli bir komutun man sayfasının tam yolunu bulmanın daha güvenilir bir yolu man -w
veya man --where
komutunu kullanmaktır:
Eğer komutun birden fazla bölümde man sayfası varsa, man -wa
veya man --where --all
komutu tüm yolları listeler: