Alias Nedir? Alias İşlemleri Nelerdir?

ln Komutu ve Kullanımı başlıklı yazıda symbolic link açıklamasında alias (.aliases) ifadesine yer vermiştim. Bu yazıda bu konuyu biraz daha detaylandırmak istiyorum.

AA

Öncelikle alias yani takma ad nedir sorusunu cevaplandıralım. Alan adı, bir ifadenin isimlendirilmesi, bağlantılandırma... bir çok kapsamda karşımıza çıkan alias bir veriye takma ad tanımlanması, ilgili verinin işaretlenmesi olarak tarif edilebilir.

Esasında fiziksel olarak bir yapı oluşturmaz (değişken ya da dosya olarak durumun sunduğu yeteneklere göre işlenebilir) ancak var olan bir veriye ulaşmayı mümkün kılar. Örneğin, ln komutu ile oluşturduğumuz symbolic linkler bir dosyaya veya klasöre ulaşmakta kullanılır. Hedef dosya veya klasör kendi bağlamlarında işlemlerde yer alabilirler ancak symbolic link ilgili yazıda da belirttiğim gibi dosya gibi davranır ve hedefteki bir değişiklik (isim, dizin vb. değişiklikler) neticesinde işlevini kaybedebilir.

Domain alias (alan adı takma adı) ise iki farklı alan adının ortak bir barındırma alanına (hosting) işaret ediyor oluşu olarak özetlenebilir. Örneğin ornekwebsitesi1.com’un bağlı olduğu hosting alanına (aynı DNS) ornekwebsitesi2.com ile de erişebilirsiniz. Barındırma alanındaki bir değişiklikten ornekwebsitesi1.com ve ornekwebsitesi2.com etkilenir. Bu yazının konusu ise Unix temelli sistemlerde (Linux dağıtımları, macOS vb.) alias kullanımı.

Zsh alias

Komut Satırında Alias İşlemleri

Spesifik olarak komut satırını eklemiş olmamın nedeni, yazının ilk bölümünde de belirttiğim gibi alias teriminin bir çok farklı ortamda karşımıza çıkıyor, temel olarak benzeş görevleri ifade ediyor ancak kapsamların duruma göre değişiyor oluşu. Komut satırı üzerinde alias’ın işlevsel yetkinliği komutları ifade edecek kısa yollar (komutlara takma ad) eklenmesini sağlaması. Örneklerle biraz daha netlik kazanacaktır. Temel kullanımı şu şekilde:

alias [takma-ad]="[komutlar]"

Alias tanımlama işlemi var olan bir komuta yeni bir takma ad üzerine olabileceği gibi, bir dizi kod işlemini de ifade edecek şekilde gerçekleştirilebilir. Örneğin, benim sıklıkla kullandığım ls -la komutunu doğrudan ls üzerinden de tanımlayabilirim. Bunun için kullanacağım komut şu şekilde olacaktır.

alias ls="ls -la"

Tanımlanan bir alias unalias komutuyla pratik bir şekilde silinebilir.

unalias [olusturulan-alias]

Oluşturulan bir alias silinmediği durumda oturum boyunca tanımlandığı işlevi karşılayacaktır. Oturumun sonlanmasıyla birlikte ön tanımlı işlevlere geri dönülür. Ancak, sıklıkla benzer görevler atadığınız bir alias’ı pratik bir şekilde kalıcı hale getirebilirsiniz. Bunun için kullanılan kabuk (komut dili yorumlayıcısı) ayar dosyasına alias’ın tanımlanması gerekmektedir.

nano ~/.zshrc
alias update = "sudo apt-get update"
alias c = "clear"
alias download = "sudo apt-get install"

Örneğin bash için ayar dosyası erişimi .bashsrc ve oh my zsh için .zshrc olacaktır1. Unutmadan, zsh alias tanımlama işleminden sonra alias kullanmak istediğinizde source: no such file or directory hatası verebilir.

zsh -i

Bu hatayı aldığımızda, yapmanız gereken değişiklikleri -i ile haberdar etmek, hepsi bu kadar. Ardından tanımladığımız takma adları kullanmaya başlayabiliriz.