17 votos

¿Cómo encontrar todas las herramientas disponibles en mac terminal?

Estoy tratando de configurar un montón de proyectos de desarrollo en mi Mac. Tengo que ejecutar varias herramientas como python, ruby, scala, groovy, etc. Para ver si hay alguna herramienta disponible, uso opciones como

 ruby --version. 
 

En su lugar, me gustaría ver toda la lista de herramientas disponibles en el terminal Mac a través de un solo comando. ¿Cuál es el comando / opciones para ello?

25voto

Jose Chavez Puntos 645

Lo más fácil es simplemente abrir la Terminal y luego presionar la tecla TAB dos veces. Se le preguntará si desea ver todas las posibilidades: responda "y" y obtendrá la lista completa.

20voto

slm Puntos 118

Ver las respuestas de este U&L Q&A con el título: Lista de todos los comandos que un shell sabe .

Mi favorito personal es utilizar compgen ya que esta es parte de la familia de herramientas que se utilizan para la construcción de todas las tab cuando estás en un terminal y pulsa tab> + tab dos veces.

$ compgen -c

Ejemplo

$ compgen -c | tail
deepcopy-gen
kube-controller-manager
informer-gen
lister-gen
etcd
gen-apidocs
kube-apiserver
kubectl
kubebuilder
conversion-gen

Por cierto, si quieres saber donde uno de estos archivos ejecutables vidas en el disco duro de su uso type -a <cmd> para encontrar:

$ type -a ansible
ansible is aliased to `ANSIBLE_CONFIG=~/.ansible.cfg ansible'
ansible is /usr/local/bin/ansible

Esto muestra que el comando ansible es un alias y también vive localmente en el disco duro aquí: /usr/local/bin/ansible.

Referencias

5voto

Michael Zhou Puntos 167

Usted puede tomar la variable PATH y translate los dos puntos en los espacios a continuación, la lista de los archivos en los directorios.

ls  $(tr ':' ' ' <<<"$PATH")

Y como Pedro Cordes, los de arriba se romperá si las rutas de directorio tiene espacios en su nombre. En un subshell, cambiar el IFS (Internal Field Separator) a sólo un salto de línea y translate los dos puntos a saltos de línea.

( IFS=$'\n'; ls  $(tr ':' '\n' <<<"$PATH") )  

3voto

David Anderson Puntos 2189

Cuando un comando se instala, una entrada debería haber sido colocado en la whatis de la base de datos. Sin embargo, no hay ninguna obligación de hacerlo. Para obtener una descripción de la línea de comandos en la base de datos, escriba whatis seguido por el comando. Por ejemplo, la salida de entrar en whatis "ruby" a continuación se muestra.

erb(1)                   - Ruby Templating
irb(1)                   - Interactive Ruby Shell
ri(1)                    - Ruby API reference front end
ruby(1)                  - Interpreted object-oriented scripting language

Esta la whatis comando acepta expresiones regulares. Por lo tanto, para obtener una lista de todos los comandos en la base de datos, escriba el comando que se dan a continuación.

whatis "."

La página man de whatis afirma lo siguiente:

whatis búsquedas en un conjunto de archivos de base de datos que contienen descripciones cortas de los comandos del sistema para palabras clave y muestra el resultado en la salida estándar. Sólo complete la palabra partidos se muestran.

También existe un comando similar llamado apropos. La página man de apropos afirma lo siguiente:

a propósito de las búsquedas de un conjunto de archivos de base de datos que contienen descripciones cortas de los comandos del sistema para palabras clave y muestra el resultado en la salida estándar.

Básicamente, la diferencia es apropos no requiere la completa palabra de los partidos. Por ejemplo, whatis "string" no se encuentra una coincidencia cuando se enfrentan strings, pero apropos "string" lo haría.

1voto

Nimesh Neema Puntos 69

La adscripción de lo @jksoegaard ya se mencionó, la forma más sencilla es utilizar la Ficha característica de autocompletar en Bash. Golpear la Ficha dos veces la tecla de las listas de todos los disponibles shell de comandos internos, externos y los comandos de alias disponibles. Si usted introduzca las letras iniciales de un comando, la coincidencia de comandos aparecen al pulsar Tab dos veces la tecla.

Hay la 3ª parte de los gestores de paquetes disponible para macOS que permite la instalación de la línea de comandos de las herramientas que están disponibles en el idioma de instalación de macOS, o tienen su versión anterior instalada. Un par populares gestores de paquetes entre los desarrolladores de software Homebrew y MacPorts.

Por lo tanto, si usted está interesado en el más amplio espectro de herramientas de desarrollo disponibles para ejecutar en su Mac, usted también puede enumerar todos los de la línea de comandos de las herramientas disponibles para una fácil instalación y ejecutar por ejecutar brew search para Homebrew y port search de MacPorts. La ejecución de dichos comandos requieren los respectivos gestores de paquetes para ser instalado en su sistema.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by: