Por ejemplo, he git
instalado en mi sistema. Pero no recuerdo dónde lo instalé, entonces, ¿qué comando es adecuado para averiguarlo?
terminal
system-calls
Anders Lind
fuente
fuente
which
comando" de hecho :)Respuestas:
Si está en su camino, puede ejecutar cualquiera
type git
owhich git
. Elwhich
comando ha tenido problemas para obtener la ruta correcta (confusión entre el entorno y los archivos de puntos). Paratype
, puede obtener solo el camino con el-p
argumento.Si no está en su camino, entonces es mejor buscarlo
locate -b git
. Encontrará cualquier cosa llamada 'git'. Será una lista larga, por lo que podría ser bueno calificarlalocate -b git | fgrep -w bin
.fuente
locate
sin parar (es muy rápido), pero para aquellos que no lo saben,locate
está tan actualizado como su actualización más reciente de la base de datos, que se ejecuta automáticamente todos los días en mi Ubuntu. El comando de actualización essudo updatedb
... Tambiénlocate
tiene la capacidad de expresión regular incorporada, por lo que comandos como este funcionan:locate -br "^git$"
... -b` significa restringir la búsqueda solo al nombre base ... o sin el-b
, busca el nombre de ruta completo. , solo busca las rutas que ha configurado para buscar.type
awhich
.which
Se confunde fácilmente .type
es un shell incorporado que me dice alias y tal, ywhich
es un programa externo que me muestra el camino hacia un ejecutable ... aunque si hay un incorporado que entra en el forma en que ese ejecutable no será llamado.which
son que no conoce las funciones y funciones integradas del shell (lo cual es relevante cuando te preguntas qué tipo de comando hará el comando), y utiliza un sistema diferente$PATH
en algunos sistemas.La forma estándar POSIX de hacer esto es
command -v git
. Todos los sistemas similares a UNIX deberían soportar esto.fuente
whereis git
y obtienes el camino hacia el comando.eso es solo si el git está en su variable PATH, en caso de que lo haya instalado no a través de su administrador de paquetes, es más complejo y debe usar los comandos
find
olocate
.fuente
which
también es alentado.type
, más bien, nowhich
. Consulte Cómo usarwhich
en un comando con alias?Las otras respuestas aquí parecen estar orientado en gran medida hacia las versiones modernas de Linux, por lo que si quieres pasar a utilizar
git
en un sistema operativo que no tienelocate
,whereis
,which
, oapropos
(como Solaris, HP-UX, etc), entonces no es siempre el viejo recursofind
.En algunas versiones anteriores de los sistemas enumerados anteriormente, es posible que necesite una
-print
opciónfind
.Y si lo usa
locate
, asegúrese de ejecutarloupdatedb
periódicamente. (locate.updatedb
en algunos derivados de BSD)fuente
type
; Es confiable y portátil (excepto para sistemas de 30 años).type
. :) Eso definitivamente va en el repertorio!find
realiza una búsqueda completa en profundidad del sistema de archivos a partir de donde sea que lo arraigue. Entoncesfind / -name git
atravesará todo su sistema. Si sabe que el programa está en su camino, generalmente puede hacerloIFS=":"; path=$PATH; set $path; for dir in $path; do find $dir -name git; done
, aunque los sistemas de archivos Unix son lo suficientemente permisivos como para que esto se rompa de varias maneras si tiene caracteres extraños en suPATH
.PATH
, lo correcto (con las mismas advertencias que antes) esIFS=":"; for dir in $PATH; do find "$dir" -name git; done
. Asimismo, reiterar, esta respuesta sólo debe ser utilizado por personas que no tienen acceso atype
, owhich
, olocate
, o sea, casi nadie. La respuesta de @ Arcege es correcta.Para obtener la ruta al programa instalado, use
whereis
owhich
. Si olvida su nombre, puede usarloapropos
con un sinónimo o una descripción de su utilidad, por ejemploapropos "version control"
, encontrarágit
. A continuación, por supuesto, está elwhatis
comando de resumir brevemente la función de un programa. Sin embargo, esto no se aplica a todos los programas y funciones de su sistema. Prueba por ejemplowhatis "the meaning of life, universe and everything"
.fuente