Neler yeni

Yazılım Forum

Tüm özelliklerimize erişmek için şimdi bize katılın. Kayıt olduktan ve giriş yaptıktan sonra konu oluşturabilecek, mevcut konulara yanıt gönderebilecek, itibar kazanabilecek, özel mesajlaşmaya erişebilecek ve çok daha fazlasını yapabileceksiniz! Bu hizmetlerimiz ise tamamen ücretsiz ve kurallara uyulduğu sürece sınırsızdır, o zaman ne bekliyorsunuz? Hadi, sizde aramıza katılın!

Linux ve macOS'ta Terminal Kullanımına Kapsamlı Giriş: Temel Komutlar ve Kavramlar

Giriş: Terminal Nedir ve Neden Önemlidir?

Modern işletim sistemleri, grafiksel kullanıcı arayüzleri (GUI) sayesinde bilgisayar kullanımını herkes için erişilebilir hale getirmiştir. Ancak, bilgisayarların kalbinde yatan güç ve esneklik çoğu zaman komut satırı arayüzünde (CLI) yatmaktadır. Terminal (veya Konsol, Kabuk, Komut İstemi gibi farklı isimlerle de bilinir), işletim sisteminizle metin tabanlı komutlar aracılığıyla etkileşim kurmanızı sağlayan bir arayüzdür. Windows'ta Komut İstemi (CMD) veya PowerShell, macOS ve Linux'ta ise Terminal uygulaması bu amaca hizmet eder.

Terminal kullanımı ilk başta göz korkutucu gelebilir, ancak bir kez temel prensiplerini kavradığınızda, otomasyon, sistem yönetimi, yazılım geliştirme ve genel verimlilik açısından kapılar açar. Peki, neden terminal kullanmalıyız? Hızlı dosya işlemleri, uzaktan sunucu yönetimi, karmaşık görevlerin otomasyonu için betikler yazma, geliştirme araçlarını kullanma ve sistem üzerinde daha derin bir kontrol sağlama gibi pek çok avantajı vardır. Örneğin, binlerce dosyayı tek bir komutla yeniden adlandırabilir veya bir sunucudaki logları saniyeler içinde filtreleyebilirsiniz. GUI ile bu tür işlemler ya çok daha uzun sürer ya da hiç mümkün olmaz.

Temel Kavramlar ve Yapılar

Terminal dünyasına dalmadan önce, bazı temel kavramları anlamak önemlidir:

  • Kabuk (Shell): Komutları yorumlayan ve işletim sistemine ileten programdır. En yaygın kabuklar Bash (Bourne Again SHell), Zsh (Z Shell) ve Fish'tir. Sizin yazdığınız komutlar önce kabuk tarafından okunur ve yürütülür.
  • Komut: Terminale yazdığınız ve belirli bir görevi yerine getirmesini istediğiniz talimatlardır (örneğin,
    Kod:
    ls
    veya
    Kod:
    cd
    ).
  • Argüman (Argument/Parametre): Bir komuta verilen ek bilgilerdir. Örneğin,
    Kod:
    ls -l
    komutunda
    Kod:
    -l
    bir argümandır ve
    Kod:
    ls
    komutuna dosyaları uzun formatta listelemesini söyler.
  • Dizin (Directory) ve Dosya (File): Bilgisayarınızdaki bilgilerin saklandığı yerlerdir. Terminalde, dosyalar ve dizinler hiyerarşik bir ağaç yapısında düzenlenir.
  • Mevcut Çalışma Dizini (Current Working Directory - PWD): Terminalde o an bulunduğunuz dizini ifade eder. Tüm göreceli komutlar bu dizine göre çalışır.
  • Ana Dizin (Home Directory): Kullanıcının kişisel dosyalarının bulunduğu özel dizindir (örneğin, Linux'ta
    Kod:
    /home/kullaniciadi
    , macOS'ta
    Kod:
    /Users/kullaniciadi
    ). Terminalde genellikle
    Kod:
    ~
    sembolüyle temsil edilir.

Temel Dizin ve Navigasyon Komutları

Terminalde gezinmek ve dizinleri yönetmek için kullanacağınız en temel komutlardır:

1.
Kod:
pwd
(Print Working Directory)

Bu komut, o anda bulunduğunuz dizinin tam yolunu gösterir.
Kod:
pwd
/home/kullaniciadi/Belgeler

2.
Kod:
ls
(List Segment)

Dizin içindeki dosya ve alt dizinleri listeler. Çok sayıda argümanı vardır.
Kod:
ls             # Mevcut dizindeki dosyaları ve dizinleri listeler
ls -l          # Detaylı (uzun) formatta listeler (izinler, sahip, boyut, tarih vb.)
ls -a          # Gizli dosyaları da gösterir (nokta ile başlayanlar)
ls -la         # Hem detaylı hem de gizli dosyaları gösterir
ls Belgeler    # Belirtilen dizindeki içeriği listeler

3.
Kod:
cd
(Change Directory)

Bir dizinden diğerine geçmek için kullanılır.
Kod:
cd Belgeler         # 'Belgeler' dizinine geçer (mevcut dizinin altındaysa)
cd /var/log         # '/var/log' dizinine geçer (mutlak yol)
cd ..               # Bir üst dizine döner
cd                  # Doğrudan ana dizininize döner (ya da cd ~)
cd -                # En son bulunduğunuz dizine geri döner

4.
Kod:
mkdir
(Make Directory)

Yeni bir dizin oluşturur.
Kod:
mkdir YeniKlasor
mkdir -p Projeler/WebUygulamasi/Frontend # İç içe dizinler oluşturur

5.
Kod:
rmdir
(Remove Directory)

Boş bir dizini siler. İçinde dosya varsa hata verir.
Kod:
rmdir BosKlasor

Temel Dosya İşlemleri

Dosyaları oluşturmak, kopyalamak, taşımak ve silmek için kullanılan komutlardır:

1.
Kod:
touch
Boş bir dosya oluşturur veya mevcut bir dosyanın erişim/değiştirilme zamanını günceller.
Kod:
touch yeni_dosya.txt

2.
Kod:
cp
(Copy)

Dosya veya dizinleri kopyalar. Kaynak ve hedef belirtilmelidir.
Kod:
cp dosya1.txt dosya2.txt              # dosya1.txt'yi dosya2.txt olarak kopyalar
cp dosya.txt Yedekler/              # dosya.txt'yi 'Yedekler' dizinine kopyalar
cp -r KaynakDizin HedefDizin     # Dizinleri ve içindeki her şeyi kopyalar (rekürsif)

3.
Kod:
mv
(Move)

Dosya veya dizinleri taşır veya yeniden adlandırır.
Kod:
mv eski_ad.txt yeni_ad.txt          # dosyanın adını değiştirir
mv dosya.txt /home/kullanici/Belgeler/ # dosyayı başka bir dizine taşır

4.
Kod:
rm
(Remove)

Dosya veya dizinleri siler. Dikkatli kullanılmalıdır, silinen dosyalar genellikle geri getirilemez!
Kod:
rm silinecek_dosya.txt
rm -i silinecek_dosya.txt         # Silmeden önce onay ister
rm -r SilinecekDizin              # Dizinleri ve içindeki her şeyi siler (rekürsif)
rm -rf CokOnemliDizin             # Onay almadan ve zorla siler. FELAKET OLABİLİR!

Dosya İçeriği Görüntüleme

Metin dosyalarının içeriğini terminalde görüntülemek için:

1.
Kod:
cat
(Concatenate)

Dosyanın tüm içeriğini terminale yazdırır. Genellikle küçük dosyalar için kullanılır.
Kod:
cat metin.txt

2.
Kod:
less
/
Kod:
more
Büyük dosyaları sayfa sayfa görüntülemenizi sağlar.
Kod:
less
daha gelişmiş özelliklere sahiptir (geri kaydırma, arama vb.).
Kod:
less buyuk_log_dosyasi.log
(
Kod:
q
ile çıkış yapılır.)

Komut Yardım ve Manuel Sayfaları (
Kod:
man
)


Herhangi bir komut hakkında detaylı bilgi edinmek için
Kod:
man
(manual) komutunu kullanabilirsiniz. Bu, bir komutun kullanımı, argümanları, seçenekleri ve örnekleri hakkında kapsamlı bir belge sunar.
Kod:
man ls
man cp
Kod:
man
sayfasında gezinmek için ok tuşlarını kullanabilir,
Kod:
q
ile çıkabilirsiniz. Arama yapmak için
Kod:
/
tuşuna basıp kelime yazıp
Kod:
Enter
tuşuna basabilirsiniz.

Giriş/Çıkış Yönlendirme ve İşlem Boruları (Pipes)

Terminalin en güçlü özelliklerinden biri, komutların girdilerini ve çıktılarını kontrol etme yeteneğidir. Bu, komutları bir zincir gibi birbirine bağlamanıza olanak tanır.

  • Standart Çıkış Yönlendirme (
    Kod:
    >
    ,
    Kod:
    >>
    ):

    Komut çıktısını ekrana yazdırmak yerine bir dosyaya yönlendiririz.
    Kod:
    >
    var olan dosyayı silip üzerine yazar.
    Kod:
    >>
    var olan dosyanın sonuna ekler.
    Kod:
    ls -l > liste.txt       # ls çıktısını liste.txt dosyasına yazar (varsa üzerine yazar)
     تاريخ >> log.txt          # 'tarih' komutunun çıktısını log.txt'nin sonuna ekler
  • Standart Giriş Yönlendirme (
    Kod:
    <
    ):

    Bir komutun girdisini klavyeden almak yerine bir dosyadan okumasını sağlar.
    Kod:
    wc -l < liste.txt       # liste.txt dosyasındaki satır sayısını sayar (wc -l dosya.txt ile aynı gibi görünse de farklı senaryolarda önemlidir)
  • İşlem Boruları (Pipes -
    Kod:
    |
    ):

    Bir komutun çıktısını başka bir komutun girdisi olarak kullanmanızı sağlar. Bu, birden fazla küçük ve uzmanlaşmış komutu bir araya getirerek karmaşık görevleri yapmanızı sağlar.
    Kod:
    ls -l | less            # ls çıktısını 'less' komutuna gönderir, böylece uzun listeleri kolayca gezinebilirsiniz
    cat log.txt | grep 'Hata' # log.txt dosyasındaki 'Hata' kelimesini içeren satırları filtreler
    ps aux | grep chrome    # Çalışan tüm süreçleri listeler ve içinden 'chrome' geçenleri gösterir

Pratik İpuçları ve Kısayollar

Terminalde verimliliğinizi artıracak bazı kısayollar ve ipuçları:

  • Sekme (Tab) Tamamlama: Bir komutun, dosyanın veya dizinin ilk birkaç harfini yazıp
    Kod:
    Tab
    tuşuna bastığınızda, kabuk otomatik olarak tamamlamaya çalışır veya olası seçenekleri gösterir. Bu, yazım hatalarını azaltır ve hızı artırır.
  • Yukarı/Aşağı Ok Tuşları: Daha önce kullandığınız komutlar arasında gezinmenizi sağlar.
  • Ctrl+C: Çalışan bir komutu veya programı durdurur. Takılı kalan veya yanlış çalışan bir işlem için hayat kurtarıcıdır.
  • Ctrl+D: Terminal oturumunu kapatır (EOF - End Of File sinyali gönderir). Genellikle bir kabuktan çıkmak için kullanılır.
  • Ctrl+L: Terminal ekranını temizler. Eşdeğeri:
    Kod:
    clear
    komutu.
  • history Komutu: Daha önce çalıştırdığınız tüm komutların bir listesini gösterir.
    Kod:
    !N
    ile N numaralı komutu tekrar çalıştırabilirsiniz. Örneğin,
    Kod:
    !123
    .
  • Çıkış Durumu ($?): Her komut çalıştıktan sonra bir çıkış durumu kodu döndürür.
    Kod:
    0
    başarılı, diğer değerler (genellikle
    Kod:
    1
    ) hata anlamına gelir. Son komutun çıkış durumunu görmek için
    Kod:
    echo $?
    yazabilirsiniz.

Sıkça Sorulan Sorular ve Örnek Senaryo

Soru: 'permission denied' hatası alıyorum, ne yapmalıyım?
Cevap: Bu hata genellikle bir dosyaya veya dizine erişmek için yeterli izne sahip olmadığınız anlamına gelir. Dosya izinlerini
Kod:
ls -l
ile kontrol edebilir ve
Kod:
chmod
veya
Kod:
sudo
(yönetici yetkileriyle çalıştırma) gibi komutları araştırmanız gerekebilir. Ancak
Kod:
sudo
komutunu kullanırken çok dikkatli olun, yanlış komutlar sisteme zarar verebilir.

Senaryo: Bir proje klasörünüz var. Bu klasörün içindeki tüm
Kod:
.log
dosyalarını bulup, her birinin boyutunu
Kod:
MB
cinsinden listelemek istiyorsunuz. Sonra da bu listeyi
Kod:
boyutlar.txt
adlı bir dosyaya kaydetmek istiyorsunuz.
Kod:
find . -name "*.log" -exec du -h {} \; | grep -E "G|M|K" > boyutlar.txt
Bu komut:
  • Kod:
    find . -name "*.log"
    : Mevcut dizinde ve alt dizinlerinde
    Kod:
    .log
    uzantılı tüm dosyaları bulur.
  • Kod:
    -exec du -h {} \;
    : Bulunan her dosya için
    Kod:
    du -h
    (disk kullanımını insan okunur formatta göster) komutunu çalıştırır.
  • Kod:
    | grep -E "G|M|K"
    :
    Kod:
    du -h
    çıktısından G (gigabayt), M (megabayt) veya K (kilobayt) içeren satırları filtreler.
  • Kod:
    > boyutlar.txt
    : Son çıktıyı
    Kod:
    boyutlar.txt
    dosyasına kaydeder.
Bu basit örnek, terminalin ne kadar güçlü olabileceğini göstermektedir. Birkaç komutu bir araya getirerek karmaşık işlemleri otomatikleştirebilirsiniz.

Sonuç

Terminal, bilgisayarınızla etkileşim kurmanın ve onunla çalışmanın bambaşka bir boyutunu sunar. İlk başta karmaşık görünse de, pratik yaptıkça ve temel komutları öğrendikçe, zamanla vazgeçilmez bir araç haline gelecektir. Bu rehber, terminal yolculuğunuzda size bir başlangıç noktası sağlamayı amaçlamaktadır. Daha derinlemesine bilgi edinmek için her komutun
Kod:
man
sayfasını incelemeyi ve çevrimiçi kaynakları araştırmayı unutmayın. Linux Command Line referansı veya Ryans Tutorials Linux kısmı gibi siteler daha fazla bilgi için harika kaynaklardır. Unutmayın, terminal öğrenmek bir maratondur, kısa bir sprint değil. Sabırlı olun ve denemekten çekinmeyin! Bol pratikle terminalde uzmanlaşabilirsiniz.
 
shape1
shape2
shape3
shape4
shape5
shape6
Üst

Bu web sitenin performansı Hazal Host tarafından sağlanmaktadır.

YazilimForum.com.tr internet sitesi, 5651 sayılı Kanun’un 2. maddesinin 1. fıkrasının (m) bendi ve aynı Kanun’un 5. maddesi kapsamında Yer Sağlayıcı konumundadır. Sitede yer alan içerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır.

YazilimForum.com.tr, kullanıcılar tarafından paylaşılan içeriklerin doğruluğunu, güncelliğini veya hukuka uygunluğunu garanti etmez ve içeriklerin kontrolü veya araştırılması ile yükümlü değildir. Kullanıcılar, paylaştıkları içeriklerden tamamen kendileri sorumludur.

Hukuka aykırı içerikleri fark ettiğinizde lütfen bize bildirin: lydexcoding@gmail.com

Sitemiz, kullanıcıların paylaştığı içerik ve bilgileri 6698 sayılı KVKK kapsamında işlemektedir. Kullanıcılar, kişisel verileriyle ilgili haklarını KVKK Politikası sayfasından inceleyebilir.

Sitede yer alan reklamlar veya üçüncü taraf bağlantılar için YazilimForum.com.tr herhangi bir sorumluluk kabul etmez.

Sitemizi kullanarak Forum Kuralları’nı kabul etmiş sayılırsınız.

DMCA.com Protection Status Copyrighted.com Registered & Protected