Temel Linux Komutları ve Kısayol Tuşları

Bu bölümde Linux kullanmak için gerekli olan temel komutları ve tuşlara atanmış komutlarını göreceğiz. Bu komutların hepsi konsol dediğimiz metin ekrandan veya X-windows altındaki bir uçbirimden (xterm, rxvt, aterm gibi) çalışmaktadır. Fakat tuş komutlarının bir kısmı konsola özgüdür ve X altında pencere yöneticinize göre farklı hareket etmektedirler.

Tuşlarla ilgili gösterim ve anlamı:
<Ctrl><F1>
Ctrl ve F1 tuşlarına birlikte basılacağını gösterir.
<Ctrl><Alt><Fn> (n=1,…,6)
X oturumundan konsola geçiş için kullanılır. Birçok Linux dağıtımı açılışla birlikte altı standart konsol açar. Bunlar tamamen birbirinden bağımsızdırlar ve eşzamanlı çalışırlar. Yani birinde bir işlem yapılmaya devam ederken bir diğerine geçip başka bir işleme başlayabilirsiniz. Kaynakwh webhatti.com: 
<Ctrl><Alt><F7>
Daha önceden açmış olduğunuz sonra <Ctrl><Alt><F1> ile çıktığınız X oturumuna geri döner. Burada önemli nokta bunun altı konsollu bir sistemde geçerli olmasıdır. Eğer sisteminizde dört konsol varsa büyük ihtimalle bu işin tuşu F7 değil F5 olacaktır.
<Ctrl><Alt><Fn> (n=7,…,12)
n numaralı X oturumuna geçer. Birden fazla X oturumu (sunucusu) açmak mümkün olduğu için bunlar arasında geçiş yapabilirsiniz.
<Tab>
Bir uçbirimde yazmakta olduğunuz komutu tamamlar. Mesela README dosyasını okutmak için more RE yazıp TAB’a basarsanız o anda bulunduğunu dizindeki RE ile başlayan dosyaların listesini görürsünüz, eğer tek dosya varsa satır tamamlanır. Aynı şey komut isimleri için de geçerlidir, bas yazıp TAB’a bastığınızda hemen basename diye komutun tamamlandığını görürsünüz. (Bu işlem çok sayıda komutla eşleşme durumunda bazı uçbirimlerde iki defa TAB tuşuna basmayı gerektirebilir.)
<Yukarı ok>, <Aşağı ok>, <PgUp>, <PgDn>
Daha önceden girilmiş komutlar arasında gidip gelmenizi sağlar. Bu komutları history komutu ile listleyebilirsiniz.
<Shift><PgUp>, <Shift><PgDn>
Uçbirim çıktısını yukarı aşağı kaydırmak için kullanılırlar (ekrandan çıkmış olan yazıları görmek vs.)
<Ctrl><Alt><+>, <Ctrl><Alt><->
X oturumunda bir sonraki ekran çözünürlüğüne geçmenizi sağlar. Kipler /etc/X11/XF86Config dosyasında tanımlanmıştır.
<Ctrl><Alt><BkSpc>
X oturumunu sonlandırır.
<Ctrl><Alt><Del>
Sistemi yeniden başlatmak için kullanılır. Konsoldaki shutdown -r now veya reboot komutu gibi davranır. Makinanın üzerindeki sıfırlama (Reset) tuşuna basmayıp bunu tercih etmeniz gerekir, aksi takdirde ext2 gibi bazı dosya sistemleri sorun çıkarabilir.
<Ctrl><C>
Mevcut komutu durdur. Genelde konsoldaki basit komutlar için kullanılır.
<Ctrl><D>
Eğer sizden girdi kabul eden bir konsol komutundaysanız dosya sonu (EOF) yollar, komut istemindeyseniz sistemden çıkarsınız. O yüzden iki defa basmayın ;-).
<Ctrl><S>
Uçbirime olan çıkışı durdurur.
<Ctrl><Q>
Uçbirime olan çıkışa devam eder.
<Ctrl><Z>
Çalışmakta olan komutu arka alana gönderir.
<ctrl><X>
Konsolda bir işe yaramaz ama Matrix’de nedense Neo kullanıyordu. Neyse orada da bir işe yaramamıştı, sanırım Neo’da Linux kullanıyor ;-).
<farenin orta tuşu>
Genelde bir başka pencerede seçilmiş bir yazıyı yapıştırmaya yarar. Burada dikkat edilecek nokta Linux altında kopyala/yapıştır işleminin Windows’dan farklı olmasıdır. Bir yazıyı seçerseniz, o seçili olduğu sürece yapıştırılabilir olur (bir kez yapıştırıldıktan sonra defalarca yapıştırılabilir, yeni bir seçime kadar tamponda kalır.). Yani bir kopyala emri vermeniz gerekmez, seçip orta tuşa basmanız yeter, komut satırına yapıştırılmış olur. Konsolda kullanılabilmesi için gpm çalışıyor olmalıdır.
<Shift><Insert>
yapıştırma işlemini klavyeden yapar.
~
Kullanıcının ev dizinini gösterir /home/kullanıcı_adı ile eşanlamlıdır. cd ~/docs komutu ev dizininizin altında docs dizinine gider. Sadece cd komutu ise cd ~ komutuna eşittir ve ev dizininize gider.
. ya da ./
O anda bulunduğunuz dizindeki bir betiği çalıştırırken kullanmak içindir.
/. ya da Slashdot
Internet’deki en sağlam haber sitesine gider ;-).
cd ..
Bir üst dizine geçer.
exit
Sistemden çıkmanızı sağlar.
reset
Konsol bir şekilde saçma sapan karakterler basıyorsa (genelde çalıştırılabilir bir dosyayı ekrana çıktıladığınızda olur) düzeltmeye yarar.
tty
Bu komutu yazdığınız uçbirimin aygıt dosyasının ismini verir.

Genel Amaçlı Komutlar

help
Kabuk komutlarının listesini gösterir. Bu komutların herbiri için help komut_ismi komutu ile yardım alabilirsiniz.

komut_ismi –help
Söz konusu komut ile ilgili yardım iletisi basar (varsa).

man başlık
Sistemdeki kılavuz (man) dosyaları. Bir komut hakkında olabildiği gibi bir dosya ya da bir işlev hakkında da olabilir.

apropos başlık
söz konusu başlıkla ilgisi olan komutların listesi.

ls
O an bulunulan dizinin içeriğini listeler.

ls -al | more
O an bulunulan dizindeki bütün dosyaları gösterir (. ile başlayan gizli dosyaları da) Komut burada more komutuna yönlendirilmiştir, bu sayede çıktının bir ekrandan fazla olması durumunda bir ekranlık çıktıdan sonra devamını göstermek için bir tuşa basmanız gerekir.

cd dizin
dizin dizinine geçilir; dizin verilmezse ev dizinine geçilir.

cp kaynak hedef
Bir yerdeki dosya ya da dizinleri başka bir yere kopyalamak içindir. Unix’lerde genelde bu tür komutlarda her zaman kaynak önce hedef sonra yazılır.

mcopy kaynak hedef
DOS’tan Unix’e ya da tersine (disketi bağlamanız şart değil) bir dosyayı başka bir yere kopyalar. Aynı mantıkta çalışan mdir, mcd, mren, mmove, mdel, mmd, mrd, mformat gibi komutlar da vardır.

ln hedef [isim]
Sözkonusu hedef e sabit bağ oluşturur. Sözkonusu dosyalar iki yerde de var gibi gözükür, herhangibir değişiklik diğerini de etkiler, biri silindiğinde diğeri kalır. Sabit bağların kısıtlamaları, bağ dosyası ile asıl dosyanın aynı dosya sistemi içinde olması gerekliliği ve dizinlerle özel dosyalara sabit bağ verilememesidir.

ln -s hedef [isim]
hedef ‘e bir sembolik bağ dosyası (isim verilmezse hedef ile aynı isimde) oluşturur. Sembolik bağda hedef ‘in nerede bulunacağının bilgisi vardır. Sembolik bağlar dizinler için de kullanılabilir. Tek sorunu hedef silindiğinde bağ bozulmuş olur.

rm dosya …
Verilen dosya ları siler. Sileceğiniz dosyanın sahibi olmanız gerekir.

mkdir dizin
dizin dizinini oluşturur.

rmdir dizin …
Belirtilen dizin ‘ler boşsa silinir.

rm -r dosya …
Dosya ve dizinleri ve dizinlerin içindeki dizinleri ardarda siler. Root olarak kullanırken dikkat edin, çünkü herşeyi silebilirsiniz!.

cat dosya | more
Bir dosyayı sayfa sayfa görüntülemek için kullanılır.

less dosya
Önceki komuta eşdeğerdir, biraz daha fazla özellikleri vardır

vim dosya
Bir metin dosyasını düzenlemek için kullanılır. Aynı türden nano, joe, mcedit gibi metin düzenleyicileri de kullanabilirsiniz, ancak vim ile UTF-8 kodlu metinleri de düzenleyebilirsiniz. Diğerleri bunu yapamaz.

find / -name “dosya”
dosya adlı dosyayı en üst dizinden itibaren aramaya başlar. Dosya ismi, * ve ? gibi arama karakterleri de içerebilir. Örneğin benim sistemimde “fazlames*” dizgesi ile fazlamesai.net.txt ve fazlamesai.org.txt dosyaları bulunuyor.

locate dosyaismi
find gibidir, fakat düzenli olarak oluşturulan bir veritabanına bağlıdır, sistemdeki son değişikliklerden haberi olmayabilir.

touch dosya
dosya isimli dosyanın tarih bilgilerini deşiştirir. Eğer bu dosya yoksa sıfır bayt uzunluğunda oluşturur.

xinit
Pencere yöneticisi olmayan bir X oturumu açar.

startx
Pencere yöneticili bir X oturumu açar. DOS’daki win komutu gibidir.

startx — :1
1 numaralı ekranda X oturumu açar, ilk ekran 0 dır ve komut için öntanımlıdır. Ekranlar arasında <Ctrl><Alt><F7-F8 …> ile geçiş yapabilirsiniz.

xterm
Basit bir X uçbirimi açar. Daha hafif sürümleri (rxvt, aterm, eterm gibi) bulunur ve tercih edilir.

shutdown -h now
Sistemi durdurur. ATX sistemlerde ayrıca makinayı kapatır.

halt
shutdown -h now ile aynıdır. Sistemi durdurur.

reboot
shutdown -r now ile aynıdır. Sistemi yeniden başlatır.

Dosya Sıkıştırma ve Açma Komutları

gzip -9 dosya
Belirtilen dosya yı en iyi şekilde sıkıştırır ve dosya.gz haline getirir.

bzip2 dosya
Belirtilen dosya yı en iyi şekilde sıkıştırır ve dosya.bz2 haline getirir. Çoğunlukla gzip’den daha iyi sıkıştırır.

gunzip dosya.gz
gzip ile sıkıştırılmış dosya.gz dosyasını dosya olarak açar.

bunzip2 dosya.bz2
bzip2 ile sıkıştırılmış dosya.bz2 dosyasını dosya olarak açar.

tar -xvf arsiv.tar
İsmi arsiv.tar gibi belirtilen (sıkıştırılmamış) arşiv dosyasını bulunulan dizine açar.

tar -zxvf arsiv.tar.gz
İsmi arsiv.tar.gz gibi belirtilen sıkıştırılmış arşiv dosyasını bulunulan dizine açar. Dosya uzantısı .tar.gz olan dosyalardan başka .tgz olan dosyaları da açar.

tar -zxvf arsiv.tar.gz -C dizin
Sıkıştırılmış arşiv dosyasını belirtilen dizine açar.

tar -jxvf arsiv.tar.bz2 -C dizin
Bzip2 ile sıkıştırılmış arşiv dosyasını belirtilen dizin e açar. (Eski sürümlerde -Ixvf kullanılırdı.)

tar -zcvf arsiv.tar.gz dizin1 dizin2 … dosya1 dosya2
Belirtilen dizin ve/veya dosya ları arsiv.tar dosyası haline getirir ve ardından gzip ile sıkıştırıp arsiv.tar.gz haline getirir.

unzip arsiv.zip -d dizin
arsiv.zip zip arşivini belirtilen dizin e açar.

unarj e arsiv.arjKaynakwh topluchat.com: 
arsiv.arj arj arşivini açar.

uudecode -o hedef kaynak
uuencode ile kodlanmış (genelde eposta ekleri) dosyayı açar.

Bilgi Edinme Komutları

pwd
Bulunduğunuz dizinin ismini verir.

hostname
Makinanın konak ismini verir.

whoami
Sisteme giriş yaparken yazdığınız kullanıcı isminizi verir.

id [kullanıcı_ismi]
Kullanıcının kullanıcı kimliği, birincil grup kimliği ve üyesi olduğu grupları gösterir.

date
Sistem tarihi göstermek ya da değiştirmek için kullanılır. Tarihin yerele özgü gösterimle basılmasını isterseniz date +%c yazın. Örneğin “tr_TR” yereli için sadece date komutu Prş Eki 23 21:31:06 EEST 2003 basarken date +%c komutu Prş 23 Eki 2003 21:31:19 EEST basar.

date 102321322003 komutu sistem tarihini Prş Eki 23 21:32:00 EEST 2003 yapar. Donanım saatini değiştirmek için setclock komutunu kullanmanız gerekir.

time
Belli bir komutun işlemini bitirmesinin ne kadar süre tuttuğunu gösterir. Örneğin, ir dizinin listelenme süresini time ls ile öğrenebilirsiniz.

who
O an sistemde bulunan kullanıcıların kullanıcı isimlerini, hangi uçbirimlerde çalıştıklarını ve sisteme giriş tarih ve saatlerini gösterir.

finger [kullanıcı_ismi]
Belli bir kullanıcı hakkındaki bilgi verir.

last
Sisteme en son giriş yapmış kullanıcıların bugünden geriye doğru listesi.

history | more
Kabuğa son girdiğiniz komutların listesi. | more sayesinde sayfa sayfa okuyabilirsiniz.

uptime
Makinanın ne kadar süredir açık olduğu bilgisini verir.

ps
Kullanıcının kullandığı uçbirimde çalıştırmakta olduğu komutların ve süreçlerin listesi.

ps -ax | more
Sistemin açılışından beri çalışmakta olan bütün süreçlerin listesi.

top
Temel sistem durumu, çalışmakta olan süüreçler ne kadar bellek/işlemci kullandıkları vs.

uname -a
Sistem hakkında çekirdek sürümünü, işlemci türü gibi bilgiler.

free
Bellek kullanımını gösterir.

df -h
Bağlı sabit disk bölümlerinin doluluk oranlarını gösterir.

du -sk [dizin]
Belirtilen dizin in (belirtilmezse bulunduğunuz dizinin) içeriğinin diskte kapladığı alanın kB cinsinden boyutunu verir.

cat /proc/interrupts
Çekirdek tarafından tanımlanmış sistem kesmelerinin listesi.

cat /proc/version
Linux çekirdeğinin sürüm bilgileri.

cat /proc/filesystems
Çekirdekte tanımlı kullanılabilecek dosya sistemlerinin listesi.

cat /etc/printcap
Yazıcıların düzeni.

lsmod
Yüklü çekirdek modüllerinin listesi.

set, declare, export
Üçü de kabukta tanımlı ortam değişkenlerinin listesini verir. Tümünü (miras alınanlar dahil) sadece declare verir.

echo $PATH
PATH ortam değişkeninin değerini gösterir. PATH, kullanıcı tarafından çalıştırılabilecek yazılımların aranacakları yerleri kabuğa bildirmek için kullanılır.

dmesg | more
Sistem açılışından itibaren çekirdek tarafından üretilen iletiler. Bu iletiler /proc/kmsg dosyasında bulunur ve dmesg komutu sadece tampondaki son iletileri gösterir.