sintaxis lista internos externos ejemplos completa comandos basicos linux command-line terminal

internos - lista completa de comandos linux pdf



Comando de Linux para enumerar todos los comandos y alias disponibles (21)

¿Hay un comando de Linux que enumere todos los comandos y alias disponibles para esta sesión de terminal?

Como si escribiera ''a'' y presionara la pestaña, pero para cada letra del alfabeto. O ejecutando ''alias'' pero también devolviendo comandos.

¿Por qué? Me gustaría ejecutar lo siguiente y ver si hay un comando disponible:

ListAllCommands | grep searchstr


¿Por qué no escribes:

seachstr

En la terminal.

La concha dirá algo así como

seacrhstr: command not found

EDITAR:

Ok, tomo el voto negativo, porque la respuesta es estúpida, solo quiero saber: ¡¡¡Qué está mal con esta respuesta !!! El autor de la pregunta dijo:

y ver si un comando está disponible.

¡Escribir el comando te dirá si está disponible !.

Probablemente él / ella quiso decir "sin ejecutar el comando" o "incluirlo en un guión", pero no puedo leer su mente (no es que no pueda regularmente, es solo que está usando un deflector de lectura mental )


Añadir a .bashrc

function ListAllCommands { echo -n $PATH | xargs -d : -I {} find {} -maxdepth 1 / -executable -type f -printf ''%P/n'' | sort -u }

Si también quieres alias, entonces:

function ListAllCommands { COMMANDS=`echo -n $PATH | xargs -d : -I {} find {} -maxdepth 1 / -executable -type f -printf ''%P/n''` ALIASES=`alias | cut -d ''='' -f 1` echo "$COMMANDS"$''/n''"$ALIASES" | sort -u }


Ahí está el

type -a mycommand

comando que lista todos los alias y comandos en $ PATH donde se usa mycommand . Se puede utilizar para verificar si el comando existe en varias variantes. Aparte de eso ... Probablemente haya algún script alrededor de $ PATH y todos los alias, pero no conozca ningún script similar.


Alternativamente, puede obtener una lista conveniente de comandos junto con descripciones rápidas (siempre que el comando tenga una página de manual, que la mayoría lo hace):

apropos -s 1 '''' -s 1 returns only "section 1" manpages which are entries for executable programs. '''' is a search for anything. (If you use an asterisk, on my system, bash throws in a search for all the files and folders in your current working directory.)

Entonces simplemente lo grep como quieras.

apropos -s 1 '''' | grep xdg

rendimientos

xdg-desktop-icon (1) - command line tool for (un)installing icons to the desktop xdg-desktop-menu (1) - command line tool for (un)installing desktop menu items xdg-email (1) - command line tool for sending mail using the user''s preferred e-mail composer xdg-icon-resource (1) - command line tool for (un)installing icon resources xdg-mime (1) - command line tool for querying information about file type handling and adding descriptions for new file types xdg-open (1) - opens a file or URL in the user''s preferred application xdg-screensaver (1) - command line tool for controlling the screensaver xdg-settings (1) - get various settings from the desktop environment xdg-user-dir (1) - Find an XDG user dir xdg-user-dirs-update (1) - Update XDG user dir configuration

Los resultados no parecen estar ordenados, por lo que si está buscando una lista larga, puede lanzar un | ordenar en el medio, y luego canaliza eso a un buscapersonas como menos / más / más. ala

apropos -s 1 '''' | sort | grep zip | less

Lo que devuelve una lista ordenada de todos los comandos que tienen "zip" en su nombre o su breve descripción, y bombea que el "menos" buscapersonas. (También puede reemplazar "menos" con $ PAGER y usar el paginador predeterminado).


Aquí hay una función que puedes poner en tu archivo bashrc:

function command-search { oldIFS=${IFS} IFS=":" for p in ${PATH} do ls $p | grep $1 done export IFS=${oldIFS} }

Ejemplo de uso:

$ command-search gnome gnome-audio-profiles-properties* gnome-eject@ gnome-keyring* gnome-keyring-daemon* gnome-mount* gnome-open* gnome-sound-recorder* gnome-text-editor@ gnome-umount@ gnome-volume-control* polkit-gnome-authorization* vim.gnome* $

FYI: IFS es una variable que utiliza bash para dividir cadenas.

Ciertamente, podría haber mejores maneras de hacer esto.


Aquí hay una solución que le da una lista de todos los ejecutables y alias. También es portátil para sistemas sin xargs -d (por ejemplo, Mac OS X) y maneja correctamente las rutas con espacios en ellos.

ls $(echo $PATH | tr '':'' '' '')

Uso: myscript.sh [grep-options] pattern , por ejemplo, para encontrar todos los comandos que comienzan con ls , distingue entre mayúsculas y minúsculas, haz:

ls $(echo $PATH | tr '':'' '' '') | grep -v ''/'' | sort


Comandos básicos:

$ touch: - usuario para crear archivo vacío

Syn: - toque nombre de archivo

Ej: tocar rama

$ ls lista de archivos y directorios

$ ls –l listado largo

Tipo de archivo, permisos, archivos de enlace, nombre de usuario (o) propietario, nombre de grupo, tamaño de archivo, sello de tiempo, archivo o nombre de directorio.

- archivo normal (o) normal

directorio d

l archivo de enlace

ls –a: muestra el todo (incluidos los archivos ocultos)

Los archivos y directorios ocultos comienzan con. (punto)

encontrar más comandos @ http://k2schools.com/linux-commands/


El comando de los demás no funcionó para mí en los sistemas integrados, ya que requieren bash o una versión más completa de xargs.

Los siguientes comandos deberían funcionar en cualquier sistema similar a Unix.

Lista por carpeta:

#!/bin/bash (echo -n $PATH | tr : ''/0'' | xargs -0 -n 1 ls; alias | sed ''s/alias /([^=]*/)=.*//1/'') | sort -u | grep "$@"

Listar todos los comandos por nombre

myscript -i ^ls


El problema es que la finalización de la pestaña está buscando su ruta, pero todos los comandos no están en su ruta.

Para encontrar los comandos en su ruta usando bash, podría hacer algo como:

para x en echo $PATH | cut -d":" -f1 echo $PATH | cut -d":" -f1 ; hacer ls $ x; hecho


Es útil enumerar los comandos en función de las palabras clave asociadas con el comando.

Use: man -k "your keyword"

siéntase libre de combinar con: | grep "another word" | grep "another word"

por ejemplo, para encontrar un editor de texto: man -k editor | grep text man -k editor | grep text


Intenta presionar ALT-? (alt y signo de interrogación al mismo tiempo). Dale un segundo o dos para construir la lista. Debería funcionar en bash.


Método de acceso directo para enumerar todos los comandos. Abre el terminal y presiona dos veces el botón "pestaña" . Eso muestra todos los comandos en la terminal.


Para usuarios de Mac ( find no tiene -executable y xargs no tiene -d):

echo $PATH | tr '':'' ''/n'' | xargs -I {} find {} -maxdepth 1 -type f -perm ''++x''


Prueba este script:

#!/bin/bash echo $PATH | tr : ''/n'' | while read e; do for i in $e/*; do if [[ -x "$i" && -f "$i" ]]; then echo $i fi done done


Puedes usar el compgen incorporado bash (1)

  • compgen -c todos los comandos que podrías ejecutar.
  • compgen -a todos los alias que puedas ejecutar.
  • compgen -b todos los elementos incorporados que podrías ejecutar.
  • compgen -k todas las palabras clave que podrías ejecutar.
  • compgen -A function mostrará una lista de todas las funciones que podría ejecutar.
  • compgen -A function -abck enumerará todo lo anterior de una sola vez.

Consulte la página del manual para otras terminaciones que puede generar.

Para responder directamente a su pregunta:

compgen -ac | grep searchstr

Debes hacer lo que quieras.


Siempre se puede hacer lo siguiente:

1. Hold the $PATH environment variable value. 2. Split by ":" 3. For earch entry: ls * $entry 4. grep your command in that output.

El shell ejecutará el comando solo si están listados en la ruta env var de todos modos.


Utilice "que searchstr". Devuelve la ruta del binario o la configuración de alias si es un alias

Editar: Si está buscando una lista de alias, puede usar:

alias -p | cut -d= -f1 | cut -d'' '' -f2

Agregue eso a la respuesta de búsqueda PATH que desee. Asume que estás usando bash ..


depende, con eso quiero decir que depende de qué shell está utilizando. Aquí están las restricciones que veo:

  1. debe ejecutarse en el mismo proceso que su shell, para capturar los alias y las funciones y variables que afectarían a los comandos que puede encontrar, piense en PATH o EDITOR, aunque EDITOR podría estar fuera de alcance. Puedes tener variables no exportadas que pueden afectar cosas.
  2. es específico de la shell o su entrada al núcleo, / proc / pid / enviorn y sus amigos no tienen suficiente información

Yo uso ZSH, así que aquí hay una respuesta zsh, hace las siguientes 3 cosas:

  1. vertederos camino
  2. vuelca los nombres de alias
  3. Vuelca las funciones que están en la env.
  4. los ordena

aquí está:

feed_me() { (alias | cut -f1 -d= ; hash -f; hash -v | cut -f 1 -d= ; typeset +f) | sort }

Si usas zsh esto debería hacerlo.


en debian: ls / bin / | grep "whatImSearchingFor"


tal vez sea un malentendido, pero ¿qué sucede si presiona Escape hasta que obtenga la opción Mostrar todas las X posibilidades?


compgen -c > list.txt && wc list.txt