Skip to content

Kat404/ZSH-Terminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

🚀 Tutorial Definitivo de Zsh

📚 Tabla de Contenidos

  1. Instalación de Zsh
  2. Introducción
  3. Navegación Básica
  4. Gestión de Archivos y Directorios
  5. Utilidades del Día a Día
  6. Búsquedas
  7. Tuberías y Redirecciones
  8. Atajos de Teclado Esenciales
  9. Editores de Texto
  10. El Poder de Zsh y Oh My Zsh
  11. Plugins de Oh My Zsh
  12. Alias útiles
  13. Yazi - Navegador de Archivos en Terminal
  14. Antidote - Gestor de Plugins para Zsh
  15. Personalización de Powerlevel10k

📦 Instalación de Zsh

Para iniciar con el contenido de este repositorio, necesitarás instalar zsh y aplicarlo como tu shell predeterminado. Según tu distribución de Linux será el comando que debes ejecutar para instalar zsh, este usualmente se puede encontrar de forma nativa en varios administradores de paquetes.

Debian/Ubuntu

sudo apt update && sudo apt install zsh

Fedora

sudo dnf install zsh

Arch Linux

sudo pacman -S zsh

OpenSUSE

sudo zypper install zsh

Post-instalación

Después de instalar zsh, puedes aplicarlo como tu shell predeterminado ejecutando el siguiente comando:

chsh -s $(which zsh)

Por último, para que zsh se aplique correctamente deberás cerrar tu sesión (y volver a entrar) o simplemente reiniciar.

🏠 Introducción

Al iniciar nuestra terminal veremos un prompt único:

user_name@pc_name ~
  • user_name@pc_name: Es el usuario@nombre_del_equipo
  • ~: Es el directorio actual. El símbolo ~ (llamado "tilde") es un atajo para tu carpeta personal (/home/usuario/).

Nota: Usando Powerlevel10k verás un indicador visual (✓ o ✗) que muestra si el último comando se ejecutó con éxito o falló.

📂 Navegación Básica

ls - Listar archivos y directorios

Lista el contenido del directorio actual.

Opciones útiles:

  • ls -l: Muestra una lista detallada (permisos, propietario, tamaño, fecha).
  • ls -a: Muestra todos los archivos, incluyendo los ocultos (que empiezan con .).
  • ls -h: Usado con -l, muestra el tamaño en formato humano (KB, MB, GB).
  • ls --color: Muestra la salida con colores, diferenciando carpetas de archivos.

Atajos de Oh My Zsh:

alias ll='ls -l'
alias l='ls -CF'
alias la='ls -A'

cd - Cambiar de directorio

  • cd Descargas: Ir a la carpeta de Descargas
  • cd o cd ~: Volver a tu carpeta personal
  • cd -: Volver al directorio anterior
  • cd ..: Subir un nivel
  • cd ../..: Subir dos niveles

Consejo: Escribe cd De y presiona Tab. Zsh autocompletará a Descargas/ por ti.

pwd - Mostrar directorio actual

Muestra la ruta completa del directorio actual.

pwd
# Salida: /home/usuario

📁 Gestión de Archivos y Directorios

mkdir - Crear directorios

# Crear un directorio simple
mkdir Proyectos

# Crear directorios anidados
mkdir -p Proyectos/2025/Web

touch - Crear archivos vacíos

touch nota.txt
touch app.py

cp - Copiar archivos y directorios

# Copiar un archivo
cp archivo.txt Documentos/

# Copiar y renombrar
cp archivo.txt copia_archivo.txt

# Copiar directorios (usar -r para recursivo)
cp -r directorio/ copia_directorio/

mv - Mover o renombrar

# Renombrar archivo
mv viejo.txt nuevo.txt

# Mover archivo
mv documento.txt Documentos/

# Mover y renombrar
mv archivo.txt Documentos/nuevo_nombre.txt

rm - Eliminar archivos y directorios

⚠️ ¡Cuidado! Los archivos eliminados no van a la papelera.

# Eliminar archivo
rm archivo.txt

# Eliminar directorio vacío
rmdir directorio_vacio

# Eliminar directorio con contenido (¡Usar con precaución!)
rm -r directorio_con_contenido

🛠️ Utilidades del Día a Día

sudo - Ejecutar como superusuario

sudo comando

Gestión de paquetes (Debian/Ubuntu)

# Actualizar lista de paquetes
sudo apt update

# Actualizar el sistema
sudo apt upgrade

# Instalar software
sudo apt install nombre_paquete

# Eliminar software
sudo apt remove nombre_paquete

🔍 Búsquedas

find - Buscar archivos

# Buscar archivos .conf
find . -name "*.conf"

# Buscar archivos modificados en los últimos 7 días
find /ruta -mtime -7

grep - Buscar en archivos

# Buscar "error" en archivos .log
grep "error" *.log

# Búsqueda recursiva
grep -r "palabra" /directorio/

🔄 Tuberías y Redirecciones

# Tubería (|): Conectar comandos
ps aux | grep firefox

# Redirección (>): Guardar salida en archivo
ls -l > lista_archivos.txt

# Añadir al final de archivo (>>)
echo "nueva línea" >> archivo.txt

⌨️ Atajos de Teclado Esenciales

  • Ctrl + C: Cancelar comando actual
  • Ctrl + D: Cerrar terminal
  • Ctrl + L: Limpiar pantalla
  • Ctrl + A: Ir al inicio de la línea
  • Ctrl + E: Ir al final de la línea
  • Ctrl + U: Borrar hasta el inicio de la línea
  • Ctrl + K: Borrar hasta el final de la línea
  • Ctrl + W: Borrar palabra anterior
  • Ctrl + R: Buscar en el historial

📝 Editores de Texto

nano - Editor simple

nano archivo.txt

Comandos básicos:

  • Ctrl + O: Guardar
  • Ctrl + X: Salir
  • Ctrl + K: Cortar línea
  • Ctrl + U: Pegar

neovim/vim - Editor avanzado

nvim archivo.conf

Modos principales:

  1. Modo Normal (al abrir): Para navegación

    • h, j, k, l: Moverse (izquierda, abajo, arriba, derecha)
    • i: Entrar al modo Insertar
    • v: Modo Visual para seleccionar texto
  2. Modo Insertar (i): Para escribir texto

    • Esc: Volver al modo Normal
  3. Comandos (desde modo Normal, presiona :):

    • :w: Guardar
    • :q: Salir
    • :wq: Guardar y salir
    • :q!: Forzar salida sin guardar

⚡ El Poder de Zsh y Oh My Zsh

Autocompletado Inteligente (Tab)

  • Rutas: cd /v/l + Tabcd /var/log
  • Comandos: git ch + Tab → Muestra opciones como checkout, cherry-pick
  • Paquetes: apt install + Tab → Lista de paquetes disponibles

Búsqueda en el Historial

  • Ctrl + R: Busca en el historial de comandos
  • Flechas arriba/abajo: Navega por comandos recientes

🔌 Plugins de Oh My Zsh

Edita ~/.zshrc para activar plugins:

plugins=(
  git
  z
  colored-man-pages
  sudo
  wd
)

Plugins recomendados:

  • git: Atajos como gaa para git add --all
  • z: Navegación rápida entre directorios frecuentes
  • colored-man-pages: Manuales a color
  • wd: Marcadores de directorios

🛠️ Alias útiles

Añade esto a tu ~/.zshrc:

# Actualización del sistema
alias update="sudo apt update && sudo apt upgrade -y && flatpak update"

# Atajos comunes
alias cls="clear"
alias fsh="fastfetch"
alias nsh="neofetch"

# Comandos en español
alias salir="exit"
alias ir="cd"
alias cds="yazi"  # Administrador de archivos

Recarga la configuración:

source ~/.zshrc

🚀 Yazi - Navegador de Archivos en Terminal

Yazi es un administrador de archivos rápido y potente escrito en Rust hecho para ser usado de manera eficiente en la terminal.

Instalación

# Para Arch Linux (sin necesidad de usar Rustup, omitir todos los demás pasos)
sudo pacman -S yazi ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick

# Para Debian/Ubuntu (únicamente se instalan las dependencias necesarias para Yazi, Yazi debe ser construido con Rustup)
sudo apt install ffmpeg 7zip jq poppler-utils fd-find ripgrep fzf zoxide imagemagick

# Construir manualmente (necesario si tu distro de Linux no tiene paquetes nativos para Yazi)
# Instalar Rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup update

# Clona el repositorio y construye Yazi
git clone https://github.com/sxyazi/yazi.git
cd yazi
cargo build --release --locked

# Añade 'yazi' y 'ya' a tu $PATH
mv target/release/yazi target/release/ya /usr/local/bin/

Uso Básico

yazi  # Iniciar Yazi

Navegación:

  • h/: Directorio anterior
  • l/: Entrar al directorio
  • j/: Bajar en la lista
  • k/: Subir en la lista
  • q: Salir
  • a: Crear un archivo o directorio (para crear un directorio debe terminar en /)
  • d: Borrar un archivo o directorio (son dirigidos al portapapeles)
  • D: Borrar un archivo o directorio (son eliminados permanentemente)
  • y: Copiar un archivo o directorio
  • Y: Dejar de copiar el archivo o directorio más reciente
  • x: Cortar un archivo o directorio
  • X: Dejar de cortar el archivo o directorio más reciente
  • p: Pegar un archivo o directorio (funciona tanto con y como con x)

⚡ Antidote - Gestor de Plugins para Zsh

Antidote es la cura para el manejo lento de plugins en Zsh.

Instalación

git clone --depth=1 https://github.com/mattmc3/antidote.git ${ZDOTDIR:-$HOME}/.antidote

Configuración

  1. Crea los archivos necesarios:

    touch ~/.zshrc_plugins.txt
    mkdir -p ~/.zshrc.d/
    touch ~/.zshrc.d/aliases.zsh
    touch ~/.zshrc.d/keybindings.zsh
  2. Añade plugins a ~/.zsh_plugins.txt:

    zsh-users/zsh-autosuggestions
    zsh-users/zsh-syntax-highlighting
    • O añade los plugins seleccionadamente curados de este repostorio en tu archivo ~/.zsh_plugins.txt.
  3. Añade el siguiente código al archivo ~/.zshrc:

    source ${ZDOTDIR:-$HOME}/.antidote/antidote.zsh
    antidote load
    • O añade el código ya personalizado out-of-the-box de este repositorio en tu archivo ~/.zshrc.
  4. Configura tus aliases y atajos de teclado copiando los archivos de configuración listos para usar:

    # Copia los archivos de configuración predefinidos
    cp -r /ruta/a/Terminal-Linux/Zsh-Config/.zshrc.d/* ~/.zshrc.d/
    
    # O copia manualmente los archivos si prefieres:
    # cp /ruta/a/Terminal-Linux/Zsh-Config/aliases.zsh ~/.zshrc.d/
    # cp /ruta/a/Terminal-Linux/Zsh-Config/keybindings.zsh ~/.zshrc.d/
    • Estos archivos contienen configuraciones optimizadas y listas para usar, incluyendo alias útiles y atajos de teclado personalizados.
  5. Recarga la configuración:

    exit
  6. ¡Abre otra terminal y disfruta de tu nueva experiencia rápida en Zsh!

🎨 Personalización de Powerlevel10k

Después de instalar Oh My Zsh o Antidore con el tema Powerlevel10k, ejecuta:

p10k configure

Sigue el asistente para personalizar tu prompt. ¿Qué tal? ¿Fácil verdad?

About

Guía de uso y personalización (con OMZ o Antidote) para ZSH

Topics

Resources

Stars

Watchers

Forks

Languages