Linux uzmanı olmak bir yana, linux komut satırını doğru düzgün kullanmayı bile beceremem. Fakat arada bir sunuculara SSH ile bağlanıp türlü işler yapmam gerekebiliyor. Bu iş çok sık olmadığı için genelde kullandığım komutları unutuyorum. Bu yüzden görece sık kullandığım komutları bir yerlere not ediyorum. Aşağıdaki listenin büyük kısmını bu notlardan çıkardım. Birçoğu gerçekten basit ama yine de birilerinin işine yaracığını umuyorum. En azından benim işime yarayacak.
1. Metin içeren dosyanın içeriği nasıl okunur?
‘cat’ ya da ‘more’ komutları ile dosya içeriğini görebilirsiniz. Kullanımları gayet basit: komut + dosya adı.
> cat benioku.txt
> more benideoku.txt
bu iki komuttan ‘cat’ dosyanın içeriğini gösterip işini bitirirken ‘more’ dosya gösterim işini sayfa sayfa yapar. Sayfalama modundayken sonraki sayfaya geçmek için <boşluk> tuşu, sonraki satıra geçmek için <giriş/enter> tuşunu kullanabilirsiniz. çıkış için de <q>’ya basınız.
2. Dosya arama nasıl yapılır?
dosya bulmanın en kolay ve hızlı yolu ‘locate‘ komutu.
> locate benibul
‘locate‘in yanına bir ‘i’ parametresi eklerseniz aramanız küçük-büyük harf ayrımı olmadan yapılır.
Yalnız ‘locate‘ komutunun düzgün çalışması için dosya listesinin önceden yedeklemiş olması gerekiyor. Yedekleme işlemi haftada bir kere otomatik olarak yapılır. Bu sebeple bulduğunuz sonuçlar pek güncel olmayabilir.
Diğer yöntem ise güncel arama yaptığınız find komutu. Tonlarca parametresi var ama bizim durumumuzda basitçe şöyle kulanılıyor:
> find / -name ‘benibul’
> find / -iname ‘benibul’
name parametresi dosya isminde arama yaptığımızı belirtmek, iname ise bu aramayı küçük-büyük harf ayrımı yapmadan yapmak istediğimizi göstermek için kullanılıyor. dosya isimlerinde joker karakter olarak ‘*’ işaretini kullanabilirsiniz. Yani uzantısı mp3 olan tüm dosyaları bulmak için find / iname ‘*.mp3′ yazmalısınız. komuttaki ‘/’ işareti hangi dizinde arama yaptığımızı belirtmek için kullanılıyor. eğer bulunduğunuz dizinde arama yapacaksanız kullanmanız gerekmiyor. Bütün dosyaları arayacaksanız buradaki gibi ‘/’ yazmalısınız.
3. Dosya içeriklerinde nasıl arama yapılır?
> find / -iname ‘*php’ | xargs grep ‘mysql’ -sl
Yukarıdaki komut tüm php uzantılı dosyalar içerisinde mysql geçen satırları arar, bulduklarını dosya ve satır şeklinde listeler. Yukarıdaki komutun sonucu şöyle birşey olabilir:
/home/gudubeth/public_html/index.php: while($rs = mysql_fetch_assoc($q)){
/home/gudubeth/public_html/index.php: else return mysql_errno();
/home/gudubeth/public_html/include.php: if ($conn = mysql_connect($dhost, $duser, $dpass)){
4. Programlar arka planda (background) nasıl çalıştırılır?
Bazı uzun sürecek işleri arka planda çalıştırmak isteyebilirsiniz, böylece programın çalışması devam ederken siz diğer işlerinize devam edebilirsiniz. Bunu başarmak için tek yapmanız gereken komutun sonuna ‘&’ işareti koymak ya da program çalışırken <ctrl>+<z> tuşlarına basmak. Arka planda çalışan programları listelemek için ‘jobs’ komutunu kullanabilirsiniz. ‘jobs‘ yazıldıktan sonra gelen listedeki programlar ‘fg %n‘ komutu ile öne getirilebilir. Buradaki ‘n’ ‘jobs’ listesinde gösterilen programa ait numara oluyor. Şöyle örnekleyelim:
> gdbt@server [/home/]# man locate
(karşınıza locate komutu ile ilgili yardım sayfası gelecek. Bu ekrandayken <ctrl>+<z> tuşlarına basınız. Aşağıdaki gibi bir satır çıkacak.)
> [1]+ Stopped man locate
(arka plandaki programları listeleyelim)
> gdbt@server [/home/]# jobs
[1]+ Stopped man locate
(şimdi bu programı tekrar ön plana getirelim. ‘fg’ komutu ile birlikte kullanılacak sayı için yukarıdaki ‘jobs‘ listesinde programın adının bulunduğu satırın en başına bakıyoruz.)
> gdbt@server [/home/]# fg %1
(karşımıza tekrar man sayfası gelecek. ‘q’ ile bu sayfadan çıkabilirsiniz.)
5. Bir dizinin altındaki dosya sayısı nasıl bulunur?
> ls -laR | wc -l
Yukarıdaki komutu ilgilendiğiniz dizinin altında çalıştırın. Bu arkadaş alt dizinlerdeki dosyaları da sayar.
6. Disk kapasitesi ve disklerde kalan boş alan nasıl öğrenilir?
Bu en kolayı:
> df
7. Kısayol nasıl yaratılır?
> ln -s /link/verilecek/dosya/ya/da/dizin
‘ln’ komutunu kısayolun yaratılacağı dizinde çalıştırmalısınız. Örneğin /var/www dizini altında /home/naci/resimler dizinine bir kısayol yaratmak istiyorsunuz:
> cd /var/www
> ln -s /home/naci/resimler
Yukarıdaki komutlar ile /var/www dizini altında ‘resimler’ isimli bir kısayol oluşturdu.
> ls /var/www/resimler
komutunu yazdığınızda karşınıza /home/naci/resimler dizini altındaki dosyalar gelecek.
8. Daha önce girilen komutlar nasıl görülebilir?
Yukarı ok ile önceden girilen komutları görebildiğinizi bilyorsunuzdur. ‘history‘ komutu ile bunların tam bir listesini alabilirsiniz.
> history
9. Log’lar canlı olarak nasıl görüntülenir?
Sık güncellenen log’ları akan yazı şeklinde anında görüntülemek için ‘tail‘ komutunu kullanabilirsiniz. Bu komutu bir dosyanın son satırlarını görmek için de kullanabilirsiniz.
> tail -f -n100 /var/log/messages
Yukarıdaki komutta -f parametresi dosyaya son yapılan eklemelerin anında görüntülenmesini sağlar (akan yazı şeklinde). -f kullanmazsanız komut çalıştırıldığı andaki dosya gösterilir sadece. -n’den sonra gelen 100 sayısı dosyanın sondan başlayarak kaç satırının gösterileceğini belirtir. Bu örnekte dosyanın son 100 satırı görüntülenmiş. Son parametre de tahmin edileceği üzere görüntülenecek dosyamızın adı.
10. Bir dizin nasıl sıkıştırılır?
Dizin sıkıştırmak için:
> tar -c /dizinin/bulundugu/yer/dizinadi/ | bzip2 > dizinadi.tar.bz2
Sıkıştırılmış dosyayı aşmak için:
> bzip2 -dc dizinadi.tar.bz2 | tar -x
bzip2 yerine gzip de kullanabilirsiniz.
Kaynaklar:
Unix Job Control
Linux Commands: A Practical Reference

Yorumlar