Linux'ta which Komutu [Örneklerle] ⋆ ALexHost SRL

Tüm Barındırma hizmetlerimizde becerilerinizi test edin ve % 15 indirim kazanın!

Ödeme sırasında kodu kullanın:

Skills
14.02.2025
No categories

Linux’ta which Komutu [Örneklerle]

Hangi Komut nedir?

Which komutu, PATH ortam değişkeninde belirtilen dizinlerdeki çalıştırılabilir dosyaların konumunu arar. Terminalde bir komut yazdığınızda, Linux OS çalıştırılabilir dosyayı bulmak için PATH’de listelenen dizinlerde arama yapar. Which komutu size bu dizinlerde bulduğu komutun ilk örneğini gösterir.

Temel Sözdizimi

which [options] [command_name]
  • [seçenekler]: Which komutunun davranışını değiştirmek için isteğe bağlı bayraklar.
  • [command_name]: Bulmak istediğiniz komutun veya yürütülebilir dosyanın adı.

Neden which Komutu Kullanılmalı?

  • Yürütülebilir Yolları Doğrulayın: Bir yürütülebilir dosyanın hangi sürümünün kullanıldığını belirlemeye yardımcı olur.
  • Bir Komutun Yüklü Olup Olmadığını Kontrol Et: Belirli bir programın yüklü olup olmadığını ve PATH’inizde mevcut olup olmadığını doğrulamak için kullanışlıdır.
  • KomutDosyalarındaHata Ayıklama: Kodlarda hata ayıklama yaparken, kodunuzun bir programın doğru sürümünü kullandığından emin olmanıza yardımcı olabilir.

Örnek 1: Bir Komutun Yolunu Bulma

En yaygın kullanımı, bir komutun veya çalıştırılabilir dosyanın yolunu bulmaktır. Örneğin, python3 çalıştırılabilir dosyasının nerede olduğunu öğrenmek istiyorsanız, çalıştırın:

which python3

Çıktı:

/usr/bin/python3

Bu çıktı python3 çalıştırılabilir dosyasının /usr/bin dizininde bulunduğunu gösterir.

Örnek 2: Birden Fazla Komutu Kontrol Etme

Her birinin yolunu görmek için which komutunu aynı anda birden fazla komutla birlikte kullanabilirsiniz:

which python3 gcc git

Çıktı:

/usr/bin/python3
/usr/bin/gcc
/usr/bin/git

Bu komut python3, gcc ve git’in konumlarını tek seferde kontrol eder ve her komut için yolu gösterir.

Örnek 3: Hangisini Takma Adlarla Kullanma

Bir komut için ayarlanmış bir takma adınız varsa, bu bazen takma adın tanımlanmasına da yardımcı olabilir. Örneğin, çıktıya renk ekleyen bir ls takma adınız varsa:

alias ls='ls --color=auto'
which ls

Çıktı:

alias ls='ls --color=auto'
/bin/ls

Bu durumda, ls’nin /bin/ls komutuna işaret eden bir takma ad olduğunu gösterir. Bu, özel takma adların nasıl çözümlendiğini anlamak için yararlı olabilir.

Örnek 4: Bir Komutun Tüm Örneklerini Bulma (-a Seçeneği)

A seçeneği, bir komutun sadece ilkini değil, PATH’inizde bulunan tüm örneklerini görmenizi sağlar:

which -a python3

Çıktı:

/usr/bin/python3
/usr/local/bin/python3

Bu örnek, PATH’de belirtilen dizinlerdeki tüm python3 oluşumlarını gösterir. Birden fazla sürüm yüklüyse ve bunların konumlarını bilmek istiyorsanız bu yararlı olabilir.

Pratik Kullanım Örnekleri

Bir Komutun Yüklü Olup Olmadığını Kontrol Etme

Which komutu, belirli bir programın yüklü olup olmadığını ve PATH’de mevcut olup olmadığını hızlı bir şekilde doğrulayabilir. Örneğin, curl’ün yüklü olup olmadığını kontrol etmek için:

which curl

Çıktı:

/usr/bin/curl

Çıktı bir yol gösteriyorsa, curl yüklü ve erişilebilir durumdadır. Hiçbir şey döndürmezse, komutun PATH’inizde bulunmadığı ve yüklenmesi gerekebileceği anlamına gelir.

PATH Sorunlarında Hata Ayıklama

Komutların bulunamamasıyla ilgili sorunlarla karşılaşırsanız veya bir komutun beklenenden farklı bir sürümü çalışıyorsa, yürütülebilir dosyanın nerede olduğunu belirlemeye yardımcı olabilir. Örneğin, belirli bir node sürümünü kullanmayı bekliyorsanız ancak yanlış sürüm çalışıyorsa:

which node

Çıktı:

/usr/local/bin/node

Yolu doğrulayarak, amaçladığınızdan farklı bir kurulumun kullanılıp kullanılmadığını belirleyebilirsiniz.

Sınırlamaları

Bu yararlı bir araç olsa da bazı sınırlamaları vardır:

  • Tüm Yolları Aramaz: Which komutu yalnızca PATH ortam değişkeninde listelenen dizinleri arar. Eğer bir program PATH’e dahil olmayan bir dizine yüklenmişse, which onu bulamaz.
  • Tüm Kabukları Kontrol Etmez: which kabuğunuza bağlı olarak farklı davranabilir (örneğin, bash, zsh). Bir kabuğa özgü takma adlar ve işlevler başka bir kabuk tarafından tanınmayabilir.
  • Takma Adlar ve İşlevler için Sınırlı Çıktı: Diğer adları gösterebilse de, diğer adlar ve işlevler hakkında daha fazla ayrıntı sağlayabilen type veya command -v gibi diğer komutlar kadar kapsamlı değildir.

Hangi alternatifler

  • type: Provides more detailed information about a command, including whether it is an alias, function, or built-in command.
    type python3
  • command -v: Similar to which, it is often preferred in scripts for better portability.
    command -v python3

Bu alternatifler bazen hangisine kıyasla daha doğru olabilir veya ek ayrıntılar sağlayabilir.

Sonuç

Which komutu, çalıştırılabilir dosyaları bulması, komut yollarını doğrulaması ve PATH ile ilgili sorunları ayıklaması gereken Linux kullanıcıları için değerli bir araçtır. Kullanımı kolaydır ve yüklü programların doğru sürümlerini kullandığınızdan emin olmanızı sağlayarak ortamları ayarlarken zaman kazandırabilir. Sınırlamaları olsa da, Linux sisteminizde komutların nerede çalıştırıldığını hızlı bir şekilde bulmak için kullanışlı bir komut olmaya devam ediyor.

Hangisini etkili bir şekilde kullanacağınızı anlamak, Linux ortamınızı yönetmede ve yaygın komut satırı sorunlarını gidermede daha yetkin olmanıza yardımcı olacaktır. Mutlu kodlamalar!

Tüm Barındırma hizmetlerimizde becerilerinizi test edin ve % 15 indirim kazanın!

Ödeme sırasında kodu kullanın:

Skills