viernes, 9 de agosto de 2013

Trucos de la consola de comandos Linux que te facilitarán tu trabajo


La consola o Shell de Linux es muy empleada y es por la herencia de Unix, sistema en el que la mayor parte de trabajo se hace en modo texto. A pesar de la cantidad de programas que existen con interfaz gráfica, el Shell sigue empleandose con frecuencia para multitud de tareas. Para facilitaros la vida, en este artículo os quiero presentar una serie de atajos y trucos que te servirán para operar de una manera más sencilla en tu terminal Bash:
  • Compleción de comandos: para escribir una serie de letras de un comando o nombre de fichero y que la consola autocomplete el nombre sin tener que escribirlo al completo. Esto te ahorrará muchas pulsaciones de teclado. Para usarlo tan solo tienes que escribir unas cuantas letras del comando o nombre del fichero y pulsar la tecla Tab. Si existiesen varios nombres que coincidan con las letras escritas, entonces puedes emplear de nuevo la tecla Tab para que muestre todas las posibilidades. Otra opción es continuar escribiendo caracteres hasta que no coincida más que un nombre y que la consola lo termine de autocompletar.
  • Historial de comandos: con el comando “history” podemos acceder al historial de comandos utilizados que se guarda en el fichero ~/.bash_history. Esto nos puede ahorrar volver a escribir comandos o lineas recuerrentes que usemos con frecuencia. Con las flechas arriba y abajo del teclado (o las combinaciones Ctrl+P y Ctrl+N) podemos tener acceso al historial sin necesidad de escribir el comando “history”. Si pulsamos estas teclas, veremos como tras el prompt aparecen los comandos que hemos introducido anteriormente.
  • Buscar comandos ya empleados: gracias al historial se pueden hacer búsquedas en nuestro terminal de comandos que ya hayamos utilizado con anterioridad, esto nos ahorra introducirlos de nuevo. Para la búsqueda retrospectiva usaremos las teclas Ctrl+R y para la búsqueda haciadelante Ctrl+S. Tras pulsarlas, podemos introducir letras que coincidan con el comando que estamos buscando y nos aparecerá. Si no encuentra lo que busca puede finalizar la búsqueda con Ctrl+G.
  • Borrar el historial: si desea evitar que otros puedan acceder a dicha información y pretende borrar el historial, puede emplear el comando “history -c” o si deseas limpiar el historial completamente para cualquier terminal, puedes emplear el comando “cat /dev/null > ~/.bash_history”. Otra opción es abrir el directorio personal, pulsar Ctrl+H para que aparezcan los ficheros ocultos y borrar .bash_history.
  • Modificar comandos o lineas ya escritas: si ya tenemos escrito nuestro comando o hemos buscado alguno que introdujimos con anterioridad y deseamos editarlo para darle un uso más actual o simplemente porque nos hemos equivocado en la sintaxis, se pueden emplear las opciones de edición de Bash. Las teclas Ctrl+A y Ctrl+E pueden ayudarnos a desplazar el cursor al comienzo de la linea o al final, con las teclas flecha izquierda y flecha derecha podemos mover el cursor carácter a carácter por la línea de texto. Si utilizamos Ctrl+Flecha (izquierda o derecha), en vez de carácter a carácter, el cursor se desplaza palabra a palabra. Con la tecla Supr se puede borrar el carácter que hay bajo el cursor, mientras que si pulsa Retroceso se borra el que hay a la izquierda. Ctrl+K, o Ctrl+X y Retroceso, se pueden borrar todos los caracteres desde el cursor hasta el fin de línea y desde el cursor hasta el comienzo respectivamente. Si deseamos intercambiar el orden de caracteres o de palabras completas, emplearemos Ctrl+T o Esc seguido de T. En los sistemas Unix-like distinguen entre mayúsuclas y minúsculas (case sensitivity), por eso quizás te sea útil cambiar mayúsculas por minúsculas o viceversa sin volver a escribir el comando. Para cambiar minúsculas por mayúsculas o mayúsculas por minúsculas, puede situar el cursor sobre un carácter y pulsar Esc seguido de C o L.
  • Script: para ahorrarnos el trabajo de introducir muchos comandos para una tarea, podemos crear un script que contenga estos comandos para que la consola pueda interpretarlos en conjunto sin necesidad de escribir uno a uno. Por ejemplo, veamos este ejemplo de script que muestra el historial, borra la pantalla del shell y borra el historial para luego mostrar un mensaje diciendo que se ha completado el borrado. Tengo que decir, que esto lo escribiremos en una hoja de texto plano (siempre con el encabezado #!/bin/bash seguido de una línea por cada comando) y lo guardaremos con un nombre y con extensión .sh, por ejemplo, el de nuestro caso se llamará borrado.sh y para ejecutarlo simplemente debemos ir al directorio donde se encuentra desde el terminal y escribir "./borrado.sh" y pulsar INTRO (recuerda no utilizar las comillas en los comandos anteriormente citados). Veamos el ejemplo:

#!/bin/bash
history
clear
cat /dev/null > ~/.bash_history
echo "El historial se ha borrado. Gracias.”