zsh: Una shell interactiva más amigable para el usuario
zsh una shell interactiva más amigable para el usuario, hace un par de días estaba leyendo en la documentación de Gentoo y ví uno que hablaba la instalación de zsh. Umm, ni idea que era así que a googlear un poco sobre el tema.
zsh: Una shell interactiva más amigable para el usuario definición según Wikipedia
Zsh es un intérprete de comandos, también conocido como shell, para sistemas operativos basados en Unix, como por ejemplo GNU/Linux. La primera versión de la Zsh fue escrita por Paul Falstad en 1990 cuando era un estudiante en la Princeton University.
La Zsh se diseñó para poder ser usada interactivamente, muchas de las características principales de otras shells de Unix como, bash, ksh, o tcsh le han sido incorporadas y además posee características propias originales.
Ahora bien, ¿qué es lo que hace que esta shell sea mejor que las otras? y ¿por qué debería reemplazar bash, si funciona tan bien?
Sobre Zsh
Zsh incorpora muchísimas más capacidades que otras shells (como bash, ksh, tcsh) y al ser interactiva mejora significatívamente la experiencia del usuario. Algunas de sus características:
1. Compatibilidad: Es complétamente compatible con bash, de manera que podrás hacer las cosa tal como las hacías antes sin tener que aprender absolútamente nada; todo con el agregado que proporciona zsh. Si escribes scripts, debes saber que también son compatibles con zsh.
2. Completado de comandos: No, no me refiero al que trae bash por defecto. Es una versión bastante mejorada; puedes hacer cosas como:
- Escribir un comando y dejar que te liste los posibles parámetros a utilizar y su respectiva explicación
- Presentar sugerencias en un menú por el que puedes navegar con el teclado
- En adición a los resultados exactos también puede mostrar resultados parecidos.
- Mostrar opciones incluso para complejos comandos virtuales.
3. Autocorreción de errores: En caso de que escribas mal un comando zsh tratará de corregirlo automáticamente y preguntarte si eso es lo que quieres zsh: correct 'palidus' to 'paludis' [nyae]?
4. Compartir el historial entre sesiones: Al tener varias sesiones de zsh al mismo tiempo puedes hacer uso del historial con los comandos que has ejecutado entre una y otra.
5. Modo-perezoso: Permite hacer cosas como "README"
en vez de "less README"
ó "Descargas/"
en vez de "cd Descargas/"
.
6. Poderoso englobamiento: Es posible hacer cosas como ls work[4-17].odt
en vez de ls work*.odt.
7. Muchísimas más!
Instalación de Zsh
En caso de que hayas quedado convencido de la superioridad de Zsh y quieras probarlo, puedes hacer la instalación con el gestor de paquetes que uses; segúramente ya se encuentre en los repositorios. Yo lo haré desde mi Gentoo:
emerge -av zsh zsh-completion
Una vez instalado ejecutamos zsh
para abrir una sesión. Al menú que nos aparece le decimos quit que luego podemos generar el archivo .zshrc con las opciones que nos interesen. Si queremos cambiar la apariencia del prompt:
autload -U promptinit
promptinit
Para ver los estilos disponibles, escribimos prompt -p.
El color azul con blanco de los pantallazos que he puesto de mi shell lo he seleccionado con prompt adam1.
Hay un sinfín de opciones por explorar, la documentación de ZSH contiene todo lo necesario para que te puedas familiarizar con esta shell.
En caso de que te haya gustado y quieras dejarla como shell por defecto:
# usermod -s /bin/zsh usuario
Nota: Si no te funcionan las teclas Fin e Inicio en la shell, agregando lo siguiente a tu ~/.zshrc podrás solucionarlo:
case $TERM in
xterm)
bindkey '\eOH' beginning-of-line
bindkey '\eOF' end-of-line
bindkey '\e[2~' overwrite-mode
bindkey '\e[5~' beginning-of-buffer-or-history
bindkey '\e[6~' end-of-buffer-or-history
;;
aixterm)
# similar commands but with aixterm sequences
;;
# and so on for other terminal types
esac
Recuerde hacer source ~/.zshrc
para que haga uso de la información agregada.
zsh: Una shell interactiva más amigable para el usuario Enlaces
Por último, te invito a que participes de la educación online que DragonJAR te ofrece como es el diplomado de Seguridad Informática Ofensiva, accede por el enlace y conoce mucho más - https://www.dragonjar.education/diplomado/
Contáctanos al Móvil (+57)-3043849657 también al WhatsApp a través del siguiente enlace - https://wa.link/vrn1p7