Linux işletim sistemlerinin gücü ve esnekliği büyük ölçüde komut satırı arayüzünden (CLI) gelir. Grafik arayüzler günlük kullanım için kolaylık sağlasa da, terminalde ustalaşmak, sistem üzerinde daha derin kontrol sahibi olmanızı, görevleri otomatikleştirmeyi ve sorunları gidermeyi mümkün kılar. Bu rehberde, Linux dünyasına yeni adım atanlar veya bilgilerini tazelemek isteyenler için en temel ve sık kullanılan komutları detaylı bir şekilde inceleyeceğiz.
Neden Terminal Kullanmalıyız?
1. Dosya ve Dizin Yönetimi Komutları
Bu komutlar, dosya sistemi içinde gezinmek, dosya ve dizin oluşturmak, silmek, kopyalamak ve taşımak için kullanılır.
pwd (Print Working Directory): Mevcut çalışma dizininizin tam yolunu gösterir.
Örnek Çıktı:
ls (List Directory Contents): Bulunduğunuz dizindeki dosya ve dizinleri listeler. En sık kullanılan seçeneklerden bazıları:
cd (Change Directory): Dizinden dizine geçiş yapmak için kullanılır.
İpucu: `cd -` son bulunduğunuz dizine geri dönmenizi sağlar.
mkdir (Make Directory): Yeni bir dizin oluşturur.
rm (Remove): Dosyaları ve dizinleri siler.
Dikkat: Bu komutla silinen dosyalar genellikle geri alınamaz!
cp (Copy): Dosya ve dizinleri kopyalar.
mv (Move/Rename): Dosya ve dizinleri taşır veya yeniden adlandırır.
2. Dosya İçeriği Görüntüleme ve Arama Komutları
cat (Concatenate and Display): Dosyaların içeriğini doğrudan terminale yazar. Kısa dosyalar için idealdir.
less / more: Büyük dosyaların içeriğini sayfa sayfa görüntülemek için kullanılır. `less` daha gelişmiştir ve hem ileri hem geri gitmeye izin verir.
`less` içinde gezinmek için: Ok tuşları, Space (ileri), b (geri), q (çıkış).
grep (Global Regular Expression Print): Dosya içinde veya çıktılarda belirli desenleri arar.
find: Dosya sisteminde dosya ve dizinleri bulmak için kullanılır. Çok güçlü ve esnek bir komuttur.
3. Sistem Bilgisi ve Süreç Yönetimi Komutları
ps (Process Status): Çalışan süreçleri gösterir.
Açıklama: `a` (tüm kullanıcıların süreçleri), `u` (kullanıcı dostu format), `x` (terminalle ilişkili olmayan süreçleri de göster).
top: Sistem kaynaklarını (CPU, bellek) ve çalışan süreçleri gerçek zamanlı olarak görüntüler.
İpucu: `top` içinde `q` ile çıkılır.
df (Disk Free): Disk bölümlerinin boş alanlarını gösterir.
`h` seçeneği boyutları okunabilir formatta gösterir.
du (Disk Usage): Dosya ve dizinlerin disk kullanımını gösterir.
`s` (summary) ve `h` (human-readable) seçenekleri sıkça kullanılır.
4. Kullanıcı ve İzin Yönetimi Komutları
sudo (Superuser Do): Bir komutu süper kullanıcı (root) yetkileriyle çalıştırmanızı sağlar. Güvenlik nedeniyle dikkatli kullanılmalıdır.
chmod (Change Mode): Dosya ve dizin izinlerini değiştirir. İzinler genellikle üç basamaklı sayılarla (okuma=4, yazma=2, çalıştırma=1) veya sembolik notasyonla (`u+x`, `go-w`) ifade edilir.
chown (Change Owner): Dosya ve dizinlerin sahibini ve grubunu değiştirir.
5. Paket Yönetimi Komutları (Örnekler)
Linux dağıtımları genellikle farklı paket yöneticileri kullanır. Burada en yaygın olanları ele alıyoruz.
apt (Debian/Ubuntu tabanlı sistemler):
yum / dnf (Red Hat/Fedora tabanlı sistemler):
6. Ağ Komutları
ping: Bir ağdaki başka bir cihaza (IP adresi veya alan adı) erişilebilirliğini test eder.
ip: Ağ arayüzlerini ve yönlendirme tablolarını yönetmek için modern bir araç. Eski `ifconfig`'in yerini almıştır.
wget / curl: İnternetten dosya indirmek için kullanılır.
7. Yardımcı Komutlar
man (Manual): Herhangi bir komutun veya sistem çağrısının manuel sayfasını görüntüler. En iyi öğrenme araçlarından biridir.
`man` içinde gezinmek için `less` ile aynı tuşlar kullanılır (`q` ile çıkılır).
echo: Terminale metin yazdırır veya değişkenlerin değerini gösterir.
clear: Terminal ekranını temizler.
Sonuç
Bu rehberde ele aldığımız temel Linux komutları, terminalde verimli bir şekilde çalışmaya başlamak için güçlü bir temel sunar. Her bir komutun çok daha fazla seçeneği ve kullanım alanı bulunmaktadır. Pratik yaparak, bu komutları günlük iş akışınıza entegre edebilir ve Linux'un sunduğu sınırsız olanaklardan faydalanabilirsiniz. Unutmayın, Linux'ta öğrenme süreci sürekli devam eder ve keşfetmeye açık olmanız önemlidir. Terminalde iyi eğlenceler!
Daha Fazla Kaynak ve İleri Seviye Bilgi İçin Tıklayın
Neden Terminal Kullanmalıyız?
- Daha fazla kontrol ve esneklik sağlar.
- Sistemin kaynaklarını daha verimli kullanır.
- Uzak sunuculara SSH ile erişimde tek seçenektir.
- Tekrarlayan görevleri otomatikleştirmek için script yazımına olanak tanır.
- Sorun giderme ve performans analizi için vazgeçilmezdir.
1. Dosya ve Dizin Yönetimi Komutları
Bu komutlar, dosya sistemi içinde gezinmek, dosya ve dizin oluşturmak, silmek, kopyalamak ve taşımak için kullanılır.
pwd (Print Working Directory): Mevcut çalışma dizininizin tam yolunu gösterir.
Kod:
pwd
Kod:
/home/kullaniciadi/belgeler
ls (List Directory Contents): Bulunduğunuz dizindeki dosya ve dizinleri listeler. En sık kullanılan seçeneklerden bazıları:
- -l: Detaylı liste görünümü (izinler, sahip, boyut, tarih vb.).
- -a: Gizli dosyaları (nokta ile başlayanlar) dahil tüm dosyaları gösterir.
- -h: Dosya boyutlarını insan tarafından okunabilir formatta gösterir (KB, MB, GB).
Kod:
ls -lah
cd (Change Directory): Dizinden dizine geçiş yapmak için kullanılır.
Kod:
cd /var/log ; /var/log dizinine git
cd .. ; Bir üst dizine çık
cd ~ ; Ev dizinine dön (kullanıcı dizini)
cd ; Ev dizinine dön (cd ~ ile aynı)
cd -
mkdir (Make Directory): Yeni bir dizin oluşturur.
Kod:
mkdir yeni_dizin
mkdir -p projeler/proje1/kaynaklar ; Gerekirse üst dizinleri de oluşturur.
rm (Remove): Dosyaları ve dizinleri siler.
Dikkat: Bu komutla silinen dosyalar genellikle geri alınamaz!
- -f: Onay sormadan siler (force).
- -r: Dizinleri ve içindeki tüm içeriği siler (recursive).
Kod:
rm dosya.txt
rm -rf bos_olmayan_dizin
cp (Copy): Dosya ve dizinleri kopyalar.
- -r: Dizinleri kopyalamak için kullanılır (recursive).
- -i: Hedefte aynı isimde dosya varsa sormadan üzerine yazmaz (interactive).
Kod:
cp belge.pdf belgeler/yedek.pdf
cp -r proje_eski proje_yeni
mv (Move/Rename): Dosya ve dizinleri taşır veya yeniden adlandırır.
Kod:
mv eski_ad.txt yeni_ad.txt
mv dosya.txt belgeler/ ; dosya.txt'yi belgeler dizinine taşı
2. Dosya İçeriği Görüntüleme ve Arama Komutları
cat (Concatenate and Display): Dosyaların içeriğini doğrudan terminale yazar. Kısa dosyalar için idealdir.
Kod:
cat README.md
less / more: Büyük dosyaların içeriğini sayfa sayfa görüntülemek için kullanılır. `less` daha gelişmiştir ve hem ileri hem geri gitmeye izin verir.
Kod:
less /var/log/syslog
more buyuk_dosya.txt
grep (Global Regular Expression Print): Dosya içinde veya çıktılarda belirli desenleri arar.
- -i: Büyük/küçük harf duyarsız arama.
- -v: Eşleşmeyen satırları gösterir (inverse).
- -r: Dizinlerde özyinelemeli arama yapar.
Kod:
grep "hata" /var/log/auth.log
ps aux | grep "nginx" ; ps çıktısında nginx ile ilgili süreçleri bul
find: Dosya sisteminde dosya ve dizinleri bulmak için kullanılır. Çok güçlü ve esnek bir komuttur.
Kod:
find . -name "*.log" ; Geçerli dizin ve alt dizinlerde .log uzantılı dosyaları bul
find /home/kullanici -type d -name "proje*" ; Ev dizininde 'proje' ile başlayan dizinleri bul
3. Sistem Bilgisi ve Süreç Yönetimi Komutları
ps (Process Status): Çalışan süreçleri gösterir.
Kod:
ps aux
top: Sistem kaynaklarını (CPU, bellek) ve çalışan süreçleri gerçek zamanlı olarak görüntüler.
Kod:
top
df (Disk Free): Disk bölümlerinin boş alanlarını gösterir.
Kod:
df -h
du (Disk Usage): Dosya ve dizinlerin disk kullanımını gösterir.
Kod:
du -sh /var/log ; /var/log dizininin toplam boyutunu göster
4. Kullanıcı ve İzin Yönetimi Komutları
sudo (Superuser Do): Bir komutu süper kullanıcı (root) yetkileriyle çalıştırmanızı sağlar. Güvenlik nedeniyle dikkatli kullanılmalıdır.
Kod:
sudo apt update
sudo systemctl restart apache2
chmod (Change Mode): Dosya ve dizin izinlerini değiştirir. İzinler genellikle üç basamaklı sayılarla (okuma=4, yazma=2, çalıştırma=1) veya sembolik notasyonla (`u+x`, `go-w`) ifade edilir.
Kod:
chmod 755 script.sh ; Sahip:oku/yaz/çalıştır, Grup/Diğer:oku/çalıştır
chmod +x calistir.sh ; calistir.sh'ye çalıştırma izni ekle
chown (Change Owner): Dosya ve dizinlerin sahibini ve grubunu değiştirir.
Kod:
chown yeni_kullanici dosya.txt
chown -R www-data:www-data /var/www/html ; /var/www/html dizini ve altındaki her şeyin sahibini ve grubunu www-data yapar.
5. Paket Yönetimi Komutları (Örnekler)
Linux dağıtımları genellikle farklı paket yöneticileri kullanır. Burada en yaygın olanları ele alıyoruz.
apt (Debian/Ubuntu tabanlı sistemler):
Kod:
sudo apt update ; Paket listelerini güncelle
sudo apt upgrade ; Yüklü paketleri yükselt
sudo apt install htop ; htop paketini yükle
sudo apt remove htop ; htop paketini kaldır
yum / dnf (Red Hat/Fedora tabanlı sistemler):
Kod:
sudo yum update ; Paket listelerini güncelle (yum)
sudo dnf install nano ; nano paketini yükle (dnf)
sudo dnf remove nano ; nano paketini kaldır (dnf)
6. Ağ Komutları
ping: Bir ağdaki başka bir cihaza (IP adresi veya alan adı) erişilebilirliğini test eder.
Kod:
ping google.com
ip: Ağ arayüzlerini ve yönlendirme tablolarını yönetmek için modern bir araç. Eski `ifconfig`'in yerini almıştır.
Kod:
ip addr show ; Ağ arayüzlerinin IP adreslerini gösterir
ip route show ; Yönlendirme tablosunu gösterir
wget / curl: İnternetten dosya indirmek için kullanılır.
Kod:
wget https://example.com/dosya.zip
curl -O https://example.com/dosya.txt
7. Yardımcı Komutlar
man (Manual): Herhangi bir komutun veya sistem çağrısının manuel sayfasını görüntüler. En iyi öğrenme araçlarından biridir.
Kod:
man ls
man grep
echo: Terminale metin yazdırır veya değişkenlerin değerini gösterir.
Kod:
echo "Merhaba, Linux dünyası!"
echo $PATH
clear: Terminal ekranını temizler.
Kod:
clear
Önemli İpuçları:
- Her zaman man komutunu kullanmaktan çekinmeyin. Bilmediğiniz bir komutun detaylarını öğrenmek için en iyi kaynaktır.
- Komutların çıktısını daha iyi okumak için pipe (|) ve redirection (>, >>) operatörlerini kullanmayı öğrenin (örn:
).Kod:ls -l | grep "txt"
- Komutları denemek için bir sanal makine veya Linux tabanlı bir test ortamı kullanın. Özellikle rm -rf gibi yıkıcı komutlarda dikkatli olun.
Sonuç
Bu rehberde ele aldığımız temel Linux komutları, terminalde verimli bir şekilde çalışmaya başlamak için güçlü bir temel sunar. Her bir komutun çok daha fazla seçeneği ve kullanım alanı bulunmaktadır. Pratik yaparak, bu komutları günlük iş akışınıza entegre edebilir ve Linux'un sunduğu sınırsız olanaklardan faydalanabilirsiniz. Unutmayın, Linux'ta öğrenme süreci sürekli devam eder ve keşfetmeye açık olmanız önemlidir. Terminalde iyi eğlenceler!
Daha Fazla Kaynak ve İleri Seviye Bilgi İçin Tıklayın