Entonación del Terminal - Alias a mis comandos y colores para mi promp !!!

noviembre 07, 2008

Basicamente son muchos los usuarios(noveles) que tienen problemas en saber interpretar el Terminal, pero son aún muchos mas aquellos usuarios que siempre buscan poder hacer que el terminal sea un poco mas agradable, mas colorido, mas versatil, mas atractivo, por eso a lo largo de mi tiempo como usuario de GNU/Linux he podido entonar algunas cosas que hacen frente a estas necesidades y por medio de algunos TIPs espero que sea de util esta información...

Empezemos por editar la resolución de los terminales virtuales

Editando el /boot/grub/menu.lst podemos configurar la resolucion mas adecuada para el trabajo con estos terminales que tanto nos ayudan en caso de emergencia.

Tome en cuenta que la manipulación de este archivo de configuración tiene un alto indice de peligro, puesto que el mas minimo error en el proceso de edición y podriamos hechar a perder la entrada al sistema operativo o en el peor de los casos dañar el GRUB..

Tome medidas prevetivas como generar una copia respaldo de este archivo antes de manipularlo..

Ahora, una vez ubicado sobre estas lineas, procesa en agregar el parametro VGA al final de la linea "Kernel"

title Debian GNU/Linux, kernel 2.6.26-1-686
root (hd0,2)
kernel /boot/vmlinuz-2.6.26-1-686 root=UUID=c1ab9092-e334-420a-9f93-ec127faeadf5 ro quiet vga=791
initrd /boot/initrd.img-2.6.26-1-686
El agregar parametros sobre esta linea permitirá que estos mismos sean ejecutados justo antes de INIT

Al Super Usuario(root) agregamos este parametro
kernel /boot/vmlinuz-2.6.26-1-686 root=UUID=c1ab9092-e334-420a-9f93-ec127faeadf5 ro single vga=791
Parametro VGA, este nos permite poder modificar el tamaño de la resolución de nuestros ambientes CLI, acá vemos los tamaños:
640x480 - 800x600 - 1024x768 - 1280x1024
vga=769 - vga=771 - vga=773 - vga=775 - 8 bits
vga=785 - vga=788 - vga=791 - vga=794 - 16 bits
vga=786 - vga=789 - vga=792 - vga=795 - 32 bits
Ahora Sigamos con asignar ALIAS a los comandos del terminal !!

Existe un archivo de configuracion que tiene que ver con la forma de trabajo del terminal, dado el caso podemos editar su función en relación al tipo de usuario..

En este caso, tenemos el terminal de root ..
root@/home/molo# vim ~/.bashrc
Aprendamos un par de cosas primero ...

Como podemos asignar alias a los comandos (en el archivo anterior podemos conseguir)... ?
export LS_OPTIONS='--color=auto' eval "`dircolors`" -> en este caso estamos permitiendo colorizar los directorios y archivos una vez que los listemos con el comando 'ls'

# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
##### estas lineas de comandos que vemos con un numeral (#) al principio no significa mas que una trasnformacion de nuestros lineas de comando a lineas omitidas en el texto(a la hora de ejecución).
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'

#### Ejemplo de alias !!!
alias INSTALAR='aptitude install'
alias BUSCAR='aptitude search'
alias APAGAR='halt'

La sintaxis correspondiente al la asignacion de 'alias' a los comandos de BASH es:

| COMANDO | NOMBRE= | 'COMANDO CORRESPONDIENTE'
| alias | NombreAlias=| 'Comando BASH'


Reiniciamos el Terminal (basta con cerrarlo y abrirlo de nuevo)

La idea de modificar el uso de estos elementos es la practicidad, la velocidad, la riginalidad, y sobre todo la personalizacion de nuestros sitemas...

Tuena Tu PROMP_

Aquellos usuarios que les encanta tener plena relación con el terminal o interprete de comandos a menudo encuentran difícil ver el prompt para terminales X de buenas a primeras.

Si el terminal de una máquina remota tiene un aspecto distinto al de la máquina local, puede salvarnos a la hora de ejecutar algun comando, y si un usuario sin privilegios ve un prompt de un color y root ve colo distinto (mas no default (blanco) para los dos como suele suceder), podrían evitarse errores de configuración o incluso pérdida de datos.

Un prompt de la shell confeccionado a medida de las necesidades propias puede ayudar a prevenir este tipo de confusiones.

El prompt predeterminado de Bash tiene la misma apariencia prácticamente en toda las distribuciones Linux.

Tomando en cuenta la apariencia de los PROMPS podemos notar que en sistemas como SUSE Linux establece uno de este aspecto
user@host: > Para usuarios finales
Mientras que para usuarios Debian será
user@host: $.
En otras palabras, el prompt muestra el directorio de trabajo actual en ambos sistemas, ofreciendo una ayuda orientativa al usuario. Si en Debian cambiamos al directorio a /var/log, el prompt será como sigue
user@host: /var/log$ (Para usuarios finales)
La mayoría de los sistemas Linux cambian el prompt del usuario root. El nombre del usuario se omite y vemos el símbolo almohadilla (#)
en lugar de corchetes o del símbolo dólar.

Existe una variable de entorno $PS1 la cual se encarga de definir la apariencia del prompt de Bash, la cual aparece después de introducir un comando.

Podemos modificar temporalmente $PS1 en la shell actual para realizar comprobaciones.(como veremos mas adelante)

Cuando conseguimos que el prompt tenga la apariencia que necesitamos, podemos hacer que los cambios sean permanentes modificando el fichero de configuración de Bash, /.bashrc (correspondiente al root). Buscamos las opciones predeterminados para $PS1, comentamos la línea insertando una almhadilla (#) al comienzo y añadimos nuestra propia versión.

Si alguno de los experimentos con el prompt en el par de sesiones que presentaremos a continuación se daña(como advertencia), podemos cerrar la sesión actual de Bash e iniciar una nueva shell o invocar a source /.bashrc para restaurar el prompt predeterminado.

Tomemos en cuenta estos elementos que nos permitiran trabajar para la edicion ... !!
\d Formato Corto de fecha (e.g., Tu Jul 24)
\e Carácter escape (^[)
\h Nombre de host corto (hasta el primer punto. Por ejemplo: samesame)
\H Nombre de host largo (Por ejemplo: samesame.chickenix.org)
\j Número de trabajos corriendo en esta shell
\l Nombre base del terminal (Por ejemplo: 10 si tu terminal es pts/10)
\n Nueva línea
\r Retorno de carro
\s Nombre del shell (Por ejemplo: bash)
\t Hora en formato 24-horas (HH:MM:SS; Por ejemplo: 22:11:55)
\A Hora en formato de 24-horas sin segundos (HH:MM; Por ejemplo: 22:11)
\T Hora en formato de 12-horas (HH:MM:SS; Por ejemplo: 10:11:55)
\@ Hora en formato de 12-horas sin segundos (HH:MM; Por ejemplo: 10:11)
\u Nombre de usuario (Por ejemplo: chicken)
\v Versión Bash que estamos usando (Por ejemplo: 3.1)
\V Edición de Bash con número de versión y nivel de patch (Por ejemplo: 3.1.17)
\w Directorio de trabajo actual con nombre completo de ruta (Por ejemplo:
chicken@samesame /etc/apt$, etc.)
\W Directorio de trabajo actual, restringido a la carpeta actual (Por ejemplo:
chicken@samesame apt$ si el usuario está actualmente en /etc/apt)
\! Orden del comando en la historia Bash (Por ejemplo: 123, el comando número 123)
\# Número de comandos en la sesión shell actual
\$ Muestra un símbolo dólar para usuarios no-UID 0 0 (=root), en otro caso un símbolo almohadilla (#)
\nnn Número octal de tres dígitos nnn con los que puedes presentar cualquier carácter ASCII (Por ejemplo: \033 para Escape)
\\ El backslash (\) en sí mismo
\[ Escape del carácter de control siguiente (Por ejemplo: secuencias de escape ANSI o secuencias de control del cursor ANSI)
\] Cierra la entrada del carácter de control

La Sintaxix correspondiente en el terminal es:
# export #PS1= (los elementos que deseemos que tenga nuestro PROMPl)
ejemplo:
# export PS1='[\T] \u@\h ' nos muestra un promp de este aspecto

[12:03:26] root@Deathcore
Si vemos en la lista de elementos, podemos ver porque el promp tomo ese aspecto.

"el arroba (@) es un simbolo que nos sirve para la separacion no confundir con \@ (tiene funciones ditintas"

Ahora ... si deseeamos que nuestro promp tenga colores, tenemos que hacer uso de codigo ANSI y trabajar cada uno de los elementos dentro de (\[ \]) incluyendo si deseamos los demas elementos como mostrar nuestro hostname, usuario, y direccion actual con colores debemos hacerlo dentro de los corchetes...

Primero una pequeña lista de colores en codigo ANSI:
Negro 0;30 Gris oscuro 1;30
Azul 0;34 Azul claro 1;34
Verde 0;32 Verde claro 1;32
Cyan 0;36 Cyan claro 1;36
Rojo 0;31 Rojo claro 1;31
Púrpura 0;35 Púrpura claro 1;35
Marrón 0;33 Amarillo 1;33
Gris claro 0;37 Blanco 1;37
Ejemplos de asignacion de color + integracion de otros elementos:
# export PS1='\[\033[1;33m\]\t \[\e[01;31m\]\u\[\e[00m\]@\w\ >> '
En este ejemplo exportamos los valores clasicos del promp por modificandolos por medio de la variable PS1:

\[\033[1;33m\]\t -> se encarga de asignarle un color amarillo a la hora que es llamada por el elemento \t

\[\e[01;31m\]\u -> se encarga de asignarle un color rojo al usuario actual
[\e[00m\]@\w\ >> -> se encarga de asignar un color blanco a la direccion donde estemos ubicados y el (>>) es el remplazo del (#) ..
si deseamos Incluir comandos (dentro del promp)...
# export PS1="\[\033[34m\][\$(date +%H%M)][\u@\h:\w]$ " (debemos cambiar de comillas simples ('') a comillas dobles (""))


Publicado por MoloX en 1:30:00 AM  
0 comentarios

Publicar un comentario en la entrada