Her geçen gün gelişen ve bilgisayar dünyasını aydınlatan Linux işletim sistemini, gelin bu ay daha yakından öğrenelim. Bu ayki nasıl yapılır köşemizde, bilgisayar kullanımımızı çok daha pratikleştiren çeşitli Linux komutlarını paylaşacağız.
Linux komutlarımızı donanarak, terminaldeki yolculuğumuza başlayalım. Yalnız unutmadan, terminalde “$” işaretini her gördüğünüzde, bu emirlerinize hazır bir işlemcinin sizi beklemekte olduğunu gösterir :)
cd dizin : Bulunduğumuz konumu değiştirmeye yarayan bu komut, o anki dizinin içindeki dizin adlı dizine girmemizi sağlar. Dizin adı “~” şeklinde girildiğinde veya girilmediğinde konumumuzu ev dizini yapar. Bir üst dizine ulaşmak için ise dizin yerine “..” yazmamız yeterlidir. Bulunduğumuz dizini göstermek için ise “.” kullanırız. Ayrıca dizin yerine girmek istediğimiz dizinin tam adını da yazabiliriz. (/home/dizin1/dizin2 gibi)
mkdir dizin : Dizin adında yeni bir dizin oluşturmamızı sağlar. Dizini oluştururken “–m xxx” seçeneğini kullanarak, dizini chmod komutunda anlatılan izinlerle de yaratabiliriz.
rmdir dizin : Komut bu şekilde kullanıldığında bulunduğumuz dizindeki dizin adlı boş dizini silmemizi sağlar. Eğer dizin boş değilse silmez.
rm dosya : Dosya adlı dosyayı silmemizi sağlar. Ayrıca “-rf” komutu ile çağrılırsa özyinelemeli olarak, dosya adlı dizinin içindeki bütün dosya ve klasörleri siler.
mv kaynak hedef : Mv komutunu iki şekilde etkin kullanabiliriz. Kaynak dosyasının ismini hedef olarak değiştirebiliriz veya kaynak dosyasını hedef klasöre taşıyabiliriz. Ancak bu ikinci işlemi yapabilmemiz için, hedefin yerini bulunduğumuz konumdan veya ev dizininden açıkça yazmamız gereklidir.
cp kaynak hedef : Kaynak adlı dosya veya dizini hedef adlı dizinin içine kopyalamamızı sağlar. Bir defada birden çok kaynak yazarak, hepsini hedefe kopyalayabiliriz.
chmod xxx isim : Bu komut isim adındaki dosya veya dizinin izinlerini değiştirmemizi sağlar. xxx üç tane, üç basamaklı, ikilik tabanda sayının rakamlarla belirtilmiş halidir. Bu üç sayı dosyamızın çeşitli izinlerini açmak istediğimiz üç grubu temsil eder. En soldaki, kullanıcıya verilen izinlerdir. Ortadaki grubumuza verdiğiniz izinleri, en sağdaki ise diğerlerinin izinlerini gösterir. Bu sayıların basamakları ise verebildiğimiz izinleri gösterir ve bunlar sırasıyla; okuma, değiştirme ve çalıştırma izinleridir. Örnek olarak bir dosyada kendimize okuma, yazma ve değiştirme izni verelim; grubumuza okuma ve çalıştırma; diğerlerine de sadece çalıştırma izni verelim. Bu durumda sayılar sırasıyla 111, 101, 001 olur. Bunları da 7, 5, 1 ile gösterip, komutumuzu “chmod 751 dosyam” diyerek tamamlayalım :)
ls : Bulunduğumuz dizinin içeriğini gösteren bu komutu, “-l” seçeneğiyle kullandığımızda dosyaların boyutları, izinleri, son erişilme tarihleri gibi diğer özelliklerini gösterir. “-la” (veya “-all”) ise gizli dosyaları da görmemizi sağlar.
pwd : Bulunduğumuz konumu ekrana yazarak gösterir.
file isim : İsim adlı elemanın cinsini gösterir. Dosyaysa dosyanın türünü (txt, exe, jpeg, gif, vb.), dizinse dizin olduğunu söyler.
grep aranan dosya : Grep komutu dosya adlı bir dosyanın içinde, aranan ile bir kelime veya bir bölüm arar ve o bölümün bulunduğu satırı verir. Eğer birden çok satırda bulunuyorsa bütün satırları ekrana basar.
find yer seçenek sözcük : Yer’in içinde sözcük adındaki elemanı aramak için kullanırız. Elemanın ne olduğuna seçeneğe bakarak karar verilir, örneğin ev dizinimizde isim adlı dosyayı aramak için “find ~ -name isim” dememiz yeterlidir. Aradığımız nesnenin eksik kısımlarının tamamlanması için “*” ve “?” yardımcılarını find komutuyla da kullanabiliriz. Find komutunun çok sayıdaki arama seçeneği hakkında man find diyerek bilgi edinebiliriz.
ps : Bilgisayarda o an aktif olan bütün işlemleri gösterir. “-aux” seçeneğini kullanırsak işlemler hakkında detaylı bilgilere de erişebiliriz. “-A” (veya “–e”) seçeneği ise bütün işlemleri gösterir.
kill işlem : İşleme bir sinyal gönderir ve sonlandırır.”-9 -1” seçeneğini kullanırsak, bulduğu bütün işlemleri öldürür, pardon sonlandırır :)
exit : Bağlantıyı sonlandırarak uygulamayı bitirir.
whoami : Kendi kullanıcı adımızı ekrana yazar.
passwd : Kullanıcı şifremizi değiştirmenizi sağlar.
who : Bilgisayara bağlı kullanıcıları gösterir.
finger : Who komutuna benzer; fakat ona ek olarak kullanıcıların bağlanma zamanları ve bağlanma yerleri gibi ayrıntıları da gösterir.
talk kullanıcıadı@makine terminal : Bir bilgisayara bağlı, kayıtlı iki kullanıcı varsa, bu iki kullanıcının birbiriyle iletişmesini talk komutu sağlar. Kullanıcıadı o bilgisayara bağlanırken kullandığımız kullanıcı adımızı, makine ise nereden bağlandığımızı temsil eder. Terminal argümanı ise eğer diğer kullanıcı birden fazla terminalde çalışıyorsa, hangi terminalden iletişmek istediğimizi gösteren terminal numarasıdır, isteğe bağlıdır. Talk komutunu kullandıktan sonra karşı tarafa iletişmek istediğimize dair bir mesaj gider, karşı taraf bu mesajı aynı komutu kullanarak cevaplarsa bağlantı kurulur.
uptime : Anlık zamanı, sistemin ne kadar süredir açık olduğunu ve kaç kullanıcının bağlı olduğunu bu komutla öğrenebiliriz. Ayrıca sırasıyla son 1, 5 ve 15 dakikalık ortalama sistem yüklemesini de uptime komutu gösterir.
date +%? : Date komutunu kendi başına kullanırsak sistem tarihini ekrana yazar. Burada “+%?” tarih formatlarını temsil eder, örneğin “?” yerine “d” kullanırsak sadece günü, “b” kullanırsak 3 harf formatında ayı, “y” kullanırsak da yılın son iki basamağını verir.
tar hedef kaynak : Tar komutunu genel olarak paketlenmiş dosyalarla ilgili işlemleri gerçekleştirirken kullanırız. “-xvf” seçeneği tar ile paketlenmiş hedef adlı dosyanın içindekileri o dizine çıkarır. “-xvzf” uzantısı, sıkıştırılarak paketlenmiş hedef.tar.gz dosyasının içindekilere ulaşır. “cvf” ise kaynak dizininin içindekileri hedef.tar olarak paketler.
setxkbmap : Klavye dilini dil olarak değiştirir. Setxkbmap tr olarak kullanabiliriz.
vi, nano, pico dosya : Vi’ı geçen ayki yazımızdan hatırlıyoruz. Nano ve Pico da Vi’dan daha basit metin düzenleyicileridir. Terminalden bu komutları girersek dosya adında bir dosya açarlar, dosya yazmazsak da isimsiz bir belge açarlar.
less, more, cat dosya : Bu üç komut _dosya_yı okumamızı sağlar. More baştan başlayıp sadece ileriye doğru hareketi sağlarken, less hem ileriye hem geriye doğru hareketi destekler. Cat ise sadece dosyanın bütün içeriğini ekrana yazar.
sftp, ssh, scp : Kısaca uzaktan bağlantı kuran komutlardır, bunlar hakkında detaylı bilgiye geçmiş yazılarımızdan ulaşabilirsiniz.
lynx, www adres : _Adres_teki internet adresine terminalden bağlanıp erişebilmemizi sağlayan komutlardır.
reboot : Bilgisayarı yeniden başlatır.
poweroff : Bilgisayarı kapatır.
komut1 | komut2 : Pipe (boru) olarak adlandırılır. Komut değildir, komut1’in çıktılarını komut2’ye yönlendirir.
komut <,>,>> dosya : Bir komutun çıktılarını bir dosyaya yönlendirmemizde bize yardımcı olan karakterlerdir. ">" _komut_un sonucunu direk _dosya_adlı dosyaya yazar. Dosya boş değil ise içindeki bilgiyi kaybederiz. Kaybetmemek istiyorsak, yani dosyamız boş değilse, ">>" karakterlerini kullanabiliriz; çünkü bu karakter dosyanın sonuna yazar. "<" karakteri ise, bir _komut_un girdilerini bir dosyadan yönlendirmemizi sağlar.
***** : Komut değildir ama yardımcıdır. Tamamını bilmediğimiz bir komut, dosya veya dizin adının bir kısmını girdikten sonra “*” koyarsak geri kalan karakterler tamamlanır. Mesela “dosya” adında bir dosyamız varsa ve dizinde “d” ile başlayan tek eleman o ise, “cat d*” dediğimizde direk “cat dosya” olarak algılanır.
? : “*” karakterine benzer çalışır; fakat eksik karakterlerin tamamını değil de tek bir karakteri tamamlar.
whatis komutadı : Bir komutun yaptığı işi kısaca anlatır.
man komutadı : İstediğimiz bütün komutların bilgilerini bu komutla öğrenebiliriz. Komutun detaylı açıklamasını, alabileceği argümanları ve bütün seçeneklerini gösterir. Linux komut sisteminin derinliklerine inebilmek için yegâne yardımcımızdır ve komutlar hakkında bütün aradıklarımızı düzenli bir şekilde bize sunar.
Bu komutları kullanarak hem bilgisayar üzerindeki egemenliğimizi arttırabiliriz, hem de daha rahat birer Linux kullanıcısı olabiliriz. Unutmayın, Linux parmaklarınızın ucunda :)