Skip to content
Bloga dön
Kariyer Linux komut satırı sistem yönetimi verimlilik bash terminal automation Mistral

Linux Komut Satırında Verimliliği Artıran 10 Pratik Komut ve Teknik

Linux komut satırını daha verimli kullanmak için gereken temel ve ileri düzey komutlar, ipuçları ve teknikler. Bu rehberde, sistem yöneticileri ve geliştiriciler için hayatı kolaylaştıracak pratik yöntemleri bulacaksınız.

Caner Serbest

Sistem ve Altyapı

6 dk okuma

Linux Komut Satırında Verimliliği Artıran 10 Pratik Komut ve Teknik

Linux komut satırı, sistem yöneticileri ve geliştiriciler için vazgeçilmez bir araçtır. Ancak, sadece temel komutları bilmek yeterli değildir. Verimliliği artırmak ve zaman kazanmak için bazı ileri düzey teknikleri ve pratik komutları öğrenmek gerekir. Bu rehberde, Linux komut satırını daha etkili kullanmanızı sağlayacak 10 pratik komut ve tekniği ele alacağız.


1. tmux ile Çoklu Terminal Oturumları Yönetme

Linux sistemlerinde çalışırken, aynı anda birden fazla terminal oturumuna ihtiyaç duyabilirsiniz. tmux (Terminal Multiplexer), bu ihtiyacı karşılamak için mükemmel bir araçtır. tmux sayesinde, birden fazla terminal penceresini tek bir oturumda yönetebilir, oturumları kaydedebilir ve uzaktan bağlantı koptuğunda bile çalışmalarınıza devam edebilirsiniz.

Temel tmux Komutları

KomutAçıklama
tmux new -s oturum_adiYeni bir tmux oturumu başlatır.
tmux lsMevcut oturumları listeler.
tmux attach -t oturum_adiBelirtilen oturuma geri döner.
Ctrl+b ardından cYeni bir pencere açar.
Ctrl+b ardından nBir sonraki pencereye geçer.
Ctrl+b ardından pBir önceki pencereye geçer.
Ctrl+b ardından dOturumdan ayrılır (otomatik olarak devam eder).

Örnek Kullanım

# Yeni bir oturum başlat
$ tmux new -s gelistirme

# Oturuma geri dön
$ tmux attach -t gelistirme

# Oturumdan ayrıl
Ctrl+b ardından d

2. jq ile JSON Verilerini İşleme

Modern sistemlerde, birçok API ve uygulama JSON formatında veri döndürür. Bu verileri terminalde okunabilir ve işlenebilir hale getirmek için jq aracı kullanılır. jq, JSON verilerini filtrelemek, dönüştürmek ve analiz etmek için güçlü bir araçtır.

Temel jq Kullanımı

# JSON verisini okuma
$ echo '{"isim": "Caner", "yas": 30, "meslek": "Sistem Yöneticisi"}' | jq

# Belirli bir alanı çıkarma
$ echo '{"isim": "Caner", "yas": 30, "meslek": "Sistem Yöneticisi"}' | jq '.isim'

# Koşullu filtreleme
$ echo '[{"isim": "Caner", "yas": 30}, {"isim": "Ayşe", "yas": 25}]' | jq '.[] | select(.yas > 25)'

Pratik Örnek: API Yanıtını İşleme

# Bir API'den JSON yanıtı alalım
$ curl -s https://api.github.com/users/canerserbest | jq '.name, .public_repos'

3. ag (The Silver Searcher) ile Hızlı Dosya Arama

Projelerde hızlıca dosya aramak için grep kullanabilirsiniz, ancak ag (The Silver Searcher) çok daha hızlı ve kullanışlıdır. ag, .gitignore dosyalarını dikkate alarak arama yapar ve sonuçları renkli olarak gösterir.

Temel ag Kullanımı

# Belirli bir dosya türünde arama
$ ag "veri kaybı" --html

# Belirli bir dizinde arama
$ ag "error" /var/log/

# Büyük/küçük harf duyarlı arama
$ ag -i "linux komut"

ag ve grep Karşılaştırması

Özellikaggrep
HızÇok hızlıOrta hızda
.gitignore desteğiEvetHayır
Renkli çıktıEvetEvet (varsayılan)
Regex desteğiEvetEvet

4. htop ile Sistem Performansını İzleme

Sistem performansını izlemek için top komutunu bilirsiniz, ancak htop çok daha kullanışlı ve görsel bir araçtır. htop, CPU, bellek ve disk kullanımını gerçek zamanlı olarak izlemenin yanı sıra, süreçleri kolayca yönetmenizi sağlar.

htop Kurulumu

# Debian/Ubuntu
$ sudo apt install htop

# RHEL/CentOS
$ sudo yum install htop

# Arch Linux
$ sudo pacman -S htop

htop Kullanımı

  • F1: Yardım menüsü
  • F2: Ayarlar
  • F3: Arama
  • F4: Filtreleme
  • F5: Ağaç görünümü
  • F6: Sıralama kriterini değiştirme
  • F9: Süreci öldürme
  • F10: Çıkış

5. rsync ile Veri Senkronizasyonu

Veri yedekleme ve senkronizasyonunda rsync en güvenilir araçlardan biridir. rsync, sadece değişiklikleri kopyaladığı için hızlı ve verimlidir. Ayrıca, yerel ve uzak sistemler arasında veri transferi yapabilir.

Temel rsync Kullanımı

# Yerel dizinleri senkronize etme
$ rsync -avz /kaynak/dizin/ /hedef/dizin/

# Uzak sisteme veri gönderme
$ rsync -avz -e ssh /kaynak/dizin/ kullanici@uzak_sunucu:/hedef/dizin/

# Uzak sistemden veri çekme
$ rsync -avz -e ssh kullanici@uzak_sunucu:/kaynak/dizin/ /hedef/dizin/

# Silinen dosyaları da senkronize etme (--delete)
$ rsync -avz --delete /kaynak/dizin/ /hedef/dizin/

rsync İpuçları

  • -a: Arşiv modu (tüm dosya özelliklerini korur)
  • -v: Ayrıntılı çıktı
  • -z: Veriyi sıkıştır
  • -P: İlerlemeyi göster ve kısmi transferleri devam ettir
  • --delete: Hedef dizinde kaynakta olmayan dosyaları sil

6. awk ile Metin İşleme

awk, metin işleme için güçlü bir komuttur. Özellikle log dosyalarını analiz etmek için sıklıkla kullanılır. awk, satırları sütunlara böler ve her sütun üzerinde işlem yapmanızı sağlar.

Temel awk Kullanımı

# Belirli bir sütunu çıkarma
$ echo "Caner 30 Sistem Yöneticisi" | awk '{print $1}'

# Koşullu filtreleme
$ cat /var/log/syslog | awk '/error/ {print $0}'

# Toplama işlemi
$ cat /var/log/nginx/access.log | awk '{sum += $10} END {print sum}'

Örnek: Log Dosyasından Hata Sayısını Bulma

$ cat /var/log/syslog | awk '/error/ {count++} END {print "Toplam hata sayısı: " count}'

7. sed ile Metin Düzenleme

sed (Stream Editor), metin dosyalarında arama, değiştirme ve silme işlemleri yapmak için kullanılır. Özellikle log dosyalarını temizlemek veya yapılandırmaları değiştirmek için oldukça kullanışlıdır.

Temel sed Kullanımı

# Belirli bir metni değiştirme
$ echo "Linux komut satırı" | sed 's/Linux/Unix/'

# Satır silme
$ sed '/hata/d' dosya.txt

# Satır ekleme
$ sed '5i\Yeni satır eklendi' dosya.txt

Örnek: Log Dosyasından Tarihleri Silme

$ sed 's/^[0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9] //' /var/log/syslog > temiz_syslog.txt

8. find ile Dosya Arama ve Yönetme

find komutu, dosya sisteminde belirli kriterlere göre dosya aramak için kullanılır. Dosya adına, boyutuna, değiştirilme tarihine ve diğer özelliklere göre arama yapabilirsiniz.

Temel find Kullanımı

# Belirli bir dosya adıyla arama
$ find /home -name "*.log"

# Dosya boyutuna göre arama (10MB'tan büyük)
$ find /var -size +10M

# Son 7 günde değiştirilen dosyaları bulma
$ find /etc -mtime -7

# Dosyaları silme (DİKKAT!)
$ find /tmp -name "*.tmp" -delete

Örnek: Belirli Bir Dizin Altındaki Tüm Boş Dizinleri Silme

$ find /var/www -type d -empty -delete

9. cron ile Zamanlanmış Görevler Oluşturma

Linux sistemlerinde tekrarlayan görevleri otomatikleştirmek için cron kullanılır. cron, belirli aralıklarla veya belirli saatlerde komutların çalıştırılmasını sağlar.

cron Dosyası Oluşturma

# Kullanıcı özelinde cron dosyası oluşturma
$ crontab -e

cron Sözdizimi

# Format: dakika saat gün ay haftanın_günü komut

# Her gün saat 03:00'te yedek alma
0 3 * * * /usr/bin/rsync -avz /veriler/ /yedekler/

# Her pazartesi saat 04:00'te logları temizle
0 4 * * 1 /usr/bin/find /var/log -name "*.log" -mtime +30 -delete

# Her 5 dakikada bir sistem yükünü kontrol et
*/5 * * * * /usr/bin/uptime >> /var/log/sistem_yuku.log

cron Hatalarını Giderme

  • crontab -l: Mevcut cron görevlerini listele
  • crontab -e: Cron görevlerini düzenle
  • /var/log/syslog: Cron görevlerinin loglarını kontrol et

10. alias ile Komutları Kısaltma

Sık kullandığınız komutları kısaltmak için alias kullanabilirsiniz. Bu, hem zaman kazandırır hem de komutları hatırlamayı kolaylaştırır.

Kalıcı alias Oluşturma

# Geçici alias (sadece mevcut oturumda geçerli)
$ alias ll='ls -alF'

# Kalıcı alias (her oturumda geçerli)
$ echo "alias ll='ls -alF'" >> ~/.bashrc
$ source ~/.bashrc

Örnek aliaslar

# Sık kullanılan komutları kısaltma
alias gs='git status'
alias ga='git add'
alias gc='git commit -m'
alias gp='git push'

# Sistem yönetimi komutları
alias meminfo='free -m -l -t'
alias cpuinfo='lscpu'
alias diskusage='df -h'

Sonuç

Linux komut satırı, sistem yöneticileri ve geliştiriciler için sonsuz olanaklar sunar. Bu rehberde ele aldığımız tmux, jq, ag, htop, rsync, awk, sed, find, cron ve alias gibi araçlar, verimliliğinizi artırmanıza yardımcı olacaktır. Bu araçları düzenli olarak kullanarak, Linux komut satırını daha etkili bir şekilde kullanabilir ve sistem yönetimi görevlerinizi kolaylaştırabilirsiniz.

Unutmayın, pratik yapmak ve bu araçları kendi projelerinizde kullanmak, becerilerinizi geliştirmenin en iyi yoludur. İyi çalışmalar!


Kaynakça


Bu yazı Mistral ile otomatik oluşturulmuştur.