Aprenda los conceptos básicos del shell Zsh

Aprenda los conceptos básicos del shell Zsh

Objetivo

Instale ZSH con Oh My ZSH y aprenda las características básicas.

Distribuciones

ZSH está disponible en los repositorios de casi todas las distribuciones.

Requisitos

Una instalación de Linux que funciona con privilegios de raíz.

Dificultad

Fácil

Convenciones

  • # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
  • ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Introducción

Bash no es malo. Hace el trabajo bien, pero ¿alguna vez ha considerado cómo sería si Bash tuviera algunas características adicionales para que sea más conveniente trabajar con? Eso es más o menos lo que es Zsh.

Incluye todas las características que esperarías de Bash, pero también tiene algunas adiciones realmente agradables para facilitar tu vida. En realidad, te sorprenderá lo más fácil que hacen que trabajar en la línea de comandos.

Instalar ZSH

Primero, necesitará instalar ZSH. Es increíblemente popular, por lo que no tendrás problemas para encontrarlo en los repositorios de tu distribución.

Ubuntu/Debian

$ sudo apt instalación zsh

Fedora

# dnf -y install zsh

Cento

# yum -y install zsh

Usura de apertura

# Zypper en ZSH

Arch Linux

# Pacman -S ZSH

GENTOO

# Emerge --Sk Zsh

Probablemente tengas la idea. Es posible usar ZSH simplemente escribiéndolo como un comando en Bash. Ese terminal en particular cambiará a ZSH temporalmente. Sin embargo, es mejor cambiar de forma permanente. No le costará nada, y puede hacer todo lo que normalmente haría exactamente de la misma manera. Además, puede volver exactamente de la misma manera, si realmente lo desea.

$ chsh -s /bin /zsh

Es posible que desee volver a iniciar o cerrar todas sus terminales para que el cambio surta efecto.



Instalar oh-my-zsh

Ahora que tiene ZSH instalado y habilitado como su shell predeterminado, es una gran idea elegir un complemento para ZSH, llamado Oh-My-Zsh. Es un paquete de temas y complementos que mejoran la funcionalidad existente de ZSH. El no lo disminuirá ni se interponga en el camino, así que toma eso e instálelo.

$ sh -c "$ (curl -fssl https: // raw.githubusercontent.com/robbyrussell/oh-my-zsh/maestro/herramientas/instalar.sh) "

Si desea leer más al respecto antes de instalar, consulte el proyecto https: // github.com/robbyrussell/oh-my-zsh.

El archivo de configuración

Al igual que Bash ha .bashrc, Zsh tiene .ZSHRC. Es el archivo único que contiene las opciones de configuración para el shell, y puede usarlo para establecer alias y personalizar el comportamiento de tiempo de ejecución. A partir de ahora, en realidad tiene un buen conjunto de valores predeterminados gracias a OH-My-Zsh, que configuró el archivo durante su instalación.

Temas

ZSH admite el tema del aviso. Viene con algunos temas incorporados, pero no son tan buenos como los que vienen con Oh-My-Zsh. Puedes echar un vistazo a cómo se ven en el https: // github.com/robbyrussell/oh-my-zsh/wiki/temas Oh-my-zsh wiki.

Para cambiar tu tema, abre .ZSHRC Y encuentra la línea de abajo. Cambie el nombre del tema a cualquiera que desee probar.

Zsh_theme = "Robbyrussell"

Complementos

Oh-My-Zsh también trajo consigo una montaña de complementos. Tomaría demasiado tiempo cubrirlos a todos aquí, así que mira el https: // github.com/robbyrussell/oh-my-zsh/wiki/complementos Oh-my-zsh wiki para toda la lista. Independientemente de qué otros elijas, habilitando extracto y z es una buena idea. Una vez más, sus complementos están configurados con una línea en .ZSHRC.

complementos = (extracto de git z)

Finalización de pestañas

Bash tiene finalización de pestañas, pero es débil en el mejor de los casos. ZSH lleva la finalización de la pestaña a un nuevo nivel. Intenta escribir LS seguido por el nombre de un directorio. Después del nombre, presione la pestaña dos veces en rápida sucesión. ZSH mostrará automáticamente los archivos y carpetas dentro del directorio que nombró. Puede navegar a través de esos directorios usando las teclas de flecha. Presione Entrar en el que desea ver y ejecute el comando.

Lo mismo funciona con otros comandos también. Pruébalo con cd.

No son solo directorios que Zsh puede completar con la pestaña. También funciona con comandos. Intenta escribir mk y pestaña presionando dos veces. Obtendrá el mismo tipo de menú con diferentes comandos que comienzan con mk.

Abreviatura de directorio

¿Odias la escritura de largas rutas de directorio?? ZSH tiene una solución para eso también. Admite su propia versión de taquigrafía que le permite escribir solo el primer par de letras de cada directorio en el camino. Los coincidirá con el camino completo lo mejor que pueda. Si encuentra múltiples resultados, los mostrará para que elija.

Intenta entrar $ ls/u/sh/ico en la pestaña Terminal y presionante. ZSH lo expandirá a la ruta completa al directorio de iconos compartidos.

Alias

Esta es una característica de OH-My-Zsh, no del caparazón en sí, pero sigue siendo realmente conveniente. Oh-My-Zsh viene con un montón de excelentes alias para todo lo que forme directorios de navegación a programas comunes como Git y Systemd. Una vez más, hay más de lo que hay tiempo para ir aquí, pero aquí hay algunas luces de altura.

CD ... /... = ... CD ... /... /... = ... mkdir -p = md rmdir = rd git add = ga git add --All = gaa git ram. CurrentBranch = ggpull git push origen centreChranch = ggpush systemctl start = sc-start systemCtl stop = sc-stop systemCtl status = sc-status systemCtl enable = sc-habilitando 

Si desea ver la lista completa, nuevamente el https: // github.com/robbyrussell/oh-my-zsh/wiki/hoja de trucos Wiki es tu mejor apuesta.



Z

Z en realidad no es parte de ZSH u OH-My-Zsh, solo está habilitado como un complemento de este último. Aún así, se ajusta fácilmente con el mismo estilo de uso que ZSH permite. Z es un script que realiza un seguimiento de los directorios recientes utilizados y utilizados, por lo que puede acceder a ellos con un solo trabajo o combinación de caracteres.

Por ejemplo, si tuviera una carpeta en /Home/User/Pictures/Photography/Canon/2017/Pics, y lo usas todo el tiempo, puedes usar Z acortar eso drásticamente. Con Z Utilizaría el siguiente comando de Linux para ingresar ese directorio.

Fotos de $ z

Sí, es tan ridículamente fácil.

Búsqueda de procesos de matar

Puede ser un dolor matar un proceso que no responde. Primero, necesitas usar PD Para encontrar el proceso de ofensiva. Entonces, necesitas usar matar y el número de proceso seleccionado. ZSH racionaliza ese proceso. Escribir matar seguido del nombre, o parte del nombre, del proceso o programa que desea matar. Luego, use la pestaña para decirle a ZSH que descubra la ID del proceso.

Aunque use este con cierto grado de precaución. Digamos que quieres matar a un Firefox que no responde, pero tienes FirJail corriendo con otro programa. Mecanografía matar fuego Puede que no te consiga lo que estás buscando, escribiendo matar a Firefox probablemente lo hará. Tampoco es una buena idea jugar con este como raíz. Realmente no tienes que entrar en algo como matar sys y derribar pid 1.

Historial específico de comando

A veces, mirar hacia atrás a través de su historial de comando es un dolor gigante. Necesita ese comando que escribió hace 20 líneas porque no está completamente seguro de qué interruptores usó, y parece que no puede encontrarlo a pesar de toda la razón. Bueno, ZSH admite la historia específica del comando. Entonces, si sabes que el comando que usaste fue du, escribir du y luego comienza a presionar la flecha hacia arriba. Solo verás tus usos recientes del comando du.

Búsqueda de interrupción

Si bien las páginas de los hombres son geniales, no son tan convenientes cuando solo buscas escribir un comando único muy rápido. Además, siempre hay mucho más que una referencia básica de los interruptores disponibles. ZSH tiene una característica increíble que le permite buscar interruptores mientras escribe su comando. Comience el comando, escriba el tablero asociado con el interruptor, luego presione la pestaña. ZSH mostrará las opciones disponibles para usted. La mayoría de las veces, le preguntará si desea que muestre todos los elementos, presione Y para confirmar.

Globbiing

¿Alguna vez has usado un personaje comodín para buscar algo de la terminal??

$ ls -l *.png

Esa es una forma de globo. Globbing es esencialmente expresiones regulares para el caparazón. Si bien Bash lo apoya, ZSH expande sus capacidades de globo mucho más allá de Bash.

Intente escribir este comando en su /hogar Directorio que usa ZSH.

$ ls **/*

Sí, eso es mucha basura en tu terminal. Ese comando en realidad enumera todo en su directorio actual, así como en todos los subdirectorios. Puede usarlo para encontrar tipos de archivos específicos también.

$ ls **/*.TXT

Eso es todo el .TXT archivos en tu /hogar directorio.

También puede especificar un nombre de archivo completo. Intenta usarlo para encontrar todo Readme archivos en tu /hogar directorio.

$ LS **/Readme.*

También puede buscar palabras o frases dentro de los nombres de los archivos.

## comienza con leer $ ls **/(leer)*.*## termina con leer $ ls **/*(leer).*## contiene leer en cualquier lugar $ ls **/*(leer)*.* 

Esa es una forma realmente incómoda de enumerar archivos. Hay un par de formas muy fáciles de especificar archivos y carpetas.

# Archiva solo $ ls **/*(.) # Carpetas solo $ ls **/*(/) 

También puede especificar uno de varios caracteres.

# Todos los archivos que comienzan con un $ ls **/[a]*(.) # Todos los archivos que comienzan con un $ ls **/[aa]*(.) # Todos los archivos que contienen el número $ ls **/*[1]*(.) # Cualquier archivo que termine en una vocal $ ls **/*[aeioUy] (.) 


Si quieres excluir a un personaje o personajes, también puedes hacerlo.

# Archivos que no comienzan con un $ ls **/[^aa] (.) 

Puede buscar rangos de letras también.

# Archivos que terminan en un número $ ls **/*(.) 

Clasificatorios del globo

Hay otras opciones que puede usar para ordenar y filtrar los resultados de su búsqueda. Estos se llaman clasificatorios del globo, y hacen que la búsqueda a través de sus archivos sea simple.

Primero, puede restringir por tamaño de archivo con L.

$ ls -lahs **/*(.LM+250) 

El ejemplo anterior solo muestra archivos archivos de más de 250 MB en orden de tamaño.

Entonces, L restringe por tamaño. Está emparejado con k, metro, y gramo Para especificar unidades de tamaño. Luego, hay un número positivo o negativo para establecer un punto de corte y determinar si los resultados estarán por encima o por debajo de ese punto.

Mira algunos más.

# Enumere todos los archivos en 1 GB por tamaño $ ls -lahs **/*(.LG -1) # Enumere todos los archivos de más de 10 MB por tamaño $ ls -lahs **/*(.LM+10) # Enumere todos los archivos que comienzan con un menos de 100 MB por tamaño $ ls -lahs **/[a]*(.LM-100) 

También hay calificadores para filtrar por modificación y acceso. Ellos son metro y a respectivamente. Se pueden emparejarse con s, metro, H, d, w, y METRO. Esos representan segundos, minutos, horas, días, semanas y meses.

Para enumerar todos los archivos modificados dentro de él la semana pasada, intente esto.

$ ls -lah **/*(.MW-1)

El número en la declaración significa cuántos de la unidad para mirar hacia atrás. Esto encontraría todos los archivos modificados en los últimos 3 días.

$ ls -lah **/*(.MD-3)

Hay otros clasificatorios menos comunes para explorar, y puede unirlos absolutamente para reducir sus búsquedas aún más.

Autocorrección

Esta última característica es realmente agradable. Todos están confundidos con algo y tuvieron que volver a escribir todo desde cero. Es simplemente molesto. Zsh intenta ayudar. Si ZSH detecta una palabra que parece una versión con mistre de un comando real, le preguntará si desea corregirla y ejecutar el comando, ahorrándole la molestia de tener que volver a escribir todo.

Dale una oportunidad creando un directorio, de la manera incorrecta.

$ mdkir de un pañuelo

Zsh al rescate!

Pensamientos de cierre

Ahí está, zsh en todo su gloria. Esto no es algo que puedas leer aquí e de inmediato saber. Es una herramienta que puedes recoger en este momento y usar exactamente como lo haría. Luego, puede comenzar a probar diferentes características e integrarlas lentamente en sus hábitos habituales.

Una vez que comience a acostumbrarse a ZSH, se dará cuenta de cuánto le gusta y confiará en ello. No es nada realmente revolucionario, pero proporciona todo tipo de comodidades que probablemente desearías pensar o haber tenido hace años.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Cosas para instalar en Ubuntu 22.04
  • Comandos de Linux: los 20 comandos más importantes que necesitas ..
  • Comandos básicos de Linux
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Instale Arch Linux en VMware Workstation
  • Descarga de Linux
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
  • La mejor distribución de Linux para desarrolladores