9 trucos para ahorrar tiempo en su línea de comandos


¿Cómo se escribe un buen código? Siendo eficiente. Si desea crear algo increíble, tendrá que eliminar los volcados de tiempo que lo ralentizan. Con solo unos pocos trucos, puede acelerar su trabajo y concentrarse en lo que importa.

1. Crea alias

Cada shell viene con un archivo llamado ~/.bashrc o ~/.bash_profile. Cuál usará depende de su sistema. Esta publicación lo explica en detalle.

Ahora piense en los comandos que usa mucho. Escribirlos cada vez es arduo y puede estropear las cosas si es propenso a cometer errores tipográficos. Para eso están los alias: reemplazan su comando original por un atajo.

alias $preferredAlias="$commandToAlias"

Por ejemplo, tengo una carpeta de Dropbox a la que necesito acceder con bastante frecuencia. Como no me gusta escribir demasiados caracteres, tengo este alias en mi ~/.bash_profile:

alias topbox="cd ~/Dropbox/top-eft/"

Algunos otros alias útiles son:

alias mv="mv -i"
alias cp="cp -i"

La opción -i indica que se le solicitará antes de sobrescribir un archivo. Si alguna vez sobrescribió accidentalmente algo importante, ya sabe de lo que estoy hablando.

Si está utilizando muchos alias, podría tener sentido crear un archivo separado. Simplemente empaquete todos sus alias en un nuevo archivo llamado ~/.bash_aliases. Ahora, debe indicarle a su archivo de configuración original dónde se encuentran los alias. Para eso, agregue las siguientes líneas en la parte superior de su ~/.bash_profile o ~/.bashrc:

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

¡Y tu estas listo!

Siempre que haya editado su archivo bash, asegúrese de ejecutar el correspondiente de los siguientes dos comandos:
source ~/.bash_profile
source ~/.bashrc

De esta manera, le está diciendo a su sistema que se adhiera a sus cambios a partir de ahora. Si abre una nueva ventana, obtendrá el archivo automáticamente.

2. Tunea tu mensaje

El indicador de la línea de comandos es lo primero que verá cuando comience a trabajar, y probablemente lo último que vea antes de irse. Por lo tanto, tiene sentido adaptarlo a sus preferencias.

Soy minimalista, por lo que solo incluyo el directorio actual en mi mensaje. Por lo tanto, en mi ~/.bash_profile He especificado:
PS1='[W]$ '
Aquí el W hace referencia al directorio actual y PS1 es la variable que hace referencia al indicador.

Otras opciones populares son:

  • Una marca de tiempo le ayuda a rastrear su trabajo. Agregar @ en su archivo.
  • Agregar su nombre de usuario y nombre de host tiene sentido si está trabajando en un servidor remoto. Agregar u y / o h.
  • Puede agregar el shell y la versión del shell si es relevante para su trabajo. Agregue sy / o v a su archivo.
  • Un signo de dólar $ generalmente marca el final del mensaje.

También puede imprimir su mensaje en colores. Esto podría ayudar cuando está generando muchos resultados (o mensajes de error …) y desea ver dónde comenzó el programa.

3. Aprovecha al máximo tu historia

Por supuesto, no desea escribir los mismos comandos una y otra vez. Por supuesto, está la finalización de la pestaña: comience a escribir un comando, luego presione la pestaña para completarlo automáticamente. Pero, ¿y si quieres acceder a tus comandos anteriores? Hay algunas opciones:

  • Las flechas hacia arriba y hacia abajo le permiten navegar por su historial reciente.
  • Si desea volver a ejecutar su último comando, escriba !!.
  • Si desea volver a ejecutar el último comando que comienza con foo, escriba !foo. Supongamos, por ejemplo, que la última vez que usé mi editor de texto favorito, abrí mi archivo de configuración: vim ~/.bash_profile. La próxima vez, solo escribiré !vim.
  • Si desea acceder al argumento del comando anterior, puede usar !$. Digamos que acabo de abrir mi archivo de configuración con vim, pero ahora quiero usar un editor de texto diferente. Luego nano !$ es suficiente.
  • ¿Qué pasa si recuerda la parte media de un comando largo, pero no las primeras letras? Puede buscar el comando usando ctrl+R y luego escribir las letras que conoces. Una vez que haya encontrado el comando, presione enter como siempre.
  • Si desea ver los últimos 500 comandos que ha realizado, simplemente escriba historial. Puede cambiar la cantidad de comandos que se almacenan en el historial a, digamos, un millón de entradas agregando HISTSIZE=1000000 y HISTFILESIZE=1000000 a su configuración de shell. Si desea eliminar todo su historial, escriba rm ~/.bash_history.

4. Utilice su entorno de manera eficiente

Ya ha encontrado algunas variables de entorno: PS1, HISTSIZE y HISTFILESIZE. En general, se trata de variables escritas en MAYÚSCULAS que definen propiedades importantes del sistema.

Puede acceder a la lista completa de ellos con el comando set. Otro ejemplo (de muchos) es SHELLOPTS. Enumera todos los programas que están configurados en ‘on’ al iniciar su sesión de terminal. Se puede encontrar una documentación completa de las variables preestablecidas en la documentación de GNU.

5. Profit from shell options
Puede personalizar su caparazón de varias formas con las opciones de caparazón. Para mostrar todas las opciones, ejecute los siguientes comandos en su terminal:
bash -O
bash -o

La opción -O se refiere a opciones que son específicas del shell bash, mientras que -o se refiere a todas las demás opciones.

En la lista que se muestra, también verá si una opción está activada o desactivada. Puede cambiar la configuración predeterminada agregando una línea en su archivo de configuración. Algunos ejemplos útiles son:
# Correct spelling
shopt -q -s cdspell
# Cd into directory with only its name
shopt -s autocd
# Get immediate notification of background job termination
set -o notify

La primera opción enumerada aquí hace que el shell sea más resistente a los errores de escritura. El segundo te evita escribir cd cada vez que desee cambiar su directorio. Y si tiene muchos trabajos en segundo plano en ejecución, es posible que desee recibir una notificación agregando la tercera opción a su archivo de entorno.

6. Busque archivos por nombre

Supongamos que está buscando el archivo foo.txt, pero no tiene idea de dónde lo ha puesto. Luego, desde su directorio de inicio, escriba:
find . -name foo.txt

Aquí el . representa el directorio de trabajo actual y usted especifica el nombre del archivo con la opción -name. También puede utilizar comodines. Por ejemplo, este comando devolverá todos los archivos en formato txt:
find . -name *.txt

7. Busque archivos por contenido

Supongamos que desea buscar todas las apariciones de bar en foo.txt. Entonces grep es tu amigo:
grep bar foo.txt

Si desea buscar varios archivos, puede agregarlos así:
grep bar foo.txt foo2.txt foo3.txt

Y si desea buscar la barra en todos los archivos del directorio dirfoo, puede usar el modo recursivo:
grep -r bar dirfoo

Para obtener más opciones, puede consultar el manual página. Solo pega man grep en tu terminal.

8. Hacer frente a una gran cantidad de resultados

A veces querrá grep para algo, pero la salida es demasiado larga para imprimirse en la pantalla. Ahí es donde la tubería con el símbolo | Viene muy bien.

Digamos, por ejemplo, que hay mil archivos en el directorio dirfoo que contienen bar. Es posible que desee examinar la salida y seleccionar los archivos que le interesan. Entonces puedes escribir:
grep -r bar dirfoo | less

Esto mostrará la salida de una manera más digerible. A continuación, puede tomar nota de los archivos que desee y cerrar la pantalla escribiendo q. Esto dejará su interfaz de línea de comandos despejada.

También puedes usar grep a la inversa. Di que quieres ejecutar un programa fooprog que produce una gran cantidad de resultados. Pero solo te interesa la parte que contiene bar.

Para que este resultado sea más comprensible, es posible que desee agregar las tres líneas que preceden a cada aparición de barra y las cinco líneas que le siguen. Luego puede escribir:
./fooprog | grep -B3 -A5 -i bar

Aquí, -B3 se refiere a las tres líneas antes de la barra, y -A5 a los cinco siguientes. De esta manera, puede asegurarse de que solo obtenga información significativa impresa en su terminal.

9. Moverse en el texto

¿Pensaste que tu terminal se trataba de pulsaciones de teclas? Bueno, aquí hay uno: puede hacer clic con la tecla Alt en el medio de una línea en su terminal. Es un poco torpe, pero será suficiente para impresionar a tus amigos.
Sin embargo, lo que le ahorrará mucho tiempo son los atajos de teclado. Para comenzar, le sugiero que comience a adoptar lo siguiente:

  • Salta al principio de una línea con ctrl+a.
  • Salta al final de una línea con ctrl+e.
  • Elimina todo desde el principio de la línea hasta que el cursor con ctrl+u.
  • Elimina todo, desde el cursor hasta el final de la línea con ctrl+k.
  • Puede adoptar otros atajos usando la lista completa de Atajos de teclado de Apple. También funciona bastante bien en una línea de comandos de Linux.
    Por supuesto, no puede aprender todos los atajos de teclado a la vez. Sugiero comenzar con un par de ellos y luego pasar al siguiente par una vez que haya dominado el primero.
    El resultado final: Sea rápido, vuélvase asombroso.
    Ha aprendido a personalizar su terminal con alias, el indicador, las variables de entorno y las opciones de shell. Ahora puede acceder a su historial, examinar grandes cantidades de archivos y navegar hasta las partes significativas.
    La codificación es un proceso de aprendizaje continuo. ¡Nunca es tarde para ser eficiente!

Source: The Next Web by feedproxy.google.com.

*The article has been translated based on the content of The Next Web by feedproxy.google.com. If there is any problem regarding the content, copyright, please leave a report below the article. We will try to process as quickly as possible to protect the rights of the author. Thank you very much!

*We just want readers to access information more quickly and easily with other multilingual content, instead of information only available in a certain language.

*We always respect the copyright of the content of the author and always include the original link of the source article.If the author disagrees, just leave the report below the article, the article will be edited or deleted at the request of the author. Thanks very much! Best regards!