The default .bashrc file for Ubuntu 8.10

Hacer que la línea de comandos de Linux sea un poco más amigable

Una cosa que se debate una y otra vez en Linux es la necesidad de la línea de comandos. Muchos dicen que nunca debería necesitar acceder a un símbolo del sistema para hacer las cosas, otros opinan que el poder del shell de Linux es una de las cosas que hace que Linux sea tan bueno. Si bien yo caería en la última categoría, ciertamente puedo entender por qué las personas pueden frustrarse al tener que aprender comandos complejos y aparentemente oscuros para que su computadora funcione correctamente. Incluso si odia la línea de comandos, a menudo no tiene más remedio que abrirla de vez en cuando para hacer el trabajo. Hoy, cubriremos varias formas de hacer que sea un poco más fácil de navegar.

Para aquellos que recién comienzan con Linux, o específicamente con la línea de comandos, el programa que muestra el símbolo del sistema y maneja sus comandos se llama bash, o Bourne Again Shell. En este artículo, usaremos las palabras línea de comando y shell de manera intercambiable para referirnos a la interacción con Linux a través de bash.

Hoy estaremos cubriendo:

  • Cambiar la rutina de inicio de shell
  • Hacer un símbolo del sistema más útil
  • Creación de alias para comandos largos o complejos

.bashrc y .bash_profile

Estos dos archivos son a menudo fuente de cierta confusión. A primera vista, parecen hacer exactamente lo mismo: ejecutar instrucciones de inicio cada vez que abre un símbolo del sistema. En resumen, .bash_profile se ejecuta cuando inicia un shell desde una pantalla de inicio de sesión (como un inicio de sesión en el sistema de la consola) y .bashrc se ejecuta para shells que no son de inicio de sesión (como ejecutar Terminal desde el menú de su sistema). El archivo “.bashrc” es el que usará la mayor parte del tiempo, así que ese es el que usaremos en nuestros ejemplos de hoy.

Como dije, bash carga .bashrc cada vez que abre un nuevo shell. Lo más probable es que ya tenga un archivo .bashrc que se creó para usted cuando instaló su sistema Linux por primera vez. Para ver lo que ya está allí, cargue su editor de texto preferido y abra

/home/YourUserName/.bashrc

(De forma predeterminada, el archivo está oculto a la vista del público. Deberá hacer clic con el botón derecho y seleccionar Mostrar archivos ocultos antes de que pueda mostrarse).

Probablemente verá varias líneas de código, guiones bash shell para ser precisos, ya allí. El .bashrc predeterminado en la mayoría de las distribuciones tiene un código para hacer cosas como indicaciones de color (que veremos un poco) y algunos alias útiles (que veremos mucho).

El archivo .bashrc predeterminado para Ubuntu 8.10

Siéntase libre de echar un vistazo al contenido actual del archivo para tener una idea de lo que ya está sucediendo en cada nueva sesión de shell, pero por el bien de este artículo podemos ignorar con seguridad la configuración actual y simplemente agregar lo que queremos al final.

En lugar de colocar nuestros elementos nuevos directamente en el archivo .bashrc, adoptaremos un enfoque ligeramente diferente. Cada usuario del sistema tiene su propio archivo .bashrc en su directorio de inicio. Si quisiéramos hacer cambios en la forma en que se ejecuta bash, tendríamos que colocar nuestros cambios en cada uno de esos archivos. Si luego decide que lo que hizo no era exactamente lo que quería, tendrá que revisar todos esos archivos nuevamente y realizar las actualizaciones. En lugar de toda esa molestia, crearemos un solo archivo con todas nuestras configuraciones personalizadas y simplemente le indicaremos a .bashrc que cargue desde ese archivo. El siguiente diagrama demuestra:

Diagrama que representa el abastecimiento de archivos

Al colocar el source comando al final del archivo .bashrc, extraerá nuestros comandos del archivo custom-shell.sh y sobrescribirá el indicador predeterminado y los alias predeterminados con los que hemos especificado. De esta manera, podemos crear un solo archivo (/etc/custom-shell.sh o cualquier otro nombre que desee) y simplemente decirle al archivo .bashrc de cada usuario que lo cargue. Entonces, si todavía tiene su archivo .bashrc cargado en su editor de texto, muévase hasta el final y agregue

source /etc/custom-shell.sh

Nota: puede llevar esto un paso más allá y agregar el source línea al archivo .bashrc en “/etc/skel”. De esa forma, todos los nuevos usuarios creados en el sistema ya tendrán nuestro source línea incluida!

Guarde el archivo .bashrc y luego cree un nuevo archivo de texto en blanco llamado «custom-shell.sh». Aquí es donde colocaremos todas las nuevas configuraciones en las siguientes secciones.

el aviso

Cada sistema tiene un indicador predeterminado. Por lo general, es un indicador predeterminado y suave con solo un poco de información útil. Probablemente se ve algo como:

Para probar exactamente cómo se realiza la personalización de avisos, ingrese lo siguiente en el shell:

Esto convertirá su aviso en una simple flecha. No hay información útil de ningún tipo, pero muestra la idea básica de cómo cambia el contenido de su aviso.

A lo largo de los años, las personas han llevado la personalización rápida al extremo, poniendo todo tipo de información en él. No entraré en una gran cantidad de detalles sobre cómo manejar los colores y las indicaciones de varias líneas y cómo agregar información en vivo, pero le daré una indicación útil y atractiva que podría usar como base para la suya. En el archivo custom-shell.sh que creamos anteriormente, pegue:

export PS1="\n\[\033[1;36m\]\u\[\033[1;37m\] \[\033[0;36m\]`date`\n\[\033[0m\][\[\033[1;33m\]\w\[\033[0m\]] "

La mayor parte de lo que ve allí son códigos de color que le indican a bash que cambie entre varios colores para el texto en el aviso. El resultado final de todo este galimatías es un mensaje bastante atractivo y fácil de entender.

Nuevo aviso después de los cambios

Guarde el archivo «custom-shell.sh» después de pegar el código anterior. Si lo guarda en “/etc”, probablemente necesitará privilegios de root. Puede guardarlo en cualquier lugar que desee, pero asegúrese de apuntar su .bashrc al lugar correcto. Para probar su nuevo indicador, puede cerrar y volver a abrir su shell, o simplemente escribir

en su shell actual.

Su archivo .bashrc debe leer nuestra nueva información de solicitud del archivo custom-shell.sh y hacer que su solicitud sea agradable y elegante con colores y todo.

Alias

También podría decírtelo desde el principio: me encantan los alias. Lo primero que hago cuando instalo un nuevo sistema es configurar mis alias preferidos. Como su nombre lo indica, un alias es solo otro nombre para un comando. Por ejemplo, mi alias más usado es uno al que llamo gimme que bash se traduce como sudo apt-get install. Puede usar alias por una variedad de razones, como acortar un comando largo o hacer que el shell de Linux actúe más como un shell de Windows/Mac/Solaris/BSD/Whatever. Sugiero pegar los siguientes alias en su archivo «custom-shell.sh». Aquellos que usan distribuciones distintas al estilo Debian/Ubuntu pueden traducir los alias de apt-get al apropiado yum comando, o cualquier utilidad de paquete que prefiera y, por supuesto, lo mismo es cierto para los usuarios de aptitude y portage.

#
#Apt-related aliases
#
alias gimme="sudo apt-get install"            #Install new software
alias acs="apt-cache search"                    #Search available packages
alias purge="apt-get --purge remove"        #Removes package and its config files
alias update="sudo apt-get update"
alias debclean="sudo apt-get clean && sudo apt-get autoremove"  #Removes some unneeded files
#
#Misc useful aliases
#
alias ls="ls --color=auto"                           #Plain ls with color
alias ll="ls -l --color=auto"                         #Detailed list with color
alias config="dpkg-reconfigure"                #Re-run the configuration step for a package
alias cmi="./configure && make && sudo make install"    #Common steps to install package from source
alias numfiles="echo $(ls -1 | wc -l)"          #Count the number of files in current directory
alias dfree="df -h"                                       #See how much hard drive space is free in easy-to-read format
alias favdir="cd /directory/you/use/a/lot"   #Quickly switch to a directory you often need (music, documents, etc)

Agregue cualquier otra cosa que crea que podría ser útil, o cambie las que he sugerido para satisfacer sus necesidades. En vez de gimme y acspodrías usar get y got. A algunas personas que hacen la transición desde Windows les gusta crear alias para imitar los comandos de Windows: copy para reemplazar cp, move para reemplazar mv, ipconfig para reemplazar ifconfigetc.

Su «custom-shell.sh» ahora debería verse así:

Ejemplo de archivo terminado

Una vez que se guardó el archivo custom-shell.sh y se configuró .bashrc para señalarlo, vuelva a abrir el símbolo del sistema y debería tener un mensaje agradable y útil con varios alias útiles para facilitar un poco las cosas.

¡Me encantaría saber de tus alias favoritos! Deje un comentario y comparta algunos atajos de comandos útiles que haya encontrado, o tal vez un buen aviso. La línea de comandos puede ser una herramienta muy poderosa y me encantaría saber cómo ha encontrado para mejorarla aún más.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas