Yardım Almak
Bu kısımda bir nevi öğrenmeyi öğreneceğiz. Bunu da Linux sistemlerinin sahip olduğu çok geniş çaplı yardım mekanizmasını kullanarak başaracağız. Linux sistemlerinde yer alan bu geniş çaplı yardım mekanizmasının bulunmasının birçok nedeni var. Ancak genel olarak; çok fazla komutun çok fazla argüman alması veya her bir programın kendine has kurulum ve kullanım komutlarının olmasından kaynaklanıyor diyebiliriz. Ayrıca, Linux'un bünyesinde bulundurduğu yardım sayfalarının dışında da birçok yardım alma kaynakları mevcuttur. Zaten zamanla göreceksiniz ki; Linux'a kurmak için edindiğimiz hemen her araç veya program kurulum dosyalarının beraberinde, kurulum ve kullanımla ilgili açıklamayı içeren belgelerle birlikte geliyor olacak.
Bu bağlamda, Linux sistemlerinin temel doküman-bilgi kaynaklarını 3 türe ayırabiliriz.
Bunlar; bilgi sayfaları(info), kılavuz sayfaları(manuel) ve uygulamalar ile gelen /usr/share/doc konumunda bulunan dokümanlardır. Bizler de zaman zaman unuttuğumuz için veya bilmediğimizden dolayı, bu yardım sayfalarına ve dokümanlarına danışıyor olacağız. Bu girizgahtan sonra artık yavaş yavaş yardım alma komutlarımıza geçelim.
help Komutu
Hiç ingilizce bilmiyorum diyen birinin bile, "help" ifadesinin "yardım" anlamında olduğunu bildiğini düşünüyorum. Yani bu sebepten help
komutu akılda kalması en kolay komutlardandır. Komutun kullanımına geçecek olursak; örneğin daha önce kullandığımız yetki verme işlevini gören chmod
komutu ile ilgili yardım(bilgi) almak isteyelim.
Bunun için komut satırına chmod --help
şeklinde komutumuzu yazıyoruz. Ve aşağıda görüldüğü gibi gerekli bilgileri içeren yardım sayfası bizi karşılıyor.
Bu kullanımın dışında help
komutunun bir de help komut
şeklinde kullanımı var, ancak bu kullanımda her zaman komut hakkında yardım bilgisi bulunmayabiliyor. O yüzden ilk öğrendiğiniz yol önceliğiniz olsun. Örneğin help chmod
yazdığımızda komut satırı yardım bilgisi bulunmadığını belirtti.
"Peki madem her zaman sonuç vermeyebiliyorsa neden ikinci kullanım yöntemi var ?" ..diyecek olursanız:
Bazı istisnai komutlarda komut --help
şeklinde yazıldığında komutun kullanım şekli nedeniyle çıktı alınamıyor. Buna bir örnek verelim ancak örnekte kullanacağım komutu ileride ayrıntılı ele alacağım şimdilik sadece konumuzla ilgili olan kısımına odaklanın lütfen.
Örneğin; echo
komutu kendisinden sonra yazılan ifadeyi ekrana basıyor. Yani ben echo Merhaba
yazarsam, konsol ekranı da çıktı olarak "Merhaba" şeklinde bir ifade basıyor.
Eğer ben help
komutunu kullanarak, echo
komutu hakkında yardım bilgisine ulaşmak istersem; komutumu echo --help
şeklinde kullandığımda, ekrana yardım bilgisi değil yalnızca "--help" ifadesi basılıyor.
İşte bu gibi durumlarda help
komutunu, ikinci kullanım şekliyle kullanmaktan başka çare kalmıyor. Hemen bu durumu teyit edelim; eğer komutumu help echo
şeklinde yazarsam çıktılara echo
komutunun yardım bilgilerinin yer aldığını aşağıdaki resimde görebilirsiniz.
Yani sonuç olarak istisnai komutların haricinde help
komutu komut --help
şeklinde kullanılıyorken, bazı özel durum oluşturan komutlar mecburen help komut
yapısıyla kullanılmak durumunda kalıyor. Bu istisnaları kesinlikle bilmek zorunda değilsiniz. Sadece help
komutu ile yardım bilgisine ulaşmak istediğinizde ilk olarak komut --help
yapısını kullanın eğer yardım bilgisine bir şekilde ulaşamazsanız bu sefer komutunuzu help komut
şeklinde kullanın.
man(Manuel Sayfası) Komutu
man(manuel) sayfaları temel yardım alma dosyalarıdır. Ve kılavuz sayfaları olarak da bilinir.
man
komutunu kullanmak için komut satırına, hakkında bilgi edinip yardım almak istediğimiz komutu man komut
şeklinde giriyoruz. Örneğin ben chmod
hakkındaki bilgilere ulaşmak istiyorsam konsola man chmod
şeklinde yazarak gerekli bilgilere ulaşabilirim. Komutun çıktısında göreceğiniz gibi uzunca bir açıklama sizleri bekliyor. Açılan bu kılavuz sayfasında yön tuşlarını ve space tuşunu kullanarak rahatlıkla gezinebilirsiniz. Ayrıca man
sayfasının kısayollarını ve kullanımını görmek isterseniz man
sayfası açıkken h tuşuna basarsanız sizi man
kılavuzunun yardım sayfası karşılar, orada man komutunun kullanımı ile ilgili detaylı bilgi yardımı mevcuttur. Kılavuz sayfasını kapatmak isterseniz de, sadece q tuşuna basmanız yeterli olacaktır.
Şimdi biraz da man sayfasının iç yapısına değinecek olursak:
- NAME: Komutun ismi ve açıklama kısmı.
- SYNOPSIS: Komutun kullanım açıklaması(nasıl kullanılacağı).
- DESCRIPTION: Komutun yaptığı iş(fonksiyonu) hakkında açıklama.
- EXAMPLES: Komutun kullanımı ile ilgili örnekler ve açıklamalar.
- SEE ALSO: Diğer ilgili başlıklar.
man
kılavuzunun komutlarla ilgili tuttuğu bilgi sayfaları /usr/share/man konumu altında tutulur.
Yani konsol ekranına basılan yardım(kılavuz) bilgileri bu konum içerisinde yer alan dosyalardan alınarak basılır. man
kılavuz sayfalarının kaynağı burasıdır ve bu dosyalar belirli bir düzene göre sıralanmıştır.
İlgili dizin içerisindeyken bakalım; örneğin, man
sayfasının yapılanması nasıl oluyor yani /usr/share/man konumunda yer alan dil dosyaları dışındaki diğer dosyalar olan man1, man2, man3, man4, man5, man6, man7, man8 dosyaları ne ifade ediyor kısaca ona değinelim.
- man1: genel kullanıcı programlarını ifade eder.
- man2: sistem programlarını ifade eder.
- man3: kütüphane fonksiyonlarını(C programlama ile ilgili) ifade eder.
- man4: özel dosyaları ifade eder.
- man5: dosya biçimlerini ifade eder.
- man6: ekran koruyucuları ve oyunları ifade eder.
- man7: diğer kategorilere girmeyen çeşitli komutları ifade eder.
- man8: sistem yönetimini ve bakımını ifade eder.
whatis Komutu
Hazır yeri gelmişken yukarıda gördüğümüz man
sayfası yapılanmasıyla ilgili olarak whatis
komutundan da söz edelim. Bu komut sayesinde hangi komutun hangi man
sayfasında olduğunu öğrenebiliyoruz. Daha iyi anlamak için örnekler yapalım. Komutun kullanımı whatis komut
şeklindedir.
whatis
komutuna, chmod
komutunun man sayfasındaki açıklamalarının, yukarıdaki açıkladığımız (man1,man2..3..4..5..6..7..8) dosyalarından hangi dosyada olduğunu sorduk. Konsol yanıt olarak hem 1 hemde 2 de bulunduğunu bizlere bildirdi. Siz bunu istediğiniz komut için sorgulayabilirsiniz hatta whatis
komutu için bile sorgulayabiliriz.
Bu çıktıların doğruluğu man
sayfalarının tutulduğu /usr/share/man dizinine gidilerek kontrol edilebilir. Örneğin ben /usr/share/man/man1 konumuna gittiğimde whatis
komutunun yardım sayfalarının burada olduğunu görebiliyorum. Sizler de çıktıları bu şekilde teyit edebilirsiniz.
whatis
komutunun kullanımı bu kadar ile sınırlı değil ancak ben geri kalanını burada vermiyorum. Dileyen arkadaşlar man
komutu yardımı ile gerekli bilgilere ulaşabilirler.
apropos Komutu
Yardım alma komutlarını noktalamadan önce; Sizlere man
sayfasındayken h tuşuna basarsak man
sayfasının kullanımı hakkında detaylı bilgiye ulaşabileceğimizi belirtmiştim. O sayfaya bakarsanız man -k
şeklinde parametre alan komutun işlevinin, sorguladığımız komutun geçtiği uygulamaları listelemek olduğunu görebilirsiniz. Yani örnek vermek gerekirse komut satırına man -k chmod
yazdığımızda çıktısı aşağıdaki şekilde olacaktır.
Gördüğünüz gibi belirtmiş olduğumuz chmod
komutunun geçtiği uygulamalar listelenmiş oldu. İşte apropos
komutu da tam olarak bu işin aynını yapıyor. Örneğin Terminale apropos chmod
komutunu girersek çıktısı aşağıdaki şekilde olacaktır.
Çıktılar karşılaştırıldığında görülüyor ki; man -k
komutu ile apropos
komutları arasında işlevsel yandan hiç bir fark bulunmuyor.
Komutun kullanım amacını daha iyi anlamak için; örneğin, bir komutun ismini tam olarak hatırlayamıyorsunuz ancak işlevini hatırlıyorsunuz diyelim. İşte bu noktada apropos
komutu sayesinde man klavuz sayfaları içinde anahtar kelime araştırması yapılmasıyla yazdığınız kelime ile ilgili tüm komutlara ulaşabiliyorsunuz. Yani aslında biz apropos
komutuyla sadece man kılavuz sayfalarında detaylı bir araştırma yapmış oluyoruz.
Örneğin
Bir komut vardı.. silme işlevindeydi.. neydi.. neydi diye düşünüyorken; konsola apropos sil
şeklinde yazarsanız, karşınıza man klavuz sayfalarında yer alan, aradığınız "sil"anahtar kelimesiyle uyuşan ifadeler listelenir. Yani siz hatırlamadığınız komutun işlevinin silmek olduğunu bildiğimizden "sil" ifadesini apropos
komutu ile sorgulayarak man sayfalarında "sil" ifadesinin geçtiği kısımları listelemiş oluyorsunuz. Yani man sayfalarında yer alan açıklamalar sayesinde, sistemle ilgili hatırlayamadığınız kavramları kolaylıkla sorgulayabilirsiniz.
Bir örnek daha yapalım. Mesela ben komutun yalnızca bir kısmını hatırlıyorum, yani komutun yazılışının tamamını hatırlayamıyorum diyelim. İşte bu gibi bir durumda da yine apropos
komutumu ya da man -k
komutumu kullanarak, tamamını hatırlayamadığım ilgili komutu bulabilirim.
Yani apropos
ve man -k
komutları man klavuz sayfaları içerisinde bizim sorguladığımız her türlü ifadeyi arayarak bulup getiriyor.
Ayrıca kılavuz(man/manuel) sayfa içeriklerinin büyük çoğunluğunun İngilizce olduğunu da ele alarak, belirtmek isterim ki; sorgulamalarınızı mümkün oldukça İngilizce üzerinden yaparsanız sonuca ulaşmanız sizin için çok daha kolay olacaktır.
Bu konudaki noktayı da man kılavuz sayfaları güncelleme işlemi ile yapalım. "Nedir bu işlem ve neden gerekli ?"..diyecek olursanız; Elbette man sayfalarının sürekli kullanılabilir şekilde verimli olması için, zamanla yeni bilgilerin girişi ve eski bilgilerin düzenlenmesi yani kılavuz sayfalarının güncellenmesi şarttır. Eğer aradığımız yardımı man sayfasında bulamadığınız bir durum olursa man sayfalarını güncelleyerek tekrar sorgulama işlemini yapabilirsiniz. Ara ara güncellemek yeni bilgilere de ulaşmamıza olanak sağlar. Güncelleme için konsola mandb
komutunu girmemiz yeterli olacaktır. Komut satırı, güncelleme işleminden sonra yapılan değişiklikleri de son satırda bizlere bildirir.
Yardım alma komutlarını bilmek bir zorunluluk değil ihtiyaç meselesidir. Zaten zamanla bu komutlara ve kullanımlarına alışacaksınız. Yardım sayfalarında yer alan çoğu açıklamanın İngilizce olmasını da dert etmeyin, ne yaparsak yapalım eninde sonunda bu işlerin yolu İngilizce'den geçiyor. Yani artık bu duruma alışmamız gerek. Bu noktada kendimizi biraz zorlamalı ve kesinlikle pes etmemeliyiz. Kendimizi biraz zorlayarak, çaba harcayarak öğrenirsek, öğrenilenlerin kesinlikle daha da kalıcı olacağına emin olabilirsiniz. Sakın pes etmeyin çok iyi gidiyoruz...
Alıştırmalar Hakkında
Öğrendiğiniz bilgilerin kalıcı olması için mutlaka bolca alıştırma yapmalısınız.Burada belirtilen alıştırmalar dışında da kendi kendinize özellikle de zorlandığınız konularda bol bol alıştırmalar yapın. Aksi halde öğrendiğiniz bilgiler kısa sürede unutulup gidecektir. Yani gerçekten öğrenmek istiyorsanız lütfen öğrendiğinizi hissede kadar alıştırmalar yapın.
ls
komutu hakkında bilgi almak için help
komutunu kullanın.
echo
komutu hakkında bilgi almak için help
komutunu kullanın.
man
komutu ile ls
komutu hakkında bilgi alın.
ls
komutunun man(manuel) kılavuz sayfalarında yer alan bilgilerinin hangi dosyada tutulduğunu öğrenin.
"kullanıcı" anahtar kelimesini kullanarak man klavuz sayfalarında yer alan ilgili komutları listeleyin.
Geri Bildirimde Bulunun
Sizlere daha verimli bir kaynak sunabilmemiz için, uygulamada veya dokümantasyonlarda yer alan tüm hata ve eksiklerimizi bize bildirebilirsiniz.