OSX'te bir yürütülebilir dosyanın yolunu nasıl bulabilirim


46

Yürütülebilir dosyanın yolunu kolayca bulmak için kullanabileceğim bir komut var mı? Yerel makinemde tanımlamak için arıyorum - pwd gibi bir şey?

pwd identify
=> /usr/local/bin/identify

Yanıtlar:


60

which Sağladığınız argümanlar için yolunuzu arayacaktır, hemen hemen herhangi bir BSD veya SysV UNIX'te bulunur.

moriarty:~ dave$ which bash true false
/bin/bash
/usr/bin/true
/usr/bin/false

1
whichYine de çalışacak olan komut genellikle bu tür işleri yapmak için kullanılacak doğru araç değildir. Bu U & L ve Q, bir gör unix.stackexchange.com/questions/85249/...
slm

6
OSX'te, whichözel bir komut dosyası için (içinde olan $PATH) herhangi bir sonuç vermez . typeyapar.
wisbucky

17

Bash yerleşikini kullanırsanız, typebir komut için tüm (yoldaki) konumlarını gösterir:

$ type -a ls
ls is aliased to `ls --color=always'
ls is /bin/ls

$ type -a printf
printf is a shell builtin
printf is /usr/bin/printf

$ type -a touch
touch is /usr/bin/touch
touch is /bin/touch

Komut bir fonksiyon ise, fonksiyon tanımını listeler:

$ type -a somefunc
somefunc is a function
somefunc ()
{
    echo "hello, world"
}

Bu örnekler bir Ubuntu sistemindendir, ancak sonuçlar OS X için benzer olacaktır.


4
OSX'te, whichözel bir komut dosyasının yolunu (içinde bulunan $PATH) göstermez. typeyapar.
wisbucky

3

'yerini belirle'yi dene'


5
Bu, çalıştırılabilir PATH'inizde olmadığı için "hangisinin" işe yaramayacağı, ancak aynı zamanda istemediğiniz birçok şeyi dağıttığı zaman çalışır. İlk yol filtresi: "locate command | grep bin". İlk önce "hangisini" kullanın.
dmckee

0

Ne aradığına bağlı. Yardımcı programların çoğu, yol değişkenine bağlıdır. Ancak, aradığınız şey yol şansınızdaysa, aynı çalıştırılabilir dosyanın birden fazla kopyası olmadıkça nerede olduğunu bilmeniz gerekmez.

Bu, OSX’de çalışan çoğu şey için geçerli değildir, çünkü normal linux / unix ikili dosyaları gibi çalışmamaktadırlar. İşte yol ifadesinde olmayan şeyleri bulmak için bazı yöntemler.

bulmak:

sudo find / -name <FILE>

Bu, ilk argüman olarak verdiğiniz dosya sisteminde var olan her şeyi bulacaktır. Özel dizin aramak için root olarak çalıştırılması gerekir. Ayrıca adından tamamen emin değilseniz joker karakterleri de destekler.

Terminal:

Dosyayı bulucunuz varsa, bir terminal penceresi açıp dosyayı içine bırakabilirsiniz. Terminal ile sonra dosyanın tam yolunu görüntüler.

Spotlight:

Oldukça kendini açıklayıcı. Fi'nizin bir dizinini tutması için işlemci döngüleri bağışlıyorsunuz

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.