Ad esempio, ho gitinstallato sul mio sistema. Ma non ricordo dove l'ho installato, quindi quale comando è adatto per scoprirlo?
Ad esempio, ho gitinstallato sul mio sistema. Ma non ricordo dove l'ho installato, quindi quale comando è adatto per scoprirlo?
Risposte:
Se si trova sul tuo percorso, puoi eseguire type gito which git. Il whichcomando ha avuto problemi a ottenere il percorso corretto (confusione tra ambiente e file dot). Per type, puoi ottenere solo il percorso con l' -pargomento.
Se non è sul tuo percorso, allora è meglio cercarlo con locate -b git Troverà qualsiasi cosa chiamata 'git'. Sarà un lungo elenco, quindi potrebbe essere utile qualificarlo locate -b git | fgrep -w bin.
locateall'infinito (è molto veloce), ma per chi non lo sapesse, locateè aggiornato solo come il suo aggiornamento del database più recente, che viene eseguito automaticamente ogni giorno sul mio Ubuntu. Il comando di aggiornamento è sudo updatedb... Ha anche la locatefunzionalità regex integrata, quindi comandi come questo funzionano: locate -br "^git$"... -b` significa limitare la ricerca al solo nome di base ... o senza il -b, cerca il percorso completo .. Inoltre , cerca solo i percorsi in cui è stato configurato per la ricerca. Non esiste un controllo da riga di comando diverso dai filtri regex.
typeè un shell incorporato che mi dice alias e simili, ed whichè un programma esterno che mi mostra il percorso di un eseguibile ... anche se se c'è un builtin che entra nel modo in cui quel file eseguibile non verrà chiamato.
whichè che non è a conoscenza dei built-in e delle funzioni della shell (il che è rilevante quando ti stai chiedendo che cosa farà la digitazione del comando), e ne usa uno diverso $PATHsu alcuni sistemi.
Il modo standard POSIX per farlo è command -v git. Tutti i sistemi simili a UNIX dovrebbero supportare questo.
whereis git e ottieni il percorso per il comando.
questo è solo se git è nella tua variabile PATH, nel caso in cui non lo hai installato tramite il tuo gestore pacchetti, è più complesso e dovresti usare i comandi findo locate.
whichè anche incoraggiato.
Le altre risposte qui sembrano essere in gran parte orientata verso le versioni moderne di Linux, quindi se vi capita di utilizzare gitsu un sistema operativo che non dispone locate, whereis, which, o apropos(come Solaris, HP-UX, ecc), quindi c'è sempre il vecchio standby find.
find / -name git
Una delle versioni precedenti dei sistemi sopra elencati, potrebbe essere necessaria -printun'opzione fornita a find.
find / -name git -print
E se lo usi locate, assicurati di eseguire updatedbperiodicamente. ( locate.updatedbsu alcuni derivati BSD)
type ; è affidabile e portatile (tranne che per i sistemi di 30 anni).
type. :) Questo è sicuramente nel repertorio!
findesegue una ricerca approfondita del file system partendo da qualsiasi posizione in cui viene effettuato il root. Quindi find / -name gitattraverserà l'intero sistema. Se sai che il programma è sulla tua strada di solito puoi farlo IFS=":"; path=$PATH; set $path; for dir in $path; do find $dir -name git; done, anche se i filesystem Unix sono abbastanza permissivi che questo può rompersi in una varietà di modi se hanno strani caratteri nel tuo PATH.
PATH, la cosa corretta (con le stesse avvertenze di prima) è IFS=":"; for dir in $PATH; do find "$dir" -name git; done. Inoltre, per ribadire, questa risposta deve essere utilizzato solo da persone che non hanno accesso a typeo which o locate , ad esempio, quasi nessuno. @ La risposta di Arcege è corretta.
Per ottenere il percorso del programma installato, utilizzare whereiso which. Se ti capita di dimenticare il suo nome, puoi usarlo aproposcon un sinonimo o una descrizione della tua utility, ad esempio apropos "version control"troverai git. Di seguito è ovviamente il whatiscomando di riassumere brevemente la funzione di un programma. Ciò tuttavia non si applica a tutti i programmi e le funzioni del sistema. Prova ad esempio whatis "the meaning of life, universe and everything".
whichcomando" davvero :)