GNU/Linux >> Tutoriales Linux >  >> Linux

Velocidad terminal:moverse rápido en su caparazón

He usado una terminal a diario durante muchos años. Utilizo un shell no predeterminado muy personalizado. Hago un uso extensivo de la finalización de pestañas y he memorizado las banderas para muchos comandos. Hasta hace aproximadamente un año, pensé que había alcanzado el pico de productividad de la terminal. Luego, descubrí una ola de utilidades de shell que, aunque oscuras, alteraron fundamentalmente la forma en que interactúo con el entorno de mi terminal para mejor.

Este artículo es el primero de una serie sobre estas nuevas utilidades (además de algunas herramientas que conozco desde hace más tiempo y me encantan). Hoy veremos herramientas específicas para moverse por su sistema de archivos.

Saltar alrededor:z

¿Sabe cómo puede escribir las primeras letras de un sitio web de uso común en su navegador y presionar Enter con la confianza de que lo llevarán al lugar correcto? ¿Qué pasaría si lleváramos esa misma experiencia a tu caparazón? Imagina que pudieras teletransportarte a un directorio de uso común simplemente escribiendo una pequeña parte de su nombre. Eso es lo que z lo hace.

El z shell script realiza un seguimiento de los directorios que visita y cuándo los visitó. Combina la frecuencia de su acceso a un directorio con la antigüedad de su acceso para determinar la "frecuencia" de su acceso. Cuando proporciona un par de letras para el nombre de un directorio, z elige el candidato que contiene la subcadena proporcionada con la frecuencia más alta. El resultado es correcto una inquietante cantidad de veces.

Aquí está en acción:

Datos breves:

  • bash /zsh implementación:GitHub
  • fish implementación:GitHub
  • Licencia (bash /zsh ):WTFPLv2
  • Licencia (fish ):MIT
  • Idioma:script de shell

Hay varias herramientas similares, como autojump y fasd . ¡Pruébalos todos!

Búsqueda aproximada:fzf

A veces, buscar cosas con expresiones regulares es excesivo. Hay momentos en los que debería ser suficiente que aparezcan las letras correctas en el orden correcto. El fzf La utilidad le permite buscar coincidencias aproximadas sin problemas. ¿Cómo se relaciona esta herramienta con moverse por su sistema de archivos? Solo espera y verás.

Por defecto, fzf funciona en stdin, por lo que puede usarlo como grep :

$ fzf < long-log-file.txt

Ejemplo en vivo:

Porque fzf funciona para filtrar stdin y envía la salida en stdout, puede hacer mucho más que buscar archivos con esta herramienta. ¿Quiere buscar un directorio debajo del actual?

$ fzf

Así es. Si stdin no es una canalización, fzf busca todos los archivos debajo de él y emite su elección en stdout, lo que facilita combinar los resultados con otros comandos como un editor.

Si desea lograr lo mismo con más control, puede ejecutar:

$ find . -type d | fzf

Puedes usar fzf para moverse ejecutando:

$ cd $(find . -type d | fzf) #bash/zsh
$ cd (find . -type d | fzf) #fish

Ahora, también hay otras aplicaciones divertidas. Puedes:

  • Recupere comandos de su historial con:
    $ eval $(history | fzf) #bash/zsh
    $ eval (history | fzf) #fish
    
  • Edite un archivo debajo del directorio actual con:
    $ $EDITOR $(find . | fzf) #bash/zsh
    $ $EDITOR (find . | fzf) #fish
    
  • Elija paquetes para instalar con:
    $ sudo apt install $(apt search <word> 2>/dev/null | tail -n+3 | grep '^\w' | sed 's|([^/]+)/.*|\1|' | fzf) #bash/zsh
    $ sudo apt install (apt search <word> 2>/dev/null | tail -n+3 | grep '^\w' | string split / | fzf) #fish
    
  • Realice elecciones, en general, en función de cualquier texto delimitado por líneas. ¡El cielo es el límite!

El fzf La utilidad tiene integraciones existentes con bash , zsh y fish . Si instala esos shells, fzf aumenta y amplía de forma natural los flujos de trabajo como la "búsqueda de índice inversa" y la finalización de pestañas. Soy un gran usuario del fish integración, yo mismo.

Datos breves:

  • Obtener fzf :GitHub
  • Licencia:MIT
  • Idioma:Ir

¿Quieres más?

Si estas herramientas le parecen útiles, esté atento a más artículos. Si no puede esperar, esta serie se basa en esta charla que di en All Things Open 2019. Puede encontrar más herramientas y trucos allí.


Linux
  1. Graba tu sesión de terminal con Asciinema

  2. ¿Cuál es tu emulador de terminal favorito?

  3. ¿Cuál es tu truco de terminal Linux favorito?

  4. Cómo Navidadizar su Terminal Linux y Shell

  5. ¿Es Gnome Terminal un tipo de Shell sin inicio de sesión?

Relájate junto al fuego en tu terminal Linux

Serpentea tu camino a través de tu terminal Linux

Juega Tetris en tu terminal Linux

Conduce una locomotora a través de tu terminal Linux

Cómo grabar su sesión de terminal en Linux

MapSCII – El mapamundi en tu terminal