Nasıl YapılıyorTeknoloji

A’dan Z’ye Tüm MacOS Terminal Komutları

macOS Terminal, işletim sistemine komut satırı arayüzü üzerinden erişmenizi sağlayan güçlü bir araçtır. Grafiksel arayüzün ötesinde, sistem üzerinde daha derinlemesine kontrol imkanı sunar. Bu makalede, macOS Terminal’de sıkça kullanılan ve işinize yarayacak A’dan Z’ye tüm komutları, açıklamaları ve örnek kullanımlarıyla birlikte inceleyeceğiz.

İçindekiler

Terminal’i Açmak

Terminal’i açmak için birkaç yol vardır:

  • Spotlight Arama: Command (⌘) + Boşluk tuşlarına basarak Spotlight’ı açın, “Terminal” yazın ve Enter’a basın.
  • Finder: Finder’da Uygulamalar klasörüne gidin ve ardından İzlenceler klasörünü açın. Burada Terminal uygulamasını bulabilirsiniz.

Temel Navigasyon ve Dosya Yönetimi Komutları

cd (Change Directory – Dizin Değiştir)

Bulunduğunuz dizini değiştirmek için kullanılır.

  • cd: Ev dizinine gider.
  • cd /: Kök dizinine gider.
  • cd ..: Bir üst dizine gider.
  • cd klasor_adi: Belirtilen klasöre gider.
  • cd ~/Belgeler: Ev dizinindeki Belgeler klasörüne gider.

ls (List – Listele)

Bulunduğunuz dizindeki dosya ve klasörleri listeler.

  • ls: Dosya ve klasörleri listeler.
  • ls -l: Dosyaların detaylı bilgilerini (izinler, boyut, tarih vb.) listeler.
  • ls -a: Gizli dosyalar dahil tüm dosya ve klasörleri listeler.
  • ls -la: Hem detaylı bilgileri hem de gizli dosyaları listeler.
  • ls -t: Dosyaları değiştirilme zamanına göre listeler. En son değiştirilen en üstte olur.
  • ls -S: Dosyaları boyuta göre listeler. En büyük boyutlu olan en üstte olur.

pwd (Print Working Directory – Çalışma Dizini Yazdır)

Bulunduğunuz dizinin tam yolunu gösterir.

mkdir (Make Directory – Dizin Oluştur)

Yeni bir klasör oluşturur.

  • mkdir yeni_klasor: “yeni_klasor” adında bir klasör oluşturur.

rmdir (Remove Directory – Dizin Sil)

Boş bir klasörü siler. Klasörün içinde dosya varsa silinmez.

  • rmdir bos_klasor: “bos_klasor” adlı boş klasörü siler.

rm (Remove – Sil)

Dosyaları ve klasörleri siler.

  • rm dosya.txt: “dosya.txt” adlı dosyayı siler.
  • rm -r klasor: “klasor” adlı klasörü ve içindeki tüm dosyaları siler. (Dikkatli kullanın!)
  • rm -rf klasor: “klasor” adlı klasörü ve içindeki tüm dosyaları zorla siler. (Çok dikkatli kullanın, geri dönüşü yoktur!)

cp (Copy – Kopyala)

Dosyaları ve klasörleri kopyalar.

  • cp dosya.txt kopya.txt: “dosya.txt” dosyasını “kopya.txt” olarak kopyalar.
  • cp -r klasor yeni_klasor: “klasor” adlı klasörü “yeni_klasor” olarak kopyalar.

mv (Move – Taşı/Yeniden Adlandır)

Dosyaları ve klasörleri taşır veya yeniden adlandırır.

  • mv dosya.txt yeni_dizin/: “dosya.txt” dosyasını “yeni_dizin” klasörüne taşır.
  • mv dosya.txt yeni_ad.txt: “dosya.txt” dosyasının adını “yeni_ad.txt” olarak değiştirir.

touch

Boş bir dosya oluşturur veya mevcut bir dosyanın değiştirilme tarihini günceller.

  • touch yeni_dosya.txt: “yeni_dosya.txt” adında boş bir dosya oluşturur.

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

cat (Concatenate – Birleştir/Görüntüle)

Dosya içeriğini görüntüler.

  • cat dosya.txt: “dosya.txt” dosyasının içeriğini görüntüler.

less

Dosya içeriğini sayfa sayfa görüntüler. Büyük dosyalar için kullanışlıdır.

  • less dosya.txt: “dosya.txt” dosyasının içeriğini sayfa sayfa görüntüler. (Aşağı yukarı ok tuşları, q çıkış)

head

Dosyanın ilk birkaç satırını görüntüler.

  • head -n 10 dosya.txt: “dosya.txt” dosyasının ilk 10 satırını görüntüler.

tail

Dosyanın son birkaç satırını görüntüler.

  • tail -n 10 dosya.txt: “dosya.txt” dosyasının son 10 satırını görüntüler.
  • tail -f dosya.txt: Dosyaya yeni satırlar eklendikçe onları canlı olarak gösterir. (Log dosyalarını izlemek için kullanışlıdır.)

Sistem Bilgileri ve İşlemler

uname

Sistem bilgilerini gösterir.

  • uname -a: Tüm sistem bilgilerini gösterir.

whoami

Oturum açmış kullanıcı adını gösterir.

ps (Process Status – İşlem Durumu)

Çalışan işlemleri listeler.

  • ps aux: Tüm kullanıcıların tüm işlemlerini detaylı olarak listeler.

kill

Çalışan bir işlemi sonlandırır. İşlem ID’sini (PID) gerektirir.

  • kill PID: Belirtilen PID’ye sahip işlemi sonlandırır.
  • kill -9 PID: Belirtilen PID’ye sahip işlemi zorla sonlandırır. (Dikkatli kullanın!)

top

Sistem kaynak kullanımını (CPU, bellek vb.) gerçek zamanlı olarak gösterir.

Ağ Komutları

ping

Belirli bir ana bilgisayara ağ bağlantısını test eder.

  • ping google.com: google.com’a ağ bağlantısını test eder.

ifconfig (Artık ipconfig veya ip daha yaygın)

Ağ arayüzlerinin yapılandırmasını gösterir ve değiştirir.

  • ip a: Tüm ağ arayüzlerini ve IP adreslerini gösterir.
  • ifconfig en0: en0 arayüzünün yapılandırmasını gösterir.

netstat

Ağ bağlantılarını, yönlendirme tablolarını ve ağ arayüzü istatistiklerini gösterir.

Diğer Faydalı Komutlar

clear

Terminal ekranını temizler.

history

Girilen komutların geçmişini gösterir.

man (Manual – Kılavuz)

Bir komut hakkında yardım kılavuzunu gösterir.

  • man ls: ls komutu hakkında yardım kılavuzunu gösterir.

open

Dosyaları ve uygulamaları açar.

  • open dosya.txt: “dosya.txt” dosyasını varsayılan uygulamasıyla açar.
  • open .: Finder’da mevcut dizini açar.

sudo (Super User Do – Süper Kullanıcı Yap)

Bir komutu yönetici yetkileriyle çalıştırmak için kullanılır.

  • sudo komut: Belirtilen komutu yönetici yetkileriyle çalıştırır. (Parola gerektirir.)

grep

Dosyalar içinde belirli bir metni arar.

  • grep "aranacak_metin" dosya.txt: dosya.txt içinde “aranacak_metin” kelimesini arar.
  • grep -r "aranacak_metin" klasor: klasor ve alt klasörlerindeki tüm dosyalarda “aranacak_metin” kelimesini arar.

Kısayollar

  • Tab: Dosya ve klasör adlarını otomatik tamamlama.
  • Ctrl + A: Satırın başına git.
  • Ctrl + E: Satırın sonuna git.
  • Ctrl + U: İmleçten önceki satırı sil.
  • Ctrl + K: İmleçten sonraki satırı sil.
  • Ctrl + W: İmleçten önceki kelimeyi sil.
  • Ctrl + C: Çalışan işlemi

Dosya İzinleri (Permissions)

Unix tabanlı sistemlerde (macOS dahil), dosyaların ve klasörlerin erişim izinleri önemlidir. Bu izinler, hangi kullanıcıların dosyaları okuyabileceğini, yazabileceğini ve çalıştırabileceğini belirler.

chmod (Change Mode – Mod Değiştir)

Dosya ve klasörlerin izinlerini değiştirmek için kullanılır. İzinler, üç farklı kullanıcı kategorisi için (sahip, grup, diğerleri) üç farklı izin türünü (okuma, yazma, çalıştırma) ifade eden sekizli (octal) sayılarla temsil edilir.

  • Okuma (r): 4
  • Yazma (w): 2
  • Çalıştırma (x): 1

Örneğin, 755 izni, sahip için tam izinler (4+2+1=7), grup ve diğerleri için ise okuma ve çalıştırma izinleri (4+1=5) anlamına gelir.

  • chmod 755 dosya.txt: “dosya.txt” dosyasının izinlerini 755 olarak değiştirir.
  • chmod -R 755 klasor: “klasor” ve içindeki tüm dosyaların ve klasörlerin izinlerini 755 olarak değiştirir. (-R, “recursive” yani yinelemeli anlamına gelir.)

chown (Change Owner – Sahip Değiştir)

Dosya ve klasörlerin sahipliğini değiştirir.

  • chown kullanici:grup dosya.txt: “dosya.txt” dosyasının sahibini “kullanici” ve grubunu “grup” olarak değiştirir.
  • sudo chown -R kullanici:grup klasor: “klasor” ve içindeki tüm dosyaların ve klasörlerin sahipliğini “kullanici” ve “grup” olarak değiştirir. (sudo gerektirir çünkü sahiplik değiştirmek yönetici yetkisi gerektirir.)

Dosya Arama ve Metin İşleme

find

Dosyaları ve klasörleri belirli kriterlere göre aramak için kullanılır.

  • find . -name "dosya.txt": Bulunduğunuz dizinde “dosya.txt” adlı dosyayı arar.
  • find . -name "*.txt": Bulunduğunuz dizinde uzantısı “.txt” olan tüm dosyaları arar.
  • find . -type d: Bulunduğunuz dizindeki tüm klasörleri arar.
  • find . -size +10M: Boyutu 10 MB’dan büyük olan tüm dosyaları arar.
  • find . -mtime -7: Son 7 günde değiştirilen tüm dosyaları arar.

grep (Global Regular Expression Print – Genel Düzenli İfade Yazdır)

Dosyalar içinde belirli bir metni arar ve eşleşen satırları gösterir. Düzenli ifadeler (regular expressions) kullanarak daha karmaşık aramalar yapabilirsiniz.

  • grep "metin" dosya.txt: “dosya.txt” dosyasında “metin” kelimesini arar.
  • grep -i "metin" dosya.txt: Büyük/küçük harf duyarlılığı olmadan “metin” kelimesini arar.
  • grep -r "metin" klasor: “klasor” ve alt dizinlerindeki tüm dosyalarda “metin” kelimesini arar.
  • grep -l "metin" *.txt: Geçerli dizindeki txt uzantılı dosyalardan hangilerinde “metin” geçtiğini listeler. Sadece dosya adlarını gösterir.
  • grep -v "metin" dosya.txt: “metin” kelimesini içermeyen satırları gösterir.

sed (Stream Editor – Akış Düzenleyici)

Metin dosyalarını düzenlemek için kullanılır.

  • sed 's/eski_metin/yeni_metin/g' dosya.txt: “dosya.txt” dosyasındaki tüm “eski_metin” örneklerini “yeni_metin” ile değiştirir.
  • sed -i 's/eski_metin/yeni_metin/g' dosya.txt: Değişiklikleri doğrudan dosyaya yazar. (Dikkatli kullanın!)

awk

Metin dosyalarını işlemek ve biçimlendirmek için güçlü bir araçtır.

Dosya Sıkıştırma ve Arşivleme

tar (Tape Archive – Bant Arşivi)

Dosyaları ve klasörleri arşivlemek için kullanılır.

  • tar -cvf arsiv.tar dosyalar: “dosyalar”ı “arsiv.tar” adlı bir arşive oluşturur. (c: create – oluştur, v: verbose – detaylı çıktı, f: file – dosya adı)
  • tar -xvf arsiv.tar: “arsiv.tar” arşivini açar. (x: extract – çıkar)
  • tar -czvf arsiv.tar.gz dosyalar: “dosyalar”ı sıkıştırılmış bir “arsiv.tar.gz” arşivi oluşturur. (z: gzip ile sıkıştırma)
  • tar -xzvf arsiv.tar.gz: “arsiv.tar.gz” arşivini açar.

zip

Dosyaları sıkıştırmak için kullanılır.

  • zip arsiv.zip dosyalar: “dosyalar”ı “arsiv.zip” adlı bir zip dosyasına sıkıştırır.

unzip

Zip dosyalarını açmak için kullanılır.

  • unzip arsiv.zip: “arsiv.zip” dosyasını açar.

Ağ İşlemleri (Daha Detaylı)

curl

Veri transferi için kullanılır. Web sayfalarını indirmek, API’lerle etkileşim kurmak vb. için kullanılabilir.

  • curl [geçersiz URL kaldırıldı]: Belirtilen URL’deki web sayfasının içeriğini görüntüler.
  • curl -O [geçersiz URL kaldırıldı]/dosya.zip: Belirtilen URL’deki dosyayı indirir.

wget

Dosya indirmek için kullanılır.

  • wget [geçersiz URL kaldırıldı]/dosya.zip: Belirtilen URL’deki dosyayı indirir.

ssh (Secure Shell – Güvenli Kabuk)

Uzak bir sunucuya güvenli bir şekilde bağlanmak için kullanılır.

  • ssh kullanici@sunucu_adresi: “kullanici” adıyla “sunucu_adresi”ne SSH bağlantısı kurar.

scp (Secure Copy – Güvenli Kopyalama)

Dosyaları ve klasörleri uzak bir sunucuya güvenli bir şekilde kopyalamak için kullanılır.

  • scp dosya.txt kullanici@sunucu_adresi:/uzak/dizin/: “dosya.txt” dosyasını uzak sunucudaki “/uzak/dizin/” klasörüne kopyalar.

Diğer Faydalı Komutlar (Devam)

history (Daha Detaylı)

Komut geçmişinizi görüntüler ve yönetir.

  • history: Tüm komut geçmişini listeler.
  • history | grep "aranacak_komut": Geçmişte girilen komutlar arasında “aranacak_komut” geçenleri filtreler.
  • !sayi: Geçmişteki belirli bir satırdaki komutu tekrar çalıştırır. Örneğin !10 geçmişteki 10. komutu çalıştırır.

alias

Komutlara kısayollar tanımlamak için kullanılır.

  • alias lsla='ls -la': lsla yazdığınızda ls -la komutunun çalışmasını sağlar.
  • unalias lsla: Tanımladığınız alias’ı siler.

xargs

Standart girdiyi komut satırı argümanlarına dönüştürmek için kullanılır.

pbcopy ve pbpaste

Terminalden panoya kopyalama ve panodan terminale yapıştırma için kullanılır.

  • cat dosya.txt | pbcopy: “dosya.txt” dosyasının içeriğini panoya kopyalar.
  • pbpaste: Panodaki içeriği terminale yapıştırır.

Süreç Yönetimi (Process Management)

top (Daha Detaylı)

top komutu, sisteminizdeki çalışan süreçleri gerçek zamanlı olarak gösterir. Bu, hangi işlemlerin en fazla CPU, bellek veya diğer kaynakları kullandığını görmek için çok kullanışlıdır.

  • top: Temel bilgileri gösterir.
  • top -o cpu: İşlemleri CPU kullanımına göre sıralar.
  • top -o mem: İşlemleri bellek kullanımına göre sıralar.
  • top -u kullanici_adi: Belirli bir kullanıcının işlemlerini gösterir.
  • q: top uygulamasından çıkmak için kullanılır.

top içindeyken aşağıdaki tuşları kullanarak görüntülenen bilgileri değiştirebilirsiniz:

  • P: CPU kullanımına göre sıralar.
  • M: Bellek kullanımına göre sıralar.
  • O: Alanları özelleştirmenizi sağlar.
  • Q: top uygulamasından çıkar.

kill (Daha Detaylı)

kill komutu, çalışan bir süreci sonlandırmak için kullanılır. Sürecin PID’sini (Process ID – İşlem Kimliği) bilmeniz gerekir.

  • ps aux | grep uygulama_adi: Belirli bir uygulamanın PID’sini bulmak için ps ve grep komutlarını birlikte kullanabilirsiniz.
  • kill PID: Belirtilen PID’ye sahip süreci normal şekilde sonlandırır. Bu, uygulamaya kapanması için bir sinyal gönderir.
  • kill -9 PID: Belirtilen PID’ye sahip süreci zorla sonlandırır. Bu, uygulamanın aniden kapanmasına neden olur ve veri kaybına yol açabilir. Bu nedenle, yalnızca normal kill komutu işe yaramadığında kullanılmalıdır.

pgrep

İşlem adıyla PID bulmak için daha kolay bir yol sağlar.

  • pgrep uygulama_adi: uygulama_adi içeren işlemlerin PID’lerini listeler.
  • kill $(pgrep uygulama_adi): uygulama_adi içeren tüm işlemleri sonlandırır.

Ağ Komutları (Daha Detaylı)

netstat (Yerine ss komutu daha yaygın)

Ağ bağlantılarını, dinleme portlarını, yönlendirme tablolarını ve ağ istatistiklerini gösterir. netstat komutu artık bazı sistemlerde varsayılan olarak bulunmamaktadır. Yerine ss komutu daha yaygın olarak kullanılmaktadır.

  • ss -tuln: TCP ve UDP dinleme portlarını ve bağlantılarını gösterir.
  • ss -t: TCP bağlantılarını gösterir.
  • ss -u: UDP bağlantılarını gösterir.

dig

DNS sorguları yapmak için kullanılır. Bir alan adının IP adresini, MX kayıtlarını ve diğer DNS bilgilerini öğrenmek için kullanışlıdır.

  • dig google.com: google.com’un A kaydını (IP adresini) gösterir.
  • dig google.com MX: google.com’un MX kayıtlarını (posta sunucularını) gösterir.

nslookup

DNS sorguları yapmak için başka bir komuttur. dig kadar kapsamlı olmasa da temel DNS bilgilerini öğrenmek için kullanılabilir.

  • nslookup google.com: google.com’un IP adresini gösterir.

Dosya ve Dizin İşlemleri (Daha Detaylı)

du (Disk Usage – Disk Kullanımı)

Dosya ve dizinlerin disk alanını nasıl kullandığını gösterir.

  • du -sh klasor_adi: “klasor_adi” klasörünün toplam boyutunu insan tarafından okunabilir bir formatta (örneğin, 10M, 2G) gösterir.
  • du -a: Tüm dosyaların ve alt dizinlerin boyutlarını gösterir.
  • du -h: Boyutları insan tarafından okunabilir bir formatta gösterir.

df (Disk Free – Boş Disk)

Disk alanının kullanımını ve boş alan miktarını gösterir.

  • df -h: Disk alanının kullanımını insan tarafından okunabilir bir formatta gösterir.

ln (Link – Bağlantı)

Dosyalara bağlantılar oluşturur. İki tür bağlantı vardır: sembolik bağlantılar (soft links) ve sabit bağlantılar (hard links).

  • ln -s hedef_dosya bağlantı_adı: “hedef_dosya”ya sembolik bir bağlantı oluşturur. Sembolik bağlantı, hedef dosyanın bir kısayolu gibidir.
  • ln hedef_dosya bağlantı_adı: “hedef_dosya”ya sabit bir bağlantı oluşturur. Sabit bağlantı, hedef dosyanın aynı disk bölümünde başka bir adıdır.

Metin İşleme (Daha Detaylı)

sed (Daha Detaylı)

sed komutu, metin dosyalarını düzenlemek için çok güçlü bir araçtır.

  • sed 's/eski_metin/yeni_metin/g' dosya.txt: “dosya.txt” dosyasındaki tüm “eski_metin” örneklerini “yeni_metin” ile değiştirir. g bayrağı, satırdaki tüm eşleşmeleri değiştirir.
  • sed 's/eski_metin/yeni_metin/' dosya.txt: Sadece satırdaki ilk eşleşmeyi değiştirir.
  • sed -i 's/eski_metin/yeni_metin/g' dosya.txt: Değişiklikleri doğrudan dosyaya yazar. (Çok dikkatli kullanın, geri dönüşü yoktur!)
  • sed 'd' dosya.txt: Dosyanın tüm içeriğini siler (ekrana yazdırmaz).
  • sed '2d' dosya.txt: Dosyanın 2. satırını siler.
  • sed '2,5d' dosya.txt: Dosyanın 2. ve 5. satırları arasındaki satırları siler.
  • sed '/metin/d' dosya.txt: içerisinde “metin” geçen satırları siler.

awk (Daha Detaylı)

awk komutu, metin dosyalarını işlemek ve biçimlendirmek için çok daha gelişmiş özellikler sunar.

  • awk '{print $1}' dosya.txt: “dosya.txt” dosyasındaki her satırın ilk alanını yazdırır (alanlar boşluklarla ayrılır).
  • awk '{print $1, $3}' dosya.txt: Her satırın ilk ve üçüncü alanlarını yazdırır.
  • awk -F',' '{print $1}' dosya.csv: Virgülle ayrılmış bir dosyanın (CSV) ilk alanını yazdırır. -F',' seçeneği, alan ayırıcısını virgül olarak belirtir.

Diğer Faydalı Komutlar (Devam)

pbcopy ve pbpaste (Daha Detaylı)

macOS’e özgü bu komutlar, terminal ile pano arasında veri alışverişi yapmanızı sağlar.

  • cat dosya.txt | pbcopy: “dosya.txt” dosyasının içeriğini panoya kopyalar. Böylece bu içeriği başka bir uygulamaya yapıştırabilirsiniz.
  • pbpaste > yeni_dosya.txt: Panodaki içeriği “yeni_dosya.txt” adlı bir dosyaya yapıştırır.

open (Daha Detaylı)

Dosyaları ve uygulamaları açmanın yanı sıra, open komutu URL’leri açmak için de kullanılabilir.

  • open [geçersiz URL kaldırıldı]: Varsayılan web tarayıcınızda belirtilen URL’yi açar.

xargs (Daha Detaylı)

xargs komutu, standart girdiyi komut satırı argümanlarına dönüştürmek için kullanılır. Bu, özellikle çıktıları başka komutlara girdi olarak aktarmak için kullanışlıdır.

  • find . -name "*.txt" -print0 | xargs -0 wc -l: Bulunduğunuz dizindeki tüm .txt dosyalarının satır sayılarını sayar. -print0 ve -0 seçenekleri, dosya adlarında boşluk veya özel karakterler olsa bile doğru çalışmasını sağlar.

Paket Yönetimi (Homebrew)

macOS’te paket yönetimi için en popüler araçlardan biri Homebrew’dur. Yazılımları kolayca kurmanızı, güncellemenizi ve kaldırmanızı sağlar. Homebrew’u kurmak için Terminal’e aşağıdaki komutu yapıştırın ve yönergeleri izleyin:

Bash

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Homebrew kurulduktan sonra aşağıdaki komutları kullanabilirsiniz:

  • brew update: Homebrew’u ve formüllerini günceller.
  • brew upgrade: Kurulu paketleri günceller.
  • brew install paket_adi: Belirtilen paketi kurar (örneğin, brew install wget).
  • brew uninstall paket_adi: Belirtilen paketi kaldırır.
  • brew search paket_adi: Belirtilen paket adını arar.
  • brew list: Kurulu paketleri listeler.
  • brew doctor: Sisteminizde Homebrew ile ilgili olası sorunları kontrol eder.

XCode Komut Satırı Araçları

Xcode yüklü olan sistemlerde, geliştirme için faydalı olan bazı komut satırı araçları da mevcuttur.

  • xcode-select --install: Xcode Komut Satırı Araçları’nı kurar.
  • xcodebuild: Xcode projelerini komut satırından derlemek için kullanılır.

Sistem Yapılandırması ve Bilgileri

system_profiler

Sisteminiz hakkında detaylı bilgiler gösterir.

  • system_profiler: Tüm sistem bilgilerini gösterir.
  • system_profiler SPSoftwareDataType: Sadece yazılım bilgilerini gösterir.
  • system_profiler SPHardwareDataType: Sadece donanım bilgilerini gösterir.

defaults

macOS ayarlarını komut satırından okumak ve değiştirmek için kullanılır.

  • defaults read com.apple.dock: Dock ayarlarını okur.
  • defaults write com.apple.dock autohide -bool true: Dock’u otomatik olarak gizlemeyi etkinleştirir.

scutil

Sistem yapılandırma dosyalarını yönetmek için kullanılır.

  • scutil --dns: DNS ayarlarını gösterir.

Dosya ve Dizin İşlemleri (Daha İleri Düzey)

rsync (Remote Sync – Uzak Senkronizasyon)

Dosyaları ve dizinleri senkronize etmek için güçlü bir araçtır. Özellikle yedekleme ve uzak sunucularla dosya senkronizasyonu için kullanışlıdır.

  • rsync -avz kaynak_dizin hedef_dizin: “kaynak_dizin” içeriğini “hedef_dizin”e senkronize eder. (a: archive – arşiv modu, v: verbose – detaylı çıktı, z: compression – sıkıştırma)
  • rsync -avz kaynak_dizin kullanici@uzak_sunucu:hedef_dizin: “kaynak_dizin” içeriğini uzak sunucuya senkronize eder.

find ve xargs Kombinasyonu (Daha Fazla Örnek)

find ve xargs komutlarını birlikte kullanarak çok güçlü işlemler gerçekleştirebilirsiniz.

  • find . -name "*.jpg" -print0 | xargs -0 sips -s format png: Bulunduğunuz dizindeki tüm .jpg dosyalarını .png formatına dönüştürür. (sips macOS’te resim işleme için kullanılan bir komuttur.)
  • find . -type f -name "*.txt" -print0 | xargs -0 grep "aranacak_metin": Bulunduğunuz dizindeki tüm .txt dosyalarında “aranacak_metin” kelimesini arar.

Metin İşleme (Daha İleri Düzey)

awk (Daha Fazla Örnek)

awk komutu ile daha karmaşık metin işleme işlemleri yapabilirsiniz.

  • awk '$3 > 100 {print $1, $2}' dosya.txt: “dosya.txt” dosyasındaki üçüncü alanı 100’den büyük olan satırların ilk ve ikinci alanlarını yazdırır.
  • awk '{sum += $1} END {print sum}' dosya.txt: “dosya.txt” dosyasındaki ilk alandaki sayıların toplamını hesaplar.

Komutları Birleştirme (Pipe ve Yönlendirme)

Terminalde komutları birleştirerek daha karmaşık işlemler yapabilirsiniz.

  • Pipe (|): Bir komutun çıktısını başka bir komuta girdi olarak aktarır. Örneğin, ls -l | grep "txt" komutu, dizindeki dosyaların detaylı listesini gösterir ve ardından “txt” içeren satırları filtreler.
  • Yönlendirme (>): Bir komutun çıktısını bir dosyaya yazar. Örneğin, ls -l > dosya_listesi.txt komutu, dizindeki dosyaların listesini “dosya_listesi.txt” adlı bir dosyaya yazar.
  • Ekleme (>>): Bir komutun çıktısını bir dosyanın sonuna ekler. Örneğin, ls -l >> dosya_listesi.txt komutu, dizindeki dosyaların listesini “dosya_listesi.txt” dosyasının sonuna ekler.

Kabuk Betikleri (Shell Scripts)

Tekrarlayan görevleri otomatikleştirmek için kabuk betikleri yazabilirsiniz. Bu betikler, bir dizi Terminal komutunu bir dosyada saklar ve tek bir komutla çalıştırılabilir.

Terminal Temaları ve Özelleştirme

Terminalin görünümünü ve davranışını özelleştirebilirsiniz. Tercihlerden yazı tipini, renkleri ve diğer ayarları değiştirebilirsiniz. Ayrıca, iTerm2 gibi daha gelişmiş terminal uygulamaları da mevcuttur.

İlgili Makaleler

Bir yanıt yazın

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

Başa dön tuşu