Örneğin, git
sistemime kurdum. Ama nereye monte ettiğimi hatırlamıyorum, bu yüzden bunu bulmak için hangi komut uygun?
Örneğin, git
sistemime kurdum. Ama nereye monte ettiğimi hatırlamıyorum, bu yüzden bunu bulmak için hangi komut uygun?
Yanıtlar:
Yolunuzdaysa, ya type git
da çalıştırabilirsiniz which git
. which
Komut sorunları doğru yol (çevre ve nokta dosyaları arasında karışıklık) elde etti. Çünkü type
, -p
argüman ile sadece yol alabilirsiniz .
Yolunuzda değilse, locate -b git
'git' adında bir şey bulacağı için aramanız en iyisidir . Uzun bir liste olacak, bu yüzden onu nitelendirmek için iyi olabilir locate -b git | fgrep -w bin
.
locate
Sonsuza dek kullanırım (çok hızlı), ama farkında olmayanlar için locate
, sadece otomatik olarak Ubuntu'mda günlük olarak çalışan en son veritabanı güncellemesi kadar güncel. Yenileme komutu sudo updatedb
Ayrıca ... locate
böyle komutlar çalışır, böylece yerleşik regex yeteneği: locate -br "^git$"
... -b` araçlar sadece aramayı kısıtlamak basename ... ya olmaksızın -b
, tam yol adını arar .. Ayrıca , sadece arama yapmak için yapılandırdığınız yolları arar .. regex filtrelerinizden başka komut satırı kontrolü yoktur.
type
bana takma adlar ve benzeri söyleyen bir kabuk yerleşimi ve çalıştırılabilir olanın which
yolunu gösteren harici bir program. bu çalıştırılabilir çağrılmayacak şekilde.
which
kabuk yerleşiklerini ve işlevlerini (komutun ne yazacağını merak ettiğinizde alakalı) bilmediği ve $PATH
bazı sistemlerde farklı bir yöntem kullandığıdır .
POSIX standardı Bunu yapmanın yolu command -v git
. UNIX benzeri tüm sistemler bunu desteklemelidir.
whereis git
ve komuta giden yolu alırsın.
bu sadece git PATH değişkeninde ise, paket yöneticinize yüklememiş olmanız durumunda, daha karmaşıktır ve find
ya da locate
komutlarını kullanmalısınız .
which
da teşvik edilmektedir.
Burada diğer cevaplar büyük ölçüde Linux modern versiyonları yönelik gibi görünüyor, bu nedenle kullanmak olur git
bulunmayan bir OS üzerinde locate
, whereis
, which
, veya apropos
(Solaris, HPUX, vb gibi), sonra hep eski bekleme yoktur find
.
find / -name git
Yukarıda listelenen sistemlerin bazı eski sürümlerinde, size -print
sağlanan bir seçeneğe ihtiyacınız olabilir find
.
find / -name git -print
Ve kullanırsanız locate
, updatedb
düzenli aralıklarla koştuğunuzdan emin olun . ( locate.updatedb
bazı BSD türevlerinde)
type
. :) Bu kesinlikle repertuarda gidiyor!
find
kök dizini yaptığınız yerden başlayarak tam bir ilk dosya sistemi araştırması yaptığını belirtmeye değer. Böylece find / -name git
tüm sisteminizi geçecek. Programın yolunuzda olduğunu biliyorsanız, genellikle yapabileceğiniz bir şey IFS=":"; path=$PATH; set $path; for dir in $path; do find $dir -name git; done
olsa da, Unix dosya sistemlerinde garip karakterler varsa, bunun çeşitli şekillerde parçalanmasına izin verilebilir PATH
.
PATH
, doğru şey (öncekiyle aynı uyarılara sahip) IFS=":"; for dir in $PATH; do find "$dir" -name git; done
. Ayrıca, yinelemek için, bu cevap sadece hiç kimseye erişimi olmayan type
veya which
veya locate
hiç kimseye erişimi olmayan kişiler tarafından kullanılmalıdır . @ Arcege'nin cevabı doğru.
Yüklü Kullanmak ya programa yolunu almak için whereis
ya which
. Adını unutursanız, apropos
eş anlamlı veya yardımcı programınızın bir açıklaması ile kullanabilirsiniz , örneğin apropos "version control"
, bulacaktır git
. Bundan sonra elbette whatis
bir programın işlevini kısaca özetleme komutu veriliyor . Ancak bu, sisteminizdeki tüm programlar ve işlevler için geçerli değildir. Mesela dene whatis "the meaning of life, universe and everything"
.
which
command" gerçekten :)