Por ejemplo, he gitinstalado en mi sistema. Pero no recuerdo dónde lo instalé, entonces, ¿qué comando es adecuado para averiguarlo?
terminal
system-calls
Anders Lind
fuente
fuente

whichcomando" de hecho :)Respuestas:
Si está en su camino, puede ejecutar cualquiera
type gitowhich git. Elwhichcomando 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-pargumento.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
locatesin parar (es muy rápido), pero para aquellos que no lo saben,locateestá 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énlocatetiene 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.typeawhich.whichSe confunde fácilmente .typees un shell incorporado que me dice alias y tal, ywhiches 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.whichson 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$PATHen 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 gity 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
findolocate.fuente
whichtambién es alentado.type, más bien, nowhich. Consulte Cómo usarwhichen 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
giten 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
-printopciónfind.Y si lo usa
locate, asegúrese de ejecutarloupdatedbperiódicamente. (locate.updatedben 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!findrealiza una búsqueda completa en profundidad del sistema de archivos a partir de donde sea que lo arraigue. Entoncesfind / -name gitatravesará 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
whereisowhich. Si olvida su nombre, puede usarloaproposcon un sinónimo o una descripción de su utilidad, por ejemploapropos "version control", encontrarágit. A continuación, por supuesto, está elwhatiscomando 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