Takip et

Linux Komut Satırı Rehberi: Başlangıç Seviyesi İçin

Linux Komut Satırı Rehberi: Başlangıç Seviyesi İçin Linux işletim sistemleri, gelişmiş kontrol ve esneklik sunan güçlü araçla

Linux Komut Satırı Rehberi: Başlangıç Seviyesi İçin

Linux işletim sistemleri, gelişmiş kontrol ve esneklik sunan güçlü araçlardır. Bu gücün kalbi ise komut satırı arayüzünde (Command Line Interface – CLI) yatar. Grafiksel kullanıcı arayüzleri (GUI) günlük görevler için harika olsa da, komut satırı, otomasyon, sunucu yönetimi, sistem sorun giderme ve karmaşık görevleri hızlıca gerçekleştirme konusunda eşsiz avantajlar sunar. Bu rehber, Linux komut satırı dünyasına adım atmak isteyen herkes için temel bir başlangıç noktası olmayı hedeflemektedir. En sık kullanılan komutları, dosya sistemi navigasyonunu ve pratik ipuçlarını öğrenerek Linux ortamında daha yetkin hale geleceksiniz.

Giriş: Neden Komut Satırı?

Komut satırı, bilgisayarınızla metin tabanlı komutlar aracılığıyla etkileşim kurduğunuz bir arayüzdür. Bir terminal emülatörü (örneğin, GNOME Terminal, Konsole, xterm) açtığınızda karşınıza çıkan siyah veya koyu renkli pencere, işte bu komut satırıdır. Peki, neden klavye komutlarıyla uğraşmalıyız? İşte başlıca nedenler:

  • Hız ve Verimlilik: Doğru komutlarla, GUI’de birden fazla tıklama gerektiren işlemleri tek bir satırda tamamlayabilirsiniz.
  • Otomasyon: Tekrarlayan görevleri otomatikleştirmek için betikler (scriptler) yazabilirsiniz. Bu, sunucu yönetimi ve büyük veri işleme gibi alanlarda vazgeçilmezdir.
  • Uzaktan Yönetim: Sunucular genellikle GUI’siz çalışır. SSH (Secure Shell) aracılığıyla komut satırı üzerinden uzaktan erişim ve yönetim sağlamak standart bir uygulamadır.
  • Esneklik ve Güç: Komutlar birbirine zincirlenebilir, çıktıları başka komutlara girdi olarak verilebilir. Bu, sonsuz kombinasyon ve karmaşık işlemler yapma yeteneği sağlar.
  • Daha Az Kaynak Tüketimi: GUI’ye göre daha az sistem kaynağı kullanır, bu da eski donanımlarda veya kaynak kısıtlı ortamlarda avantaj sağlar.

Terminale Erişim: Çoğu Linux dağıtımında, genellikle Ctrl + Alt + T tuş kombinasyonu ile veya uygulama menüsünden “Terminal” veya “Uçbirim” aratarak terminali açabilirsiniz.

Komut Yapısı: Linux komutları genellikle şu yapıya sahiptir:

komut [seçenekler] [argümanlar]
  • Komut: Yapılacak eylemi belirler (örneğin, ls, cd, cp).
  • Seçenekler (Options/Flags): Komutun davranışını değiştiren parametrelerdir (örneğin, -l listeleme formatını değiştirir, -a gizli dosyaları gösterir). Genellikle tek tire (-) veya çift tire (--) ile başlarlar (örneğin, -l veya --long).
  • Argümanlar (Arguments): Komutun üzerinde işlem yapacağı nesnelerdir (örneğin, dosya adları, dizin yolları).

Yardım Alma: Bir komutun ne işe yaradığını ve hangi seçenekleri olduğunu öğrenmek için man (manual) komutunu kullanabilirsiniz. Örneğin:

man ls

Bu komut, ls komutunun detaylı kullanım kılavuzunu açar. Kılavuz içinde gezinmek için ok tuşlarını, çıkmak için q tuşunu kullanın.

Temel Komutlar ve Dosya Sistemi Navigasyonu

Linux dosya sistemi hiyerarşiktir ve her şey kök dizin (/) altında başlar. Dosya sistemi içinde gezinmek ve temel işlemler yapmak için aşağıdaki komutları kullanırız:

pwd (Print Working Directory): Mevcut çalışma dizininizi (yani o an hangi klasörde olduğunuzu) gösterir.

pwd
/home/kullaniciadi/Belgeler

ls (List): Mevcut dizinin içeriğini listeler. Çok sayıda seçeneği vardır:

  • -l (long listing): Detaylı listeleme (izinler, sahip, boyut, tarih vb.).
  • -a (all): Gizli dosyaları ve dizinleri (nokta ile başlayanlar) gösterir.
  • -h (human readable): Dosya boyutlarını insanlar tarafından okunabilir formatta (KB, MB, GB) gösterir.
ls
dosya1.txt  resimler/  yazilar/

ls -l
-rw-r--r-- 1 kullanici kullanici  1234 May 15 10:30 dosya1.txt
drwxr-xr-x 2 kullanici kullanici  4096 May 14 09:00 resimler/

ls -lah
total 20K
drwxr-xr-x  5 kullanici kullanici 4.0K May 15 11:00 .
drwxr-xr-x 20 kullanici kullanici 4.0K May 14 08:00 ..
-rw-------  1 kullanici kullanici  20K May 15 10:00 .bash_history
-rw-r--r--  1 kullanici kullanici 1.2K May 15 10:30 dosya1.txt
drwxr-xr-x  2 kullanici kullanici 4.0K May 14 09:00 resimler/

cd (Change Directory): Dizin değiştirmenizi sağlar. En temel navigasyon komutudur.

  • cd Belgeler: “Belgeler” dizinine gider.
  • cd ..: Bir üst dizine gider.
  • cd .: Mevcut dizin (hiçbir şey yapmaz).
  • cd ~ veya sadece cd: Ana dizininize (home directory) döner.
  • cd /: Kök dizine gider.
  • cd /var/log: Mutlak bir yola (kök dizinden başlayan) gider.
cd Belgeler
pwd
/home/kullaniciadi/Belgeler

cd ..
pwd
/home/kullaniciadi

mkdir (Make Directory): Yeni bir dizin oluşturur.

mkdir YeniDizin
ls
YeniDizin  dosya1.txt  resimler/

touch: Yeni, boş bir dosya oluşturur veya mevcut bir dosyanın erişim/değiştirme zaman damgasını günceller.

touch yeni_dosya.txt
ls
YeniDizin  dosya1.txt  resimler/  yeni_dosya.txt

Pratik İpucu: Komut satırında yazarken Tab tuşuna basarak komutları, dosya adlarını ve dizinleri otomatik tamamlayabilirsiniz. Bu, yazım hatalarını azaltır ve hızı artırır.

Dosya İşlemleri ve İçerik Görüntüleme

Dosyalarla çalışmak, komut satırının en temel görevlerinden biridir. İşte bazı önemli komutlar:

cp (Copy): Dosyaları veya dizinleri kopyalar.

  • cp kaynak_dosya hedef_dosya: Bir dosyayı kopyalar.
  • cp kaynak_dosya hedef_dizin/: Bir dosyayı bir dizine kopyalar.
  • cp -r kaynak_dizin/ hedef_dizin/: Dizinleri ve içindeki tüm içeriği kopyalamak için -r (recursive) seçeneği kullanılır.
cp yeni_dosya.txt yedek_dosya.txt
cp yedek_dosya.txt Belgeler/
cp -r YeniDizin/ Yedekler/

mv (Move): Dosyaları veya dizinleri taşır veya yeniden adlandırır.

  • mv kaynak_dosya hedef_dosya: Bir dosyayı yeniden adlandırır.
  • mv kaynak_dosya hedef_dizin/: Bir dosyayı bir dizine taşır.
mv yedek_dosya.txt eski_yedek.txt
mv eski_yedek.txt Belgeler/

rm (Remove): Dosyaları veya dizinleri siler. Dikkatli olun, silinen dosyalar genellikle geri alınamaz!

  • rm dosya.txt: Bir dosyayı siler.
  • rm -r dizin/: Bir dizini ve içindeki tüm içeriği silmek için -r (recursive) seçeneği kullanılır.
  • rm -f dosya.txt: Zorla silme (onay istemeden, “force”).
  • rm -rf dizin/: Bir dizini ve içindeki her şeyi zorla ve onay istemeden siler. Bu komutu kullanırken son derece dikkatli olun, yanlış bir dizinle sisteminize kalıcı zarar verebilirsiniz. Özellikle rm -rf / komutu tüm sistemi siler!
rm yeni_dosya.txt
rm -r Yedekler/

cat (Concatenate): Bir dosyanın içeriğini terminale yazdırır. Küçük dosyaları hızlıca görüntülemek için kullanışlıdır.

cat /etc/os-release

less ve more: Büyük dosyaların içeriğini sayfa sayfa görüntülemek için kullanılır. less, more‘a göre daha gelişmiştir (ileri ve geri gidebilirsiniz). Çıkmak için q tuşuna basın.

less /var/log/syslog

head ve tail: Bir dosyanın sırasıyla ilk veya son 10 satırını gösterir. -n seçeneği ile satır sayısını belirleyebilirsiniz.

head -n 5 logfile.txt  # Dosyanın ilk 5 satırını gösterir
tail -n 20 logfile.txt # Dosyanın son 20 satırını gösterir
tail -f logfile.txt    # Dosyaya yeni eklenen satırları canlı olarak izler (log dosyaları için ideal)

grep (Global Regular Expression Print): Dosyalar içinde belirli bir metin kalıbını arar.

grep "hata" /var/log/syslog     # syslog dosyasında "hata" kelimesini arar
grep -i "warning" log.txt       # Büyük/küçük harf duyarlılığı olmadan "warning" arar
grep -r "root" /etc             # /etc dizini içinde ve alt dizinlerde "root" arar

Girdi/Çıktı Yönlendirme ve Zincirleme (Piping)

Linux’ta her komutun standart bir çıktısı (stdout), standart bir girdisi (stdin) ve standart bir hata çıktısı (stderr) vardır. Bu akışları yönlendirmek ve komutları birbirine bağlamak, komut satırının gücünü ortaya çıkarır.

> (Çıktıyı Dosyaya Yazma): Bir komutun standart çıktısını bir dosyaya yazar. Eğer dosya yoksa oluşturur, varsa içeriğini tamamen siler ve üzerine yazar.

ls -l > dosya_listesi.txt  # ls çıktısını dosya_listesi.txt'ye yazar

Şimdi cat dosya_listesi.txt yazarak çıktıyı görebilirsiniz.

>> (Çıktıyı Dosyaya Ekleme): Bir komutun standart çıktısını bir dosyanın sonuna ekler. Dosya yoksa oluşturur.

echo "Yeni bir satır ekliyorum." >> dosya_listesi.txt # Metni dosyanın sonuna ekler

| (Pipe/Boru Hattı): Bir komutun standart çıktısını, başka bir komutun standart girdisi olarak kullanır. Bu, komutları birleştirerek karmaşık işlemler yapmanızı sağlar.

ls -l | less                 # ls çıktısını less'e gönderir, böylece sayfa sayfa gezinebilirsiniz
cat /var/log/syslog | grep "error" | head -n 10 # syslog'daki hataları bul, ilk 10'unu göster
ps aux | grep "firefox"      # Tüm çalışan süreçler arasında firefox'u arar

Sistem Bilgileri ve Süreç Yönetimi

Sistem kaynaklarını izlemek ve çalışan uygulamaları yönetmek için bazı temel komutlar:

df (Disk Free): Dosya sistemi disk alanı kullanımını gösterir.

  • df -h: Disk alanını insanlar tarafından okunabilir formatta (GB, MB) gösterir.
df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           797M  1.7M  795M   1% /run
/dev/sda1       235G   56G  167G  26% /
tmpfs           3.9G   68M  3.9G   2% /dev/shm

du (Disk Usage): Dosya veya dizinlerin disk kullanımını gösterir.

  • du -sh dizin_adi/: Belirli bir dizinin toplam boyutunu insanlar tarafından okunabilir formatta özetler.
  • du -h: Mevcut dizindeki tüm dosya ve alt dizinlerin boyutlarını gösterir.
du -sh Belgeler/
4.5G    Belgeler/

free: Sistemdeki bellek (RAM) kullanımını gösterir.

  • free -h: Bellek kullanımını insanlar tarafından okunabilir formatta gösterir.
free -h
              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.5Gi       3.1Gi       1.7Gi       2.2Gi       3.4Gi
Swap:         2.0Gi          0B       2.0Gi

ps (Process Status): Çalışan süreçleri (programları) gösterir.

  • ps aux: Tüm kullanıcıların tüm süreçlerini detaylı bir şekilde listeler.
  • ps -ef: Süreçleri hiyerarşik bir görünümde listeler.
ps aux | head -n 5
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.0 168128 11624 ?        Ss   May14   0:02 /sbin/init
root           2  0.0  0.0      0     0 ?        S    May14   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   May14   0:00 [rcu_gp]
root           4  0.0  0.0      0     0 ?        I<   May14   0:00 [rcu_par_gp]

top: Süreçleri dinamik ve gerçek zamanlı olarak izler. CPU, bellek kullanımı ve çalışan süreçler hakkında sürekli güncellenen bilgi sağlar. Çıkmak için q tuşuna basın.

top

kill: Bir süreci (programı) sonlandırmak için kullanılır. Süreç ID'sini (PID) argüman olarak alır. PID'yi ps veya top komutlarından alabilirsiniz.

  • kill PID: Sürece nazikçe sonlandırma sinyali gönderir.
  • kill -9 PID: Süreci zorla sonlandırır (acil durumlarda kullanılır).
kill 12345    # 12345 PID'li süreci sonlandırır

Not: Bazı komutlar (örneğin sistem dosyalarını düzenleme, kullanıcı ekleme) için yönetici ayrıcalıklarına ihtiyacınız olabilir. Bu durumda komutun başına sudo (superuser do) eklemeniz gerekir. Örneğin: sudo apt update.

Sonuç ve Sıkça Sorulan Sorular (SSS)

Linux komut satırı, ilk başta göz korkutucu gelebilir, ancak bu rehberde ele alınan temel komutlar ve konseptler, bu güçlü aracı etkili bir şekilde kullanmaya başlamanız için sağlam bir zemin oluşturacaktır. Pratik yaparak, komutları birleştirerek ve man sayfalarını keşfederek bilginizi sürekli genişletebilirsiniz. Unutmayın, Linux komut satırı bir öğrenme yolculuğudur ve her yeni komut, size yeni bir kapı açacaktır. Terminali açmaktan çekinmeyin ve denemeye başlayın!

Sıkça Sorulan Sorular (SSS)

  • Komut satırını öğrenmek ne kadar sürer?

    Temel komutları öğrenmek birkaç gün veya hafta sürebilirken, uzmanlaşmak ve ileri düzey betikler yazmak aylar, hatta yıllar alabilir. Önemli olan düzenli pratik yapmak ve yeni şeyler denemekten çekinmemektir.

  • GUI varken neden CLI kullanmalıyım?

    CLI, otomasyon, uzaktan yönetim, hız ve kaynak verimliliği gibi GUI'nin sunamadığı avantajlar sağlar. Özellikle sunucu yönetimi, yazılım geliştirme ve sistem sorun giderme gibi profesyonel alanlarda CLI bilgisi vazgeçilmezdir.

  • Hangi Linux dağıtımını seçmeliyim?

    Başlangıç seviyesi için Ubuntu, Linux Mint veya Fedora gibi kullanıcı dostu dağıtımlar önerilir. Bu dağıtımlar geniş topluluk desteği ve bol miktarda kaynak sunar.

  • Komutları unutursam ne yapmalıyım?

    Bu çok doğaldır! man komut_adi ile yardım alabilir, internette arama yapabilir veya history komutu ile daha önce kullandığınız komutları görebilirsiniz. Ayrıca Ctrl+R tuşlarına basarak geçmiş komutlar arasında arama yapabilirsiniz.

  • En sık kullanılan komutlar hangileri?

    Bu rehberde bahsettiğimiz ls, cd, pwd, cp, mv, rm, cat, grep, man, sudo, top gibi komutlar en sık kullanılanlar arasındadır. Bunlara ek olarak, ssh, wget, apt/dnf/pacman (paket yöneticileri) ve çeşitli metin düzenleyicileri (nano, vim) de önemlidir.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version