LinkL v1.0 | Komutlara Sembolik Link Atayın!

LinkL v1.0


LinkL nedir?

LinkL, dosya biçimindeki tekil komutlara sembolik link atamanızı otomatikleştiren, kendimce yazdığım, açık kaynaklı ve MIT lisanslı minimal bir Python betiğidir.

Beta olmasına gerek bile kalmadı, çünkü zaten tek işlevli ve amacı çok basit: Komutlara sembolik link atamak.


Sembolik Link nedir?

Sembolik linkler, Linux sistemlerinde bir dosyaya işaret eden küçük dosyalardır. Bunu Windows’taki .lnk uzantılarıyla benzer sayabiliriz.

POSIX sistemlerde zaten her komut birer dosya olduğu için, o dosyalara link (özellikle sembolik link) atamak o komutun birebir aynısını, tüm bayrakları ve fonksiyonları dahil, atanan linkin ismi ile kullanabilmemizi sağlar. Hem de küçücük bir boyutla.

LinkL ise bu işi otomatikleştirir.


LinkL nasıl kullanılır?

LinkL’in kullanımı kolaydır.

  • Link atamak için: sudo linkl <mevcut komut> <yeni sembolik link>
  • Diğer işlem bayrakları için linkl --<bayrak>

Bayrak kullanmak için sudo’ya ihtiyaç yoktur, ayrıca sembolik link adlarında / kullanılamaz.

Bayraklar ise şöyledir:

  • --yardim: LinkL’in nasıl kullanılacağını ve çıkış kodlarının anlamlarını listeler.
  • --versiyon: LinkL’i kullandığınız sürümü gösterir.
  • --liste: /usr/local/bin (LinkL’in linkleri kaydettiği dizin burasıdır) altındaki linkleri listeler. Ancak listelenen her link LinkL ile oluşturulmamış olabilir. O dizinden dosya silmek risklidir. Sadece ne sildiğinizi biliyorsanız silin.

LinkL nasıl çalışıyor?

LinkL’in çalışma mantığı ise şu şekilde:

Önce şu 6 temel kontrolü yapıyor:

  • İşletim sistemi Linux çekirdekli mi?
  • LinkL kurulu mu?
  • Argümanlar kullanımı doğru mu?
  • Süper kullanıcı yetkisini aldı mı?
  • İstenen ad ve orijinal ad farklı mı?
  • Link atanması istenen komut sistemde var mı?

Eğer hepsi tamamsa, artık 2. işleme geçiyor: Link atama.

Link ataması yapmak için ln -sfn komutunu kullanıyor.
Örneğin, kullanıcı sudo linkl shutdown kapat derse, arka planda ln -sfn $(which shutdown) /usr/local/bin/kapat komutunu çalıştırıyor. Tabii ki de hiçbir şekilde shell=True kullanmıyor, which shutdown komutunun çıktısı subprocess ile yakalanıyor. İçiniz rahat olsun, bu sefer shell injection riski sıfır. :slight_smile:


LinkL nasıl kurulur?

Elbette bir GitHub sayfası yok. Elle kuruluyor.

İndirme linkine tıklayın, ardından linkl.py adlı dosyayı ev dizininizin tam içine ~/ indirin. Sonra sudo mv ~/linkl.py /usr/local/bin/linkl && sudo chmod 755 /usr/local/bin/linkl komutunu çalıştırın. LinkL kurulmuş olacak.


Keyifli kullanımlar! :slight_smile:

2 Beğeni