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ı
| Komut | Açıklama |
|---|---|
tmux new -s oturum_adi | Yeni bir tmux oturumu başlatır. |
tmux ls | Mevcut oturumları listeler. |
tmux attach -t oturum_adi | Belirtilen oturuma geri döner. |
Ctrl+b ardından c | Yeni bir pencere açar. |
Ctrl+b ardından n | Bir sonraki pencereye geçer. |
Ctrl+b ardından p | Bir önceki pencereye geçer. |
Ctrl+b ardından d | Oturumdan 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ı
| Özellik | ag | grep |
|---|---|---|
| Hız | Çok hızlı | Orta hızda |
.gitignore desteği | Evet | Hayır |
| Renkli çıktı | Evet | Evet (varsayılan) |
| Regex desteği | Evet | Evet |
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 listelecrontab -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
- tmux Manual
- jq Manual
- The Silver Searcher (ag)
- htop Manual
- rsync Manual
- GNU Awk User’s Guide
- sed Manual
- find Manual
- cron Manual
- Bash Aliases
Bu yazı Mistral ile otomatik oluşturulmuştur.