man komutu: kullanımı ve seçenekleri, bölüm numaraları ve man -k ile arama
Linux sunucusunda bir komutun veya yapılandırma dosyasının nasıl kullanıldığına bakılırken man komutuyla kılavuz sayfası açılır, ad bilinmiyorsa man -k ile kısa açıklamalarda arama yapılır. AlmaLinux 9 ve Debian 12 sunucularında passwd sayfası arandığında, Debian 12'de 1. bölümdeki komut sayfası ile 5. bölümdeki dosya biçimi sayfası birlikte bulunuyordu, AlmaLinux 9'da ise 5. bölümde sayfa yoktu.
Aşağıdaki çıktı AlmaLinux 9.8 sunucusunda root hesabıyla ve Debian 12 sunucusunda normal bir hesapla çalıştırılarak alındı. Simülatördeki ana makine adı ve bağlantı adresi örnek değerlerdir.
1️⃣ man komutunun temel kullanımı
man'in ardına bir komut adı yazılınca o komutun kılavuz sayfası açılır. man sayfayı bir sayfalayıcı programa verip ekran ekran gösterdiği için çalıştırıldıktan sonra hemen komut istemine dönmez. Sayfalayıcı MANPAGER veya PAGER ortam değişkeniyle belirlenir; ikisi de boşsa less kullanılır.
Çıktı bir boruya (pipe) verilirse sayfalayıcı olmadan yalnızca metin çıkar. [man ls] çıktısının ilk 12 satırı head ile alındığında ilk satırda LS(1) vardı, ardından NAME, SYNOPSIS ve DESCRIPTION başlıkları sırayla geliyordu.
man ls | head -n 12LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is speci-
fied.İlk satırdaki LS(1) ifadesinde parantez içindeki 1 sayısı, bu sayfanın bulunduğu bölümün numarasıdır.
Sayfa içinde [Space] sonraki ekranı gösterir, [/kelime] ve Enter ise kelimeyi arar. [n] aynı kelimenin geçtiği sonraki yere gider, [q] man'i kapatır.
Olmayan bir ad yazılırsa [No manual entry for] hatası çıkar; çıkış kodu 16 idi.
man no-such-cmd9No manual entry for no-such-cmd9echo $?16man sayfasının EXIT STATUS başlığı, 16 değerini sayfalardan, dosyalardan veya kelimelerden en az birinin bulunamadığı durumun değeri olarak açıklar. Kullanım hatası 1 olduğu için bir betikte iki durum ayrı ayrı ele alınabilir.
2️⃣ man bölüm numaraları
Aynı adlı sayfa birden çok bölümde varsa man, bölümleri belirli bir sırayla arar ve bulduğu ilk sayfayı açar. Bölümler 1'den 9'a kadardır; sunucu işlerinde en sık açılanlar 1. bölümdeki komutlar, 5. bölümdeki dosya biçimleri ve 8. bölümdeki yönetim komutlarıdır.
| Bölüm | İçerdiği sayfalar | AlmaLinux 9.8 sunucusunda görülen örnek |
|---|---|---|
| 1 | Çalıştırılabilir programlar ve kabuk komutları | ls, passwd, crontab, man |
| 2 | Sistem çağrıları (çekirdeğin sağladığı işlevler) | |
| 3 | Kütüphane işlevleri | |
| 4 | Özel dosyalar (genellikle /dev altında) | |
| 5 | Dosya biçimleri ve kurallar, örn. /etc/passwd | crontab |
| 6 | Oyunlar | |
| 7 | Çeşitli (makro paketleri ve kurallar) | |
| 8 | Sistem yönetimi komutları, genellikle root için | useradd, mandb |
| 9 | Çekirdek rutinleri (standart dışı) |
crontab'de komut ile yapılandırma dosyası biçimi aynı adı taşıdığı için iki bölümde sayfa vardır. [man -f crontab] ile bakıldığında 1. ve 5. bölüm satırları birlikte çıktı.
man -f crontabcrontab (1) - maintains crontab files for individual users
crontab (5) - files used to schedule the execution of programsBölüm numarası olmadan [man crontab] çalıştırılırsa 1. bölümdeki crontab komut sayfası açılır. Zamanlanmış görev dosyasının biçimini görmek için adın önüne 5 yazılır.
man 5 crontab | head -n 4CRONTAB(5) File Formats CRONTAB(5)
NAME
crontab - files used to schedule the execution of programsİlk satır CRONTAB(5) ve File Formats olarak değişti, NAME satırında da komut açıklaması yerine zamanlanmış görev dosyasının açıklaması çıktı.
Belirtilen bölümde o adla bir sayfa yoksa hata çıkar. AlmaLinux 9.8 sunucusunda /etc/passwd dosya biçimini görmek için [man 5 passwd] çalıştırıldığında 5. bölümde sayfa olmadığını bildiren bir hata çıktı.
man 5 passwdNo manual entry for passwd in section 5Debian 12 sunucusunda [man -f passwd] çıktısında 5. bölümdeki passwd satırı da vardı. Hangi bölümde sayfa bulunduğu sunucuda kurulu kılavuzlara göre değiştiği için bölüm numarası eklemeden önce [man -f] ile bakılır.
man -f passwdpasswd (1) - change user password
passwd (1ssl) - OpenSSL application commands
passwd (5) - the password file8. bölümde, hesap oluşturan useradd gibi çoğunlukla root hesabının çalıştırdığı yönetim komutları bulunur.
man -f useradduseradd (8) - create a new user or update default new user information3️⃣ man komutu seçenekleri ve -k, -f ile arama
[man -f] aynı adlı sayfaların tek satırlık açıklamasını yazdırır ve whatis ile aynı şekilde çalışır. AlmaLinux 9.8 sunucusunda [man -f passwd] ve [whatis passwd] çalıştırıldığında aynı iki satır çıktı.
man -f passwdpasswd (1) - update user's authentication tokens
passwd (1ossl) - OpenSSL application commands1ossl satırı, passwd adını paylaşan bir OpenSSL komutunun sayfasıdır.
Ad bilinmiyorsa [man -k] ile sayfa adlarında ve kısa açıklamalarda arama yapılır. apropos ile aynı şekilde çalışır ve kelime düzenli ifade olarak okunur.
man -k '^passwd'passwd (1) - update user's authentication tokens
passwd (1ossl) - OpenSSL application commands^ satır başı anlamına geldiği için yalnızca passwd ile başlayan satırlar çıktı. Açıklamada geçen bir kelimeyle de arama yapılabilir; [man -k 'directory contents'] ls ile birlikte dir ve vdir sayfalarını buldu.
man -k 'directory contents'dir (1) - list directory contents
ls (1) - list directory contents
vdir (1) - list directory contents[man -k] yalnızca NAME başlığındaki kısa açıklamalarda aradığı için seçenek adıyla veya gövde metnindeki bir kelimeyle sayfa bulunamaz. Gövde metninde de arayan [man -K] bütün sayfaları sırayla okuduğundan uzun sürer.
Aranan kelime yoksa [nothing appropriate] çıkar; çıkış kodu 16 idi.
man -k no-such-word9no-such-word9: nothing appropriate.echo $?16[man -w] sayfayı açmadan yalnızca kaynak dosyanın konumunu yazdırır.
man -w ls/usr/share/man/man1/ls.1.gzman -w 5 crontab/usr/share/man/man5/crontab.5.gzİki dosya /usr/share/man altındaki man1 ve man5 klasörlerindeydi ve klasör adındaki sayı bölüm numarasıyla aynıydı. [man -w 1ossl passwd] ile bulunan 1ossl sayfa dosyası da 1. bölümle aynı man1 klasöründeydi.
Seçenekler aşağıdaki iki sekmede toplandı.
| Seçenek | Kopyala | Açıklama |
|---|---|---|
| -f, --whatis | Aynı adlı sayfaların tek satırlık açıklamasını yazdırır. whatis ile aynı işi görür | |
| -k, --apropos | Sayfa adlarında ve kısa açıklamalarda arar. apropos ile aynı işi görür | |
| -w, --where, --path, --location | Sayfayı açmadan yalnızca kaynak dosyanın konumunu yazdırır | |
| -a, --all | Adı eşleşen bütün sayfaları sırayla yazdırır |
| Seçenek | Kopyala | Açıklama |
|---|---|---|
| -K, --global-apropos | Bütün sayfaların gövde metninde kelime arar. Uzun sürer | |
| -S, -s, --sectionsliste | Aranacak bölümleri ve sırasını virgül veya iki noktayla ayrılmış bir liste olarak belirtir | |
| -P, --pagersayfalayıcı | Sayfayı gösterecek sayfalayıcıyı belirtir. Varsayılan değer less | |
| -M, --manpathyol | Sayfaların aranacağı kılavuz yolunu belirtir | |
| -L, --localelocale | Bu çalıştırmada kullanılacak locale değerini belirtir | |
| -l, --local-file | Sistem kılavuzlarında aramadan, belirtilen dosyayı sayfa olarak gösterir | |
| -u, --update | Kurulu sayfaların dizin önbelleklerini günceller | |
| -V, --version | Sürüm bilgisini yazdırır |
🔲 man komutu simülatörü
Aşağıdaki simülatörde [man ls] ile sayfa açılıp [Space], [/list], [n], [q] çipleriyle ekranlar arasında geçilebilir. Aynı sanal sunucuda [man 5 crontab] örneğindeki gibi bölüm numarası eklenebilir veya [man -f], [man -k], [man -w] yazılabilir.
4️⃣ man sayfasının yapısı
Bir man sayfası, büyük harfli başlıklar taşıyan kısımlara ayrılır. Yalnızca başlıklar grep ile çekilip karşılaştırıldığında ls sayfasında seçenek açıklamaları DESCRIPTION içindeydi, crontab sayfasında ise ayrı bir OPTIONS başlığı vardı.
man ls | grep -E '^[A-Z]+( [A-Z]+)*$'NAME
SYNOPSIS
DESCRIPTION
AUTHOR
REPORTING BUGS
COPYRIGHT
SEE ALSOman crontab | grep -E '^[A-Z]+( [A-Z]+)*$'NAME
SYNOPSIS
DESCRIPTION
OPTIONS
CAVEATS
SEE ALSO
FILES
STANDARDS
DIAGNOSTICS
AUTHORBaşlık adları sayfadan sayfaya biraz değişir; sık rastlananlar aşağıdaki gibidir.
| Başlık | İçeriği |
|---|---|
| NAME | Ad ve tek satırlık açıklama (man -f ve man -k komutlarının yazdırdığı satır) |
| SYNOPSIS | Komutun yazılış biçimi |
| DESCRIPTION | Çalışma açıklaması (ls sayfasında seçenek açıklamaları da bu başlıktadır) |
| OPTIONS | Her seçenek için bir paragraf |
| EXIT STATUS | Çıkış kodlarının anlamı |
| FILES | Komutun okuduğu veya yazdığı dosyalar |
| SEE ALSO | Birlikte bakılacak sayfalar |
SYNOPSIS içindeki işaretler man sayfasının belirlediği kurallara uyar. Köşeli parantez içindekiler atlanabilir. Dikey çizgiyle (|) ayrılan seçenekler birlikte kullanılamaz, üç nokta (...) eklenmiş bir argüman ise birden çok kez yazılabilir.
ls için SYNOPSIS, ls [OPTION]... [FILE]... biçimindedir; bu yüzden komut seçenekleri ve dosya adı gibi komut satırı argümanlarının hepsi atlanabilir veya birden çok kez yazılabilir.
[--help], programın kendisinin yazdırdığı kullanım özeti olduğu için sayfalayıcı olmadan doğrudan terminale çıkar. [ls --help] çıktısının ilk satırındaki Usage, SYNOPSIS ile aynı biçimdeydi; toplam uzunluk 121 satırdı ve [man ls] çıktısının 245 satırından kısaydı.
ls --help | head -n 3Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.man sayfasında [--help] çıktısında olmayan AUTHOR, SEE ALSO gibi başlıklar da vardır. Tek bir seçeneğe hızlıca bakılacaksa [--help], yapılandırma dosyası biçimi veya çıkış kodları gibi başlıklara ayrılmış bir açıklama gerekiyorsa man açılır.
🔢 SSS & önerilen içerikler
İş zamanlama
Linux: crontab ayarı
crontab komutuyla sunucu işlerini belirli saatlerde çalışacak şekilde zamanlama yöntemi.
Konum bulma
Linux which, whereis, locate: Dosya konumunu (yolunu) bulan 3 komut
Bir komutun çalıştırılabilir dosyasının ve kılavuz dosyasının hangi yolda olduğunu bulan komutlar.
Çıktıyı aktarma
Linux yönlendirme (Redirection)
Bir komutun çıktısını dosyaya veya başka bir komuta aktaran standart girdi ve standart çıktı akışı.
ℹ️ Satış ortaklığı bildirimi
Bu sitenin içeriklerinde satış ortaklığı bağlantıları bulunur. Bir ziyaretçi bu bağlantılar üzerinden ürün veya hizmet satın alırsa bu site satıcıdan komisyon alır. Bu süreçte alıcının ödediği tutar (kampanya indirimlerinde tutar düşer↓) artmaz. Yayımlanan fiyat, indirim ve stok bilgileri yazının yazıldığı zamana aittir ve gerçek durumdan farklı olabilir; bu yüzden satın almadan önce son bilgiyi satıcıdan kontrol etmenizi rica ederiz. Ürünler kendi ölçütlerimize göre seçilir ve değerlendirilir; komisyon alınıp alınmaması tanıtım sırasını veya değerlendirme içeriğini etkilemez.