10 Dakikada Terminal Ustası: Her Linux Kullanıcısının Bilmesi Gereken 30 Temel Komut
10 Dakikada Terminal Ustası: Her Linux Kullanıcısının Bilmesi Gereken 30 Temel Komut |
10 Dakikada Terminal Ustası: Her Linux Kullanıcısının Bilmesi Gereken Temel Komutlar
Linux kullanmaya yeni başladıysanız ya da terminal kullanımında kendinizi geliştirmek istiyorsanız, doğru yerdesiniz! Bu yazıda günlük kullanımda işinize yarayacak temel Linux komutlarını derli toplu bir şekilde öğreneceksiniz. Hem de sadece 10 dakikada!
Terminal ilk bakışta korkutucu görünebilir (ben ilk karşılaştığımda resmen panikledim!), ama birkaç temel komutu öğrendikten sonra, aslında ne kadar güçlü ve pratik bir araç olduğunu fark edeceksiniz. Hadi başlayalım!
{tocify} $title={İçindekiler}
Dosya Sistemi Gezinme Komutları
1. cd (Change Directory): Adından da anlaşılacağı gibi, klasörler arasında geçiş yapmanızı sağlıyor. Mesela bir “Documents” klasörüne gitmek için cd Documents
yazabilirsiniz. cd
komutunu tek başına kullanırsanız, ana kullanıcı klasörünüze (home) dönersiniz. Bir üst klasöre çıkmak için cd ..
kullanabilirsiniz.
2. pwd (Print Working Directory): Şu an hangi klasörde olduğunuzu gösterir. Bazen hangi klasörde olduğunuzu unuttuğunuzda (ki benim sürekli başıma geliyor), pwd
yazıp enter’a basın. Size tam yol bilgisini gösterecektir.
3. ls (List): Bulunduğunuz klasördeki dosya ve klasörleri listeler. ls -a
komutu ise gizli dosyaları da gösterir (nokta ile başlayan dosyalar). ls -l
ise detaylı bilgilerle listeler – boyut, sahip, izinler gibi.
4. tree: Klasör yapısını ağaç şeklinde görselleştirir. Bir klasördeki tüm alt klasörleri ve dosyaları hiyerarşik olarak görmek istediğinizde çok kullanışlıdır. tree
yazdığınızda, şu anki klasörün tüm yapısını görebilirsiniz.
Dosya ve Klasör İşlemleri
5. touch: Yeni bir boş dosya oluşturur. Örneğin, touch yeni_dosya.txt
komutu “yeni_dosya.txt” adında boş bir dosya oluşturur.
6. mkdir (Make Directory): Yeni bir klasör oluşturur. Örnek: mkdir Projelerim
komutu “Projelerim” adında bir klasör oluşturur.
7. cp (Copy): Dosyaları kopyalar. cp kaynak.txt hedef.txt
şeklinde kullanılır. Klasörleri kopyalamak için cp -r
şeklinde kullanmanız gerekiyor.
8. mv (Move): Dosyaları taşır veya yeniden adlandırır. Örneğin, mv eski.txt yeni.txt
dosyayı yeniden adlandırır. mv dosya.txt /home/kullanici/Belgeler/
ise dosyayı belirtilen klasöre taşır.
9. rm (Remove): Dosyaları siler. rm dosya.txt
şeklinde kullanılır. Klasörleri silmek için rm -r
veya rm -rf
(zorla silmek için) kullanılır. Dikkatli olun, bu komutla silinen dosyalar geri dönüşüm kutusuna gitmez, direkt silinir!
Dosya İçeriği Görüntüleme ve Düzenleme
10. nano: Terminal üzerinden basit metin düzenleyici. nano dosya.txt
şeklinde kullanılır. Çıkmak için Ctrl+X, kaydetmek için Y ve Enter tuşlarına basmanız yeterli. En kolay metin düzenleyici budur.
11. vim: Daha gelişmiş bir metin düzenleyici. vim dosya.txt
şeklinde kullanılır. Biraz daha karmaşık olabilir; yazma moduna geçmek için ‘i’ tuşuna, komut moduna dönmek için Esc tuşuna basın. Kaydetmek ve çıkmak için komut modunda ‘:wq’ yazın. (Ben vim kullanmayı öğrendiğimde ilk başta çıkmayı beceremeyip bilgisayarı resetlemiştim, kesinlikle utanç verici bir andı!)
12. cat: Dosya içeriğini terminalde gösterir. cat dosya.txt
şeklinde kullanılır. Eğer dosya çok büyükse, içerik hızla akar ve sadece son kısmı görürsünüz.
13. less: Büyük dosyaları sayfa sayfa görüntüler. less dosya.txt
şeklinde kullanılır. Sayfalarda ilerlemek için Space, geri gitmek için ‘b’, çıkmak için ‘q’ tuşlarını kullanabilirsiniz.
14. head: Dosyanın ilk birkaç satırını gösterir. Varsayılan olarak ilk 10 satırı gösterir. head dosya.txt
şeklinde kullanılır.
15. tail: Dosyanın son birkaç satırını gösterir. tail dosya.txt
şeklinde kullanılır. Log dosyalarını kontrol ederken çok işe yarar.
16. diff: İki dosya arasındaki farkları gösterir. diff dosya1.txt dosya2.txt
şeklinde kullanılır. Kod değişikliklerini kontrol etmek için idealdir.
Metin İşleme ve Redirection
17. echo: Terminale metin yazdırır. echo "Merhaba Dünya"
şeklinde kullanılır. Ayrıca, çıktıyı bir dosyaya yönlendirmek için echo "Metin" > dosya.txt
(dosyayı sıfırdan oluşturur) veya echo "Metin" >> dosya.txt
(var olan dosyanın sonuna ekler) şeklinde kullanabilirsiniz.
18. grep: Dosya içinde belirli metinleri arar. grep "aranan" dosya.txt
şeklinde kullanılır. Birden fazla dosyada arama yapmak için joker karakterler kullanabilirsiniz: grep "aranan" *.txt
19. wc (Word Count): Dosyadaki satır, kelime ve karakter sayısını gösterir. wc dosya.txt
şeklinde kullanılır.
20. pipe (|): Bir komutun çıktısını başka bir komuta girdi olarak aktarır. Örneğin, cat dosya.txt | grep "aranan"
komutu, dosya içeriğini gösterir ve sadece “aranan” kelimesini içeren satırları filtreler.
Sistem Bilgisi ve Yönetim Komutları
21. uname -a: Sistem hakkında temel bilgileri gösterir: çekirdek sürümü, işletim sistemi, mimari gibi.
22. free: Sistemin bellek durumunu gösterir. free -h
komutu, daha okunaklı bir formatta (gigabyte, megabyte cinsinden) gösterir.
23. df: Disk kullanımını gösterir. df -h
şeklinde kullanıldığında daha okunaklı çıktı verir.
24. du: Belirli bir klasörün disk kullanımını gösterir. du -h /tmp
şeklinde kullanılabilir. -h
“human-readable” yani insan tarafından okunabilir format anlamına gelir.
25. uptime: Sistemin ne kadar süredir çalıştığını gösterir.
26. htop: Gelişmiş bir görev yöneticisidir. Çalışan işlemleri, CPU ve bellek kullanımını interaktif bir şekilde gösterir.
Süreç ve Güvenlik Komutları
27. ps: Çalışan işlemleri listeler. ps aux
sisteminizde çalışan tüm işlemleri detaylı olarak gösterir.
28. kill: Bir işlemi sonlandırır. kill PID
şeklinde kullanılır, burada PID işlem numarasıdır. Zorla kapatmak için kill -9 PID
kullanılır.
29. sudo: Yönetici yetkisiyle komut çalıştırmanızı sağlar. sudo apt update
gibi yönetici gerektiren komutlar için kullanılır.
30. passwd: Şifrenizi değiştirmenizi sağlar. Başka bir kullanıcının şifresini değiştirmek için sudo passwd kullanici_adi
kullanılır.
Terminal İpuçları ve Kısayollar
Tab Tuşu: Terminal kullanırken hayat kurtaran bir kısayol! Dosya veya komut adlarını otomatik tamamlar. Örneğin, cd Doc
yazıp Tab’a basarsanız, otomatik olarak cd Documents/
şeklinde tamamlanır. Eğer birden fazla seçenek varsa, iki kez Tab tuşuna basarak mevcut seçenekleri görebilirsiniz.
Ctrl+R: Geçmiş komutlarda arama yapar. Çok sık kullandığınız uzun komutları hatırlamak için harikadır.
Ctrl+L: Terminali temizler, clear
komutuna eşdeğerdir.
Ctrl+C: Çalışan bir komutu veya programı sonlandırır.
Yukarı/Aşağı Ok Tuşları: Önceki komutlar arasında gezinmenizi sağlar.
history: Önceden kullandığınız komutların listesini gösterir.
alias: Uzun komutlara kısa isimler tanımlamanıza olanak sağlar. Örneğin, alias ll='ls -la'
diyerek, her ll
yazdığınızda ls -la
komutunu çalıştırabilirsiniz.
Ağ Komutları
ping: Bir sunucuya ping atarak bağlantı testi yapar. ping google.com
şeklinde kullanılır.
ifconfig / ip addr: Ağ arayüzlerini ve IP adreslerinizi gösterir.
mtr: Bir nevi gelişmiş traceroute
komutu. Bir paketin ağ üzerindeki yolculuğunu ve her adımdaki gecikmeleri gösterir.
Sonuç: Terminal Artık Dostunuz!
İşte bu kadar! Bu komutları öğrenerek Linux terminalinde kendinizi çok daha rahat hissedeceksiniz. Başlangıçta bunları bir kâğıda not alıp elinizin altında bulundurabilirsiniz. Zamanla, sürekli kullandıkça, bu komutlar kas hafızanıza yerleşecek ve terminal kullanmak sizin için ikinci doğanız haline gelecek.
Tabii ki Linux dünyası bunlarla sınırlı değil. Bu temel komutları öğrendikten sonra, pipe’lar, shellscript yazma, cron işleri planlama gibi daha ileri konulara geçebilirsiniz. En önemlisi, korkmadan deneyimlemek! Linux’ta bir şeyleri bozmaktan çekinmeyin (elbette kritik sistemlerde değil), çünkü en iyi öğrenme yolu deneme-yanılmadır.
Sık Sorulan Sorular
Hangi Linux dağıtımı yeni başlayanlar için en uygun?
Yeni başlayanlar için genellikle Ubuntu, Linux Mint veya Pop!_OS önerilir. Bu dağıtımlar kullanıcı dostu arayüzlere sahiptir, geniş topluluk desteği vardır ve kurulumları oldukça kolaydır. Ubuntu’nun LTS (Long Term Support) sürümleri 5 yıl boyunca güncellemeler alır, bu nedenle istikrarlı bir sistem için iyi bir seçimdir. Ayrıca bu dağıtımlarda yazılım kurulumu ve güncellemesi grafiksel arayüzle kolayca yapılabilir, böylece terminal kullanımına yavaş yavaş alışabilirsiniz.
Linux komutlarının kullanımını daha hızlı öğrenmek için ne yapabilirim?
Linux komutlarını hızlı öğrenmek için en etkili yöntem, günlük işlerinizde mümkün olduğunca terminali kullanmaktır. Bunun yanında şunları deneyebilirsiniz: 1) Bir “cheat sheet” (komut kartı) baskısı alıp masanıza yapıştırın, 2) Her gün yeni bir komut öğrenmeye çalışın, 3) Online terminal simülatörlerinde pratik yapın, 4) Küçük projeler geliştirin (örneğin otomatik yedekleme betikleri), 5) Linux forumlarına katılın ve sorunlarınızı terminalde çözmeye çalışın, 6) “man” komutunu kullanarak komutların dokümantasyonlarını okuyun, 7) Alias’lar oluşturarak sık kullandığınız komutları kişiselleştirin.
Vim ve Nano arasındaki fark nedir? Hangisini kullanmalıyım?
Vim ve Nano, terminal üzerinden kullanılan iki popüler metin düzenleyicidir. Nano daha basit ve sezgiseldir – komutlar ekranın altında görünür ve standart klavye kısayolları kullanır (Ctrl+X çıkış, Ctrl+O kayıt gibi). Vim ise çok daha güçlü ancak öğrenmesi daha zor bir editördür. Vim’de normal mod, yazma modu, görsel mod gibi farklı modlar vardır ve her modda farklı komutlar çalışır. Yeni başlıyorsanız Nano ile başlamanız önerilir. Zaman içinde terminalden düzenli olarak metin düzenliyorsanız ve daha fazla özelliğe ihtiyaç duyuyorsanız Vim’e geçiş yapabilirsiniz. Vim’in öğrenme eğrisi dik olsa da, bir kere alıştığınızda metin düzenleme hızınızı önemli ölçüde artırabilir.
Sudo komutu neden önemli ve kullanırken nelere dikkat etmeliyim?
Sudo (SuperUser DO) komutu, normal kullanıcılara geçici olarak yönetici (root) yetkisi vererek sistem düzeyinde değişiklikler yapma imkanı sağlar. Bu komut önemlidir çünkü Linux’ta güvenlik amacıyla normal kullanıcılar sistem dosyalarını değiştiremez veya kritik programları kuramazlar. Sudo kullanırken dikkat edilmesi gerekenler: 1) Her komutu sudo ile çalıştırmayın, sadece gerçekten gerektiğinde kullanın, 2) Sudo ile çalıştırdığınız komutun ne yaptığını tam olarak anlamadan çalıştırmayın, 3) Güvenilir kaynaklardan gelen komutları sudo ile çalıştırın, 4) “sudo rm -rf /” gibi tehlikeli komutları asla çalıştırmayın (bu tüm sistemi siler!), 5) Sudo kullanarak değişiklik yaptığınızda yaptığınız değişiklikleri not edin, böylece bir sorun çıkarsa geri alabilirsiniz.
Linux’ta paket yönetimi nasıl yapılır?
Linux’ta paket yönetimi, kullandığınız dağıtıma göre değişir. Debian tabanlı sistemlerde (Ubuntu, Mint gibi) APT paket yöneticisi kullanılır. Temel komutlar: sudo apt update
(paket listelerini günceller), sudo apt upgrade
(yüklü paketleri günceller), sudo apt install paket_adı
(yeni paket kurar), sudo apt remove paket_adı
(paketi kaldırır). Red Hat tabanlı sistemlerde (Fedora, CentOS) ise DNF/YUM kullanılır: sudo dnf update
, sudo dnf install paket_adı
gibi. Arch Linux’ta Pacman (sudo pacman -S paket_adı
), openSUSE’de Zypper kullanılır. Ayrıca dağıtımdan bağımsız olarak Flatpak, Snap ve AppImage gibi evrensel paket formatları da mevcuttur. Modern Linux dağıtımlarının çoğu, paket yönetimi için grafiksel arayüzler de sunar.
Linux’ta dosya izinleri nasıl çalışır?
Linux’ta her dosya ve klasör için üç tür erişim izni vardır: okuma (r), yazma (w) ve çalıştırma (x). Bu izinler üç farklı kullanıcı grubu için ayrı ayrı belirlenir: dosyanın sahibi, dosyanın ait olduğu grup ve diğer tüm kullanıcılar. ls -l
komutuyla dosya izinlerini görebilirsiniz. Çıktıda her dosyanın başında görünen “-rwxr-xr–” gibi karakterler izinleri gösterir. İzinleri değiştirmek için chmod
komutu kullanılır. İki kullanım şekli vardır: sayısal (örn. chmod 755 dosya
) veya sembolik (örn. chmod u+x dosya
). Sayısal gösterimde, her kullanıcı grubu için okuma=4, yazma=2 ve çalıştırma=1 değerleri toplanır. Örneğin, 755 izni, sahibin tüm izinlere (7=4+2+1), grup ve diğer kullanıcıların sadece okuma ve çalıştırma izinlerine (5=4+1) sahip olduğu anlamına gelir.
Kaynakça
- Shotts, W. (2019). The Linux Command Line: A Complete Introduction. No Starch Press.
- Negus, C. (2020). Linux Bible. Wiley.
- Blum, R., & Bresnahan, C. (2019). Linux Command Line and Shell Scripting Bible. Wiley.
- Ward, B. (2014). How Linux Works: What Every Superuser Should Know. No Starch Press.
- Haeder, A., Schneiter, S. A., Pessanha, B. G., & Stanger, J. (2021). LPI Linux Certification in a Nutshell. O’Reilly Media.
- Soyinka, W. (2016). Linux Administration: A Beginner’s Guide. McGraw-Hill Education.
- Linux Documentation Project, GNU/Linux Command-Line Tools Summary
- Ubuntu Documentation, Using the Terminal