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.
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:
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 kullanabilirsiniz.
Yukarıdaki örnekte : ile ayrılmış değerler, farklı dizinlere işaret eder. Eğer özellikle bir komutun man sayfalarının nerede olduğunu öğrenmek isterseniz man -wa foo
komutunu kullanabilirsiniz (burada foo herhangi bir komutu temsil eder, yaygın bir kullanımdır).