Copyright © 2005-2025 LinuxTotal.com.mx
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.
Si acostumbras trabajar en la línea de comandos, muy posiblemente uses el shell bash (Bourne Again Shell, derivado del bourne shell de Unix), con un simple echo de la variable $SHELL puedes determinarlo: echo $SHELL
. Si es el caso, entonces tu prompt debe de verse parecido a este:
[sergio@linuxtotal ~]$Que indicaría al usuario (sergio) y el equipo en el que está (linuxtotal), ~ indica HOME (en este caso /home/sergio) o directorio de inicio, esta parte cambia cada vez que se ingresa a otro directorio:
[sergio@linuxtotal ~]$ cd /etc [sergio@linuxtotal etc]$
Algo útil, pero porque mejor no personalizarlo a nuestro gusto, asi que empezemos por partes.
El prompt se establece a través de la variable de entorno PS1:
[sergio@linuxtotal ~]$ echo $PS1 [\u@\h \W]\$
Se puede apreciar que se utilizan secuencias de escapes para ir construyendo el prompt, cada secuencia se indica con '\' seguido de un comando como 'u' (user) o 'h' (host), los demás caracteres como [,],@, espacio, etc. son opcionales y puedes elegirlos tu al acomodo que desees, las secuencias de escape son las siguientes:
Conociendo lo anterior podemos ahora tener un nuevo prompt:
[sergio@linuxtotal etc]$ PS1='(\t)[\u-\W]\$> ' (19:26:02)[sergon-etc]$>
Solo se indica el cambio a PS1, con PS1=' ', entre las comillas simples va la nueva secuencia que se desea, asi que personaliza el tuyo.
El shell esta lleno comandos muy poco usados, uno de estos es tput
, que permite cambiar las características o capacidades disponibles para la terminal, disponibles a través de la base de datos llamada terminfo. Entre las características (hay bastantes) que podemos modificar de una terminal están el color de fondo y de frente (background y foreground) del texto a través de las siguientes opciones:
En cuanto a los códigos de color son los siguientes
Puedes probar en una terminal escribiendo lo siguiente: tput setaf 1
y el texto se cambiará a rojo y puedes añadir por ejemplo un fondo verde tput setb 2
y te dará un fondo verde para el text. Asi que digamos, en base al prompt anterior, que se desea la hora en rojo y negritas, esto lo haría:
(20:05:52)[sergon-~]$> PS1='\[$(tput setaf 1)(\t)$(tput sgr0)\][\u-\W]\$> ' [sergon-~]$>
mmmm, un poco complicado, veamos por partes:
No es tan complicado una vez que entendimos lo que sucede. Y es posible agregar más características en un sola invocación de $(), $(tput bold; tput setaf 1)
.
Ahora bien, una vez cambiado tu prompt, este no permanecerá así, si cierras la sesión o la terminal y vuelves a ingresar, notarás que sigues con tu mismo y aburrido prompt de siempre, el cambio a la variable PS1 hay que agregarlo a tu archivo de inicialización de tu sesión, generalmente '.bashrc' o '.bash_profile', incluso podrías poner los colores en variables, para facilitar el uso de la definición de PS1:
# se añade lo siguiente a .bashrc # colores del texto rojo=$(tput setaf 1) verde=$(tput setaf 2) # colores de fondo azulF=$(tput setab 4) grisF=$(tput setab 7) # sin color sc=$(tput sgr0) PS1='\[$rojo(\t)$sc\][\u-\W]\$> '
Pues ahí lo tienes, ahora cambia tu prompt a algo que te agrade más a ti y te sea más útil.
Si encuentras útil la información que proveé LinuxTotal, considera realizar un donativo que estimule a seguir proporcionando contenido de calidad y utilidad. Gracias.
Dona a través de paypal::
O a través de bitcoins:
Hay ocasiones que cuando busco un archivo dentro del listado de un directorio con varios archivos, usando ls, deseo ver solamente ....
Si ya has usado la línea de comandos o shell de Linux por un tiempo, seguramente entonces, el comando date ya te es familiar, lo ....
El editor en línea (stream editor) sed es un editor de texto en línea que realiza operaciones de edición sobre datos provenient....
Una de las dificultades con una base de datos MySQL grande y activa es la de realizar respaldos limpios sin tener que desconectar ....
Hay distintas maneras de establecer cuanto tiempo un sistema Linux lleva ejecutándose o prendido. Conócelas en este tutorial.....
...quien resuelve los nombres de dominio a su correspondiente IP, sería el DNS del proveedor, pero si implementamos un DNS Cache,....
Hay ocasiones en que se te ofrece hacer cálculos matemáticos o aritméticos y no estás en el ambiente gráfico para abrir una c....
Muchos validadores de direcciones de correo electrónico devolverán errores cuando se enfrenten con una inusual pero válida dire....
Linux es un sistema multiusuario, por lo tanto, la tarea de añadir, modificar, eliminar y en general administrar usuarios se conv....
En linux cualquier comando (o cualquier cosa) que se teclea se le conoce como que está utilizando la entrada estándar [STDIN]. L....