Por ejemplo, he git
instalado en mi sistema. Pero no recuerdo dónde lo instalé, entonces, ¿qué comando es adecuado para averiguarlo?
Por ejemplo, he git
instalado en mi sistema. Pero no recuerdo dónde lo instalé, entonces, ¿qué comando es adecuado para averiguarlo?
Respuestas:
Si está en su camino, puede ejecutar cualquiera type git
o which git
. El which
comando ha tenido problemas para obtener la ruta correcta (confusión entre el entorno y los archivos de puntos). Para type
, 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 calificarla locate -b git | fgrep -w bin
.
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 es sudo updatedb
... También locate
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
es un shell incorporado que me dice alias y tal, y which
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.
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
o locate
.
which
también es alentado.
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 tiene locate
, whereis
, which
, o apropos
(como Solaris, HP-UX, etc), entonces no es siempre el viejo recurso find
.
find / -name git
En algunas versiones anteriores de los sistemas enumerados anteriormente, es posible que necesite una -print
opción find
.
find / -name git -print
Y si lo usa locate
, asegúrese de ejecutarlo updatedb
periódicamente. ( locate.updatedb
en algunos derivados de BSD)
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. Entonces find / -name git
atravesará todo su sistema. Si sabe que el programa está en su camino, generalmente puede hacerlo IFS=":"; 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 su PATH
.
PATH
, lo correcto (con las mismas advertencias que antes) es IFS=":"; 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 a type
, o which
, o locate
, o sea, casi nadie. La respuesta de @ Arcege es correcta.
Para obtener la ruta al programa instalado, use whereis
o which
. Si olvida su nombre, puede usarlo apropos
con un sinónimo o una descripción de su utilidad, por ejemplo apropos "version control"
, encontrará git
. A continuación, por supuesto, está el whatis
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 ejemplo whatis "the meaning of life, universe and everything"
.
which
comando" de hecho :)