Guía Esencial

Navegue en las secciones

BACKGROUND IMAGE: iSTOCK/GETTY IMAGES

Este contenido es parte de Guía Esencial: Guía esencial: Lo básico sobre el código abierto
Gestionar Aprenda a aplicar las mejores prácticas y optimizar sus operaciones.

Diez tips de línea de comando para ahorrar tiempo en Linux

Con estos 10 trucos de línea de comandos aumentará su habilidad y velocidad en Bash u otros shells de Linux.

La navegación y ejecución con líneas de comandos rápidas es la clave para una fácil administración de sistemas Linux. Aprenda estos 10 trucos de línea de comandos para aumentar su habilidad y velocidad en Bash u otros shells de Linux.

Aunque el escritorio de Linux ha sido objeto de grandes mejoras en los últimos veinte años (tal vez el cambio más notable por la vía de la interfaz de Ubuntu Unity), la línea de comandos permanece sin precedentes en términos de la potencia que puede ofrecer a un administrador de sistemas con experiencia. Aunquela mayoría de los siguientes 10 consejos se centran en el shell Bash, todos estos consejos pueden ser fácilmente aplicables a otros shells modernos.

1. Crear e introducir un directorio usando un comando

Crear y, posteriormente, ingresar en un nuevo directorio es una tarea tan común que parece que debería haber un acceso directo para ejecutar ambos comandos en el shell. Si bien no lo hay, usted puede agregar la función siguiente a su archivo .bashrc:

mkcd () {mkdir $ 1 cd $ 1}

A continuación, ejecute .bashrc de fuente para leer los cambios en la memoria, y complete las dos tareas utilizando el comando mkcd:

wjgilmore@ubuntu:~$ mkcd articles
wjgilmore@ubuntu:~/articles $

2. Volver al directorio anterior

Cuando necesita moverse desde un directorio profundamente integrado y desea volver al directorio original, podría pasar el camino anterior en el comando cd, pero un poco conocido argumento cd hace esto trivial. Esta secuencia demuestra el comportamiento:

wjgilmore@ubuntu-laptop:~/Documents/techtarget_articles/ten_command_line_tricks/test2$ cd
wjgilmore@ubuntu-laptop:~$ cd -
~/Documents/techtarget_articles/ten_command_line_tricks/test2$
wjgilmore@ubuntu-laptop:~/Documents/techtarget_articles/ten_command_line_tricks/test2$

3. Crear bookmarks de directorio

Continuando con el tema de la interacción con directorios, hay algunos directorios a los que inevitablemente vuelven una y otra vez. Es posible crear marcadores que le permiten navegar rápidamente a esos directorios mediante la adición de sus rutas de acceso a la variable de shell $CDPATH (dentro de su archivo .bashrc):

CDPATH='.:/home/wjgilmore/books'

Una vez añadido, puede navegar directamente al directorio de libros (books) desde cualquier lugar dentro de la ruta del sistema operativo, simplemente ejecutando el siguiente comando:

$ cd books

4. Edite hábilmente la línea de comando

¿Cuántas veces ha editado y ejecutado tediosamente una serie de comandos ligeramente diferentes? Tal como en la construcción de la versión en PDF de varios capítulos de libros en los que estoy trabajando, desde la fuente Markdown regularmente ejecuto el siguiente comando:

$ pandoc -o html/chapter06.html chapters/chapter06.md  --template=templates/html.template

Con el fin de construir también el documento de origen chapter04.md, los novatos de los comandos en línea se cansarían rápidamente de ir hacia arriba con las flechas hasta recuperar el comando ejecutado previamente (arriba) del historial, y luego ir con las flechas a la izquierda hasta sustituir las dos instancias de chapter06.md con chapter04.md. Hay varias maneras más eficientes para realizar esta tarea. En primer lugar, considere el uso de los atajos de teclado para editar la línea de comandos Bash (dos modos son compatibles: Emacs y vi), que le permiten navegar rápidamente a la posición deseada:

Ctrl + a: Ir al inicio de la línea

Ctrl + e: Ir al final de la línea

Alt + f: Ir hacia adelante una palabra

Alt + b: Ir hacia atrás una palabra

Un segundo y aún más eficiente enfoque implica el uso de la sustitución de línea de comandos. El siguiente comando reemplazará al 06 encontrado en el comando ejecutado previamente, con 04:

$ pandoc -o html/chapter06.html chapters/chapter06.md  --template=templates/html.template
$ !!:gs/06/04
pandoc -o html/chapter04.html chapters/chapter04.md  --template=templates/html.template

Por cierto, si usted está utilizando el terminal de GNOME, entonces la tecla meta (Alt) no funcionará como se describe, porque el terminal de GNOME ya une la tecla Alt a los comandos de la barra de herramientas. Alternativamente, usted puede usar Shift + Alt como la tecla meta, pero esto es un poco incómodo. En cambio, si usted no necesita los atajos de comandos de la barra de herramientas, desactívelos mediante la navegación a Edit -> Atajos de teclado (Keyboard Shortcuts)... y desactivar la opción de teclas de acceso al menú Habilitar (Enable).

5. Guardar un comando largo para uso posterior

Cuando esté trabajando a través de una secuencia de operaciones de administración del sistema, es posible escribir un comando particularmente largo y luego darse cuenta antes de ejecutarlo que un paso en la secuencia se ha quedado fuera. En lugar de borrar el comando, puede guardarlo en la historia sin ejecutarlo añadiendo un símbolo de numeral (#) al principio del comando:

$ #this is some ridiculously long command that I want to save

Después de pulsar el botón Enter, suba con la flecha hacia arriba y verá que el comando se ha guardado. Para ejecutar el comando, simplemente retire el numeral del principio de la línea antes de la ejecución.

6. Ahórrese la escritura usando el alias de comandos

El formato de listado largo de comandos ls (ls -l) se puede utilizar con frecuencia, pero el guión lo hace un poco difícil de manejar cuando se escribe con furia. Puede crear alias de comandos para los comandos más largos utilizando el comando alias dentro .bashrc. En este ejemplo, el directorio alias de comando es sustituido por ls -l:

alias dir='ls -l'

7. Ahorre más escritura al ignorar errores de dedo

Está en la zona terminal, ardiendo de un directorio al siguiente mientras está copiando, actualizando y eliminando archivos a voluntad. O no, porque los dedos se mueven más rápido que el cerebro o incluso que el tiempo de respuesta que puede manejar el teclado, causando que constantemente deba dar marcha atrás y corregir sus errores tipográficos. Agregue la siguiente línea a su archivo .bashrc y el shell solucionará automáticamente los errores de mecanografía que usted haga al identificar los nombres de archivos o rutas.

shopt -s cdspell

8. Abrir aplicaciones en segundo plano

Al navegar alrededor de la línea de comandos, puede que tenga que hacer otra tarea, como responder a un correo electrónico. Por supuesto, es posible abrir aplicaciones GUI desde la terminal de la misma manera en que ejecuta cualquier otro comando, simplemente invocando su nombre, en este caso, abriendo Gimp:

$ gimp

Pero hacerlo termina de manera efectiva su sesión de terminal, ya que la aplicación se abrirá en el primer plano. Si usted está abriendo regularmente una aplicación particular desde la línea de comandos, considere modificar su invocación por defecto dentro de su archivo .bashrc:

gimp()
{
  command gimp "$@" &
}

Recargue su archivo .bashrc (vea el comando fuente) y usted será capaz de invocar la aplicación Gimp, pasando a lo largo de los nombres de cualquier archivo de imagen que desee abrir, con la ventaja añadida de mantener el control de la terminal.

9. Haga “more” con “less”

El comando more es útil para hojear rápidamente el contenido de un archivo de texto. Una vez que el archivo se carga en la página puede utilizar la barra diagonal (/) para buscar el archivo. El problema es que una vez que haya encontrado la cadena deseada no es posible navegar hacia arriba y revisar los contenidos que aparecían antes de esta cadena. El comando less no sufre de esta desventaja, lo que le permite desplazarse hacia arriba y hacia abajo dentro de un archivo de texto. El comando less es invocado de la misma manera que more:

$ less sometextfile.txt

10. Limpie el historial de la línea de comandos

El historial de la línea de comandos es fácilmente una de las herramientas más poderosas a su disposición. Pero hay un ahorro de tiempo en particular que merece ser mencionado: la variable de shell $HISTIGNORE.

Con el tiempo, su lista de historial se volverá increíblemente larga. Aproveche la variable $HISTIGNORE para silenciar la grabación de cualquier comando que considere irrelevante:

$ export $HISTIGNORE="&:cd:exit:ls"

Esto hará que todos los comandos duplicados, y los comandos cd, exit y ls sean omitidos de la lista del historial.

La velocidad es clave para dominar la línea de comandos, y estos diez consejos y trucos deberían iniciarlo en la maestría de línea de la comandos.

Sobre el autor: Jason Gilmore es fundador de la firma editorial, de entrenamiento y consultoría WJGilmore.com. Es autor de varios libros populares, incluyendo Easy PHP Websites with the Zend Framework, Easy PayPal with PHP y Beginning PHP and MySQL, cuarta edición. Sígalo en Twitter en: @wjgilmore.

Este artículo se actualizó por última vez en mayo 2015

Inicie la conversación

Envíenme notificaciones cuando otros miembros comenten sobre este artículo.

Por favor cree un Nombre de usuario para poder comentar.

- ANUNCIOS POR GOOGLE

Close