En muchas ocasiones nos encontramos que linux nos pone un formato de prompt bastante incomodo en nuestra consola linux. Esto se debe a que nos muestra la ruta del directorio en el que nos encontramos. Si esta ruta es muy larga, esta funcionalidad es más bien incomoda y entorpece bastante el uso del terminal.

Por otra parte si queremos saber en que ruta nos encontramos, ya tenemos a nuestra disposición el comando pwd.

Estaríamos viendo algo así:

root@monitor:/home/nombreusuario# 

Podemos personalizar el prompt para que no sea tan largo y de esa forma trabajar con más comodidad. Solo vamos a necesitar saber utilizar un editor de texto plano como vi o nano.

IMPORTANTE: Si el prompt termina en # el usuario es administrador. Si termina en $ el usuario «no es administrador»

La variable PS1

En esta variable se encuentra la configuración del prompt del terminal. Si queremos conocer el contenido de la misma, solo tenemos que ejecutar el siguiente código:

root@monitor:/home/nombreusuario# echo $PS1
${debian_chroot:+($debian_chroot)}\u@\h:\w\$

Opciones de personalización del prompt

En la siguiente tabla vemos cuales son las opciones que nos ofrece el prompt para su personalización

CódigoFunción
\AInserta la hora en formato 24 horas
\dInserta la fecha completa. Día de la semana, mes y número del día del mes
\hInserta el nombre del equipo o host
\HInserta el nombre del equipo añadiendo el nombre de dominio al que pertenece el sistema
\jImprime el número de procesos que está ejecutando el sistemas
\tImprime la hora en formato 24 horas
\TImprime la hora en formato 12 horas
\@Imprime la hora en formato 12 horas incluyendo la franja horaria AM o PM
\uInserta el nombre de usuario
\wInserta el directorio actual en el que nos encontramos
\WInserta solo la parte final del path del directorio en el que nos encontramos
$Inserta el tipo de usuario

Como personalizar el prompt del usuario

Para personalizar el prompt, necesitamos editar el archivo .bashrc que está situado en el home del usuario

Si realizamos un cat del archivo mencionado, veremos algo similar a esto:

root@monitor:~# cat .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
# umask 022
# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "`dircolors`"
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'

Lo que tenemos que hacer es indicar en este archivo como vamos a tratar la constante PS1 para este usuario. Para ello vamos a editar el archivo, incluir nuestra sentencia export PS1 y aplicar los cambios.

Editamos con vi o con nano y ponemos al final del archivo:

export PS1="> "

Una vez insertada la línea y guardados los cambios en el fichero, aplicamos los cambios ejecutando la siguiente línea:

root@monitor:~# source .bashrc
>

Automáticamente se genera un prompt sencillo y sin complicaciones. Como a mí personalmente, tampoco me gusta así de básico, prefiero hacer algo como esto:

export PS1="\u@\h &&> \W# "

Una vez aplicados los cambios con source, se vería tal que así:

root@monitor#

En este caso, me muestra siempre cual es el directorio en el que me encuentro sin mostrarme toda la ruta. Si no quieres que te muestre la ruta, déjalo de la siguiente forma:

export PS1="\u@\h# "