Bilmem anlatabiliyor muyum, Terminalde en çok sevdiğim şey hız değil… alışkanlık. Hani bir komutu düşünmeden yazabilmek var ya, işte o his insanı ciddi anlamda kurtarıyor. Ama açık konuşayım: yıllar önce ben de .bashrc içine 200’den fazla alias doldurup kendimi “verimli” sanıyordum. Sonra fark ettim ki onların çoğu süs. Performans tiyatrosu. Tahmin eder misiniz? Günde bir kez bile kullanmadığım kısayollarla dosyayı şişirmenin pek bir manası yok.
2019’un sonlarında, İstanbul’da küçük bir SaaS ekibinde çalışırken bu mesele kafama dank etti. Aynı haftada üç farklı sunucuya girip aynı komutları tekrar tekrar yazınca “tamam” dedim, “burada gerçekten işe yarayan şeyler lazım.” O günden beri benim yaklaşımım basit: sık kullanılan yolları kısalt, geri kalanını olduğu gibi bırak. Bilhassa de uzak sunucularda iş yaparken bu kafa çok daha iyi çalışıyor.
Neden Her Şeyi Alias Yapmamalısın?
Garip gelecek ama, Bak şimdi, alias konusu ilk başta çok masum görünüyor. Bir kere yazıyorsun, sonra hep kullanıyorsun. Kulağa harika geliyor, değil mi? Ama işin aslı şu ki aşırı alias kullanımı seni hızlandırmıyor — bazen tam tersine yavaşlatıyor. Başka bir makinede, başka bir kabukta ya da yeni açtığın temiz bir ortamda o kısayollar yoksa beynin kısa devre yapıyor. Düz. Anında.
Eh, Ben bunu 2023 baharında Ankara’daki bir danışmanlık projesinde net yaşadım; kendi laptop’umda her şey pürüzsüzken müşterinin bastığı Ubuntu sunucusunda aynı rahatlığı bulamadım, çünkü bazı takma adlar tanımlı değildi. Reflekslerim boşa düştü, — ki bu tartışılır — adeta zihinsel bir çukura düştüm orada. İşte tam o noktada anladım: en iyi alias, her yerde çalışan ve sürpriz yaratmayandır.
Bir dakika — bununla bitmedi.
Bir şey dikkatimi çekti: Bir de şöyle düşünün… Alias ne kadar kısa olursa olsun, eğer ne yaptığını gizliyorsa değeri düşüyor. Mesela gs deyince herkes git status olduğunu az çok biliyor. Ama xk9 gibi anlamsız kısaltmalar? Karanlık sokak gibi. Hızlısın ama neye bastığını tam bilmiyorsun.
İyi alias, sizi düşündürmeyen değil; sadece gereksiz tuş vuruşlarını ortadan kaldıran alias’tır.
Bana Kalanlar: Gerçekten İşe Yarayan Kısayollar
Dizin gezme tarafı, benim için hâlâ en faydalı alanlardan biri. Şu aileyi yıllardır tutarım:
# ~/.bashrc
alias..='cd..'
alias...='cd../..'
alias....='cd../../..'
alias -='cd -'
- özellikle güzel; son dizine geri dönmek günlük iş akışında fena halde pratik oluyor. İki proje arasında gidip gelirken, mesela log klasöründen kaynak koduna atlayıp sonra tek hamlede geri dönmek — bayağı rahatlatıcı. Denediniz mi hiç?
Git tarafında ben de uzun süre fazla oynadım. Sonunda sadeleşmeye gittim. gs, ga, gc, gp, gl, gd — bunlar yeterli geliyor çoğu zaman. Gerisi süsleme.
| Kısayol | Açılımı | Neden Kalıyor? |
|---|---|---|
gs |
git status |
Sık kontrol edilir, kısa ve net. |
gl |
git log --oneline --graph -20 |
Tarihçeyi hızlı okumak için ideal. |
- |
cd önceki klasöre dönüş sağlar. | Anında bağlam değiştirirken kurtarır. |
hg |
history | grep |
Eski komutu hatırlamak için hayat kurtarır. |
Neyse uzatmayalım… burada mantık şu: git komutunun ne yaptığını gizlemeyen kısa yollar iyidir. Mesaj argümanını da büyütüp işi karmaşıklaştırmaya gerek yok zaten.
Sadece Kısaltma Değil: Küçük Fonksiyonlar da Lazım Oluyor
Bazı işler alias ile çözülmüyor. Fonksiyon gerekiyor. Mesela şunlar:
cdf() {
cd "$1" || return
ls
}
mkcd() {
mkdir -p "$1" && cd "$1"
}
Bu tarz fonksiyonlar özellikle küçük ekiplerde işe yarıyor; sık tekrarlanan minik ritüelleri tek nefeste hallediyor çünkü. Ben bunu ilk kez 2022’de İzmir’de freelance çalışırken kullandım — yeni proje klasörü açıp içine girme işi öyle çok tekrar ediyordu ki, sabahın erken saatlerinde ayrı satır yazmak bile sinir bozucu gelmeye başlamıştı.
Ha bu arada… Fonksiyonların hem avantajı hem dezavantajı var: Bu konuyla ilgili Bir Web Uygulamasıyla Kötü Anıları Yakmak: Garip Derecede İyi Fikir yazımıza da göz atmanızı tavsiye ederim.
- Esnek oluyorlar — bu güzel.
- Ama fazla karmaşıklaşabilirler.
- Hata ayıklaması alias’a göre biraz daha zor olur.
- Takımımdaki herkes aynı shell davranışını bilmeyebilir.
Küçük startup için bu tarz fonksiyonlar şahane olabilir; ekip azdır, ortak alışkanlık kurmak kolaydır. Enterprise tarafta ise dikkat gerekir — çünkü herkesin terminal ayarı farklıysa sürpriz çıkması an meselesi. Ciddi ciddi.
Safety Net Kurmadan Geçme
Açıkçası, Açık konuşayım: beni en çok kurtaran şey hız değil, güvenlik oldu. Şu üçlü bence hâlâ altın değerinde:
cp='cp -i'mv='mv -i'rm='rm -i'
Tuhaf ama, Bu satırlar küçük görünüyor. Ama yanlış dosyayı ezmenin önüne geçince kıymeti ortaya çıkıyor. Bir keresinde Kasım 2021’de Bursa’daki test ortamında aceleyle çalışırken önemli bir config dosyasını silmek üzereydim; prompt uyarısı olmasa işler çorbaya dönebilirdi. İşte o gün bugündür bu korumaları kapatmıyorum. Bu konuyla ilgili Braves Booth’ta Sessiz Devrim: Ekran Sıkışınca Her Şey Değişiyor yazımıza da göz atmanızı tavsiye ederim.
Gel gelelim dürüst olayım: sürekli onay istemek bazen can sıkar. Mesela toplu işlem yaparken insan “yeter artık” diyor. Ama gündelik kullanımda bu küçük sürtünme bedeli çoğu zaman kabul edilebilir kalıyor — ucuz sigorta gibi düşünün yani.
Eğer Git dışındaki araçlarla da çalışıyorsanız alias’leri minimumda tutup gerçekten sık kullandığınız akışlara odaklanın.
Aksi halde.bashrc dosyanız büyür, okunması zorlaşır ve taşınabilirlik düşer.
Peki Ya ls? İşte Asıl Günlük Sürtünme Orada Başlıyor
Bence Linux terminalindeki en tartışmalı konu bazen ls çıkıyor. Varsayılan çıktı idare eder ama modern geliştirme ortamında yetmez. Dosya türlerini anlamak için ekstra göz kaydırmak istemiyorum — direkt bakıp anlayayım istiyorum.
Bunun için genelde şu yaklaşımı severim:
ls --color=auto -Fll→ls -lala→ls -A— ciddi fark yaratıyor
Bir dönem renkli çıktıya fazla bel bağlamıştım (şaşırtıcı ama gerçek). Ama renge bağımlılık biraz riskli olabiliyor; özellikle eski terminallerde ya da uzaktan bağlantıda renk fark etmeyince bilgiler uçuyor gibi hissediyorsunuz. Hmm, nasıl desem… görsel konfor bazen sizi yanıltabiliyor.
Daha İyi Sıralama İçin Ufak Dokunuşlar
İtiraf edeyim, Asıl can sıkıcı nokta sıralama meselesi (şaşırtıcı ama gerçek). 10’un 2’den önce gelmesi klasik kabus. Log dosyalarında, migration isimlerinde veya semantik versiyon dizinlerinde bunu görünce insanın kaşı kalkıyor. Daha fazla bilgi için Xiaomi’nin Akıllı Perde Hamlesi: Evde Sessiz Konfor yazımıza bakabilirsiniz. AI ile Kurulan Uygulamalar Neden İşletmeleri Zorluyor? yazımızda da bu konuya değinmiştik. Florida Neden OpenAI’yi Mercek Altına Aldı? Yapay Zekâda Yeni Fren yazımızda da bu konuya değinmiştik.
Bu yüzden doğal sıralama yapan çözümler bence önemli. Mesela şunu düşünün: bir backup klasöründe tarih damgaları varsa alfabetik düzen sizi yanıltabilir, ama doğal sıralama insana daha yakın davranır — market rafına numara koymak gibi, ilk bakışta neyin önde olduğunu anlarsınız. Az önce “her şeyi güzelleştir” dedim ama aslında daha doğrusu şu: yalnızca yanlış anlaşılmayı azalt. O kadar.
Kendine Uygun Bir Set Kurmanın Mantığı
Burada sihir yok. Her .bashrc seti kişiye özel olmalı; internetten topladığınız yüzlerce satırı yapıştırmak kolay, (ki bu çoğu kişinin gözünden kaçıyor). Gerçek hayatta hangilerini kullandığınızı izlemek daha değerli. Çok daha değerli aslında.
Bunu yaşayan biri olarak söyleyeyim, Ben genelde üç aşamada ilerliyorum:
- Önce haftalık kullandığım komutları çıkarıyorum.
- Sonra bunların hangileri fazlalık veriyor diye bakıyorum.
- En sonunda sadece beyni boş yere meşgul etmeyenleri bırakıyorum.
Mesela Docker yoğun çalışan biri için ayrı kısayollar mantıklı olabilir; ancak sistem yöneticisiyseniz ağ araçları veya günlük analizi tarafına eğilirsiniz. Kurumsal projede ise takım standardizasyonu şarttır — aksi halde biri gs derken diğeri grc diye bambaşka şey kasteder, ve iletişim maliyeti sessizce artar. Farkında bile olmazsınız.
Bir dakika, şunu da ekleyeyim: iyi yapılandırılmış birkaç alias size günde toplam beş dakika kazandırsa bile yıl sonunda büyük fark yaratır. Ama gereksiz onlarcasını silmek de zihinsel yükü azaltır. E peki, sonuç ne oldu? İşte asıl kazanım orada saklı.
Sıkça Sorulan Sorular
Bash alias nedir?
Bash alias, uzun komutların yerine geçen kısa takma addır. Genelde sık kullanılan işleri hızlandırmak için kullanılır ve terminalde yazma yükünü azaltır.
Peki function ile alias arasındaki fark ne?
Yani, Userland seviyesinde basit değiştirmeler için alias uygundur; parametre almak veya koşullu işlem yapmak gerektiğinde function daha iyi olur. İlginç, değil mi? Yani biri kalem ucu gibi ince iş içindir, diğeri küçük çakı gibi daha esnek davranır.
.bashrc dosyasına kaç tane alias koymalıyım?
Sabit sayı yok ama gerçekten kullandığınız kadar koymanız en doğrusu olurdurduğu*. Çok fazla tanımlama okuma zorluğu yaratır ve bakım yükünü artırır.
‘rm -i’ neden hâlâ öneriliyor?
,
“Çünkü yanlış silmeyi engelliyor.” Bu basit uyarı bazı durumlarda saatlerce uğraştıracak veri kaybının önüne geçebilir.
KAYNAKLAR VE İLERİ OKUMA
Çok konuştum, örnekle göstereyim.
Bu içerik işinize yaradı mı?
Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.



