Instrucciones básicas
wsl –install
¿Qué es? Instala wsl ; subsistema de W / Linus
USO: Instala el subsistema wsl
pwd
¿Qué es? Muestra el directorio actual.
USO: Saber en qué carpeta te encuentras.
Ls
¿Qué es? Lista los archivos y carpetas del directorio actual.
USO: Ver el contenido de una carpeta.
ls -l
¿Qué es? Lista los archivos y carpetas del directorio actual en large.
USO: Ver el contenido de una carpeta más ampliado.
ls -h
¿Qué es? Lista los archivos y carpetas del directorio actual más humano.
USO: Ver el contenido de una carpeta más humano.
ls -la
¿Qué es? Lista los archivos y carpetas del directorio actual + ocultos.
USO: Ver el contenido de una carpeta + archivos ocultos.
cd [directorio]
¿Qué es? Cambia el directorio actual.
USO: Navegar por el sistema de archivos.
clear
¿Qué es? Limpia la pantalla de la terminal.
USO: Limpiar el terminal para mejorar la visibilidad.
Ctrl + L
¿Qué es? Limpia la pantalla de la terminal.
USO: Limpiar el terminal para mejorar la visibilidad.
file [cadena]
¿Qué es? Buscador de archivos
USO: Busca los archivos que coincidan con la cadena
Ej: file mi_* mi_archivo_de_prueba.txt : empty
tree
¿Qué es? Muestra árbol de directorios y archivos
USO: Claridad en la visualización y organización del espacio.
Tree -L [# de niveles]
¿Qué es? Muestra árbol de directorios y archivos en x niveles
USO: Claridad en la visualización y organización del espacio.
Ej: tree -L 2
exit
¿Qué es? Cierra la terminal.
USO: Salir de una sesión o cerrar la ventana de terminal.
Manejo de archivos
touch archivo.txt
¿Qué es? Crea un archivo vacío.
USO: Crear archivos rápidamente.
mkdir carpeta1 carpeta2 …
¿Qué es? Crea un, x directorio/s.
USO: Crear carpetas nuevas.
cp archivo1 archivo2
¿Qué es? Copia archivos o directorios.
USO: Hacer copias de seguridad.
mv archivo destino/
¿Qué es? Mueve o renombra archivos.
USO: Organizar archivos.
rm archivo
¿Qué es? Elimina archivos.
USO: Borrar archivos innecesarios.
rm -r carpeta/
¿Qué es? Elimina directorios y su contenido.
USO: Borrar carpetas completas.
rm -ri carpeta/
¿Qué es? Elimina directorios y su contenido preguntando uno a uno.
USO: Borrar carpetas completas.
rm archivo?.txt
¿Qué es? Borra archivos con un solo caracter comodín.
USO: Borrar archivos de patrones similares.
head archivo.txt
¿Qué es? Muestra las primeras 10 líneas de un archivo.
USO: Ver un resumen inicial de un archivo largo.
Ej: head -n 20 archivo.txt → Muestra las primeras 20 líneas.
tail archivo.txt
¿Qué es? Muestra las últimas 10 líneas de un archivo.
USO: Ver el final de un log o archivo en crecimiento.
Ejs:
tail -n 20 archivo.txt → Muestra las últimas 20 líneas.
tail -f archivo.txt → Sigue el archivo en tiempo real (útil para logs).
less archivo.txt
¿Qué es? Permite navegar por un archivo de texto largo página por página.
USO: Leer archivos grandes de forma interactiva.
Controles dentro de less:
o /palabra → Busca una palabra o frase hacia adelante.
o n → Ir al siguiente resultado de la búsqueda.
o N → Ir al resultado anterior.
o q → Salir de less.
o Espacio → Página siguiente.
o b → Página anterior.
less es más potente y cómodo que cat para archivos grandes, porque permite búsqueda y navegación sin mostrar todo de golpe.
Open [archivo]
¿Qué es? Abre archivo en programa predeterminado
USO: Apertura rápida
xdq -open [archivo]
¿Qué es? Abre archivo en programa predeterminado
USO: Apertura rápida
type [comando]
¿Qué es? Devuelve el tipo de cualquier comando
USO: Claridad en las instrucciones
man [comando]
¿Qué es? Acceso al manual de una instrucción
help
¿Qué es? Acceso a la ayuda general del terminal
[comando] - -help
¿Qué es? Acceso a la ayuda de un comando especifico
info [lo que sea]
¿Qué es? Acceso a la info del [lo que sea]
Whatis [comando]
¿Qué es? Acceso a la explicación corta
alias cls=‘clear’
¿Qué es? Define un atajo temporal para un comando.
USO: Personalizar y acelerar comandos frecuentes.
Wildcards (comodines)
Los de ls:
USO: Trabajar con grupos de archivos.
ls .txt
¿Qué es? Lista todos los archivos que terminan en .txt.
USO: Trabajar con grupos de archivos.
ls [cadena]?
¿Qué es? Lista todos los archivos que inicien por cadena + 1 carácter más.
USO: Trabajar con grupos de archivos.
ls [cadena]???
¿Qué es? Lista todos los archivos que inicien por cadena + 3 caracteres.
ls [[:upper:]]
¿Qué es? Lista todos los archivos o carpetas cuyo nombre comienza con una letra mayúscula.
Uso: Útil para identificar archivos que siguen una convención de nombres con inicial en mayúscula, como nombres propios o documentos formales.
ls -d
¿Qué es? Lista el nombre del directorio actual sin mostrar su contenido.
Uso: Se usa cuando no se desea ver dentro del directorio sino solo verificar su existencia o propiedades.
ls -d /
¿Qué es? Lista el nombre del directorio actual sin mostrar su contenido.
Uso: Lista solo los nombres de los directorios sin entrar en ellos.
ls [ad]
¿Qué es? Lista todos los archivos y carpetas cuyos nombres comienzan con la letra a o d.
Uso: Sirve para filtrar rápidamente archivos o directorios que comienzan con letras específicas, por ejemplo, para identificar archivos como archivo.txt, datos.csv, documento.pdf, etc., sin listar el resto.
ls [[:digit:]]
¿Qué es? Lista todos los archivos o directorios cuyos nombres comienzan con un dígito (0-9).
Uso: Se utiliza cuando deseas ver rápidamente todos los elementos cuyo nombre inicia con un número. Esto es útil, por ejemplo, cuando tienes archivos numerados (como reportes, logs o carpetas ordenadas cronológicamente).
ls Pictures
¿Qué es? Lista el contenido del directorio llamado Pictures.
Uso: Navegar o verificar qué archivos hay en la carpeta de imágenes del sistema.
ls Pictures > archivo_salida.txt
¿Qué es? Redirecciona la salida del comando ls Pictures a un archivo llamado archivo_salida.txt.
Uso: Guardar el listado de archivos de una carpeta para procesarlo luego, compartirlo o archivarlo.
echo “Hola” > saludo.txt
¿Qué es? Redirecciona la salida a un archivo, sobrescribiendo.
USO: Crear o sobrescribir archivos con contenido.
ls >> archivo.txt
¿Qué es? Agrega la salida del comando ls al final del archivo archivo.txt, sin borrar su contenido previo.
Uso: Usado cuando quieres ir acumulando información en un archivo de log o bitácora.
echo “Hola” >> saludo.txt
¿Qué es? Agrega texto al final del archivo.
USO: Añadir información sin eliminar lo anterior.
ls 2> error.txt
¿Qué es? Redirecciona solo los mensajes de error del comando ls al archivo error.txt.
USO: Útil para depurar errores de ejecución o cuando buscas diferenciar la salida normal de los errores.
ls directorio > archivo.txt 2>&1
¿Qué es? Redirecciona tanto la salida estándar como los errores al archivo
Uso: Capturar toda la salida de un comando (incluso errores) en un solo archivo.
Explicación:
• > redirecciona la salida estándar (stdout).
• 2> redirecciona la salida de errores (stderr).
• 2>&1 significa “redirige la salida de error al mismo lugar que stdout”.
Pipe operators
cat archivo.txt | grep hola
¿Qué es? Este comando utiliza el pipe (|), que redirige la salida estándar de un comando (cat archivo.txt) como entrada estándar de otro (grep hola).
El comando cat imprime el contenido del archivo archivo.txt, y luego ese contenido es pasado a grep, que busca la palabra “hola” en cada línea del archivo.
USO: Se usa para filtrar contenido. Es muy común en Unix/Linux para trabajar con archivos de texto. Permite hacer búsquedas rápidas sin abrir el archivo manualmente. También es útil en scripts para tomar decisiones basadas en el contenido.
cat archivo1.txt archivo2.txt
¿Qué es? Muestra el contenido de ambos archivos, en orden, uno tras otro.
USO: Se utiliza para ver, combinar o procesar múltiples archivos de texto al mismo tiempo.
cat archivo.txt | sort
¿Qué es? Lee el contenido de archivo.txt y lo pasa a sort, que ordena las líneas alfabéticamente o numéricamente.
USO: Ordenar listas, como nombres, números, palabras o cualquier tipo de entrada de texto.
ls -lh | less
¿Qué es? Lista archivos con tamaños legibles (-lh) y pasa la salida a less, un paginador interactivo.
USO: Ver listados largos en la terminal, con posibilidad de desplazarte por el contenido con las flechas, / para buscar, y q para salir.
Muy útil cuando hay muchos archivos en un directorio.
ls -lh | less | tee salida.txt
¿Qué es? Combina tres herramientas:
• ls -lh lista los archivos,
• less permite verlos por páginas,
• tee salida.txt guarda la salida en un archivo al mismo tiempo que la muestra en pantalla.
USO: Cuando necesitas revisar la salida en pantalla pero también quieres conservar una copia.
Instrucciones especiales: cowsay, fortune, lolcat
Instalaciones:
{sudo apt update} # es bueno tener actualizado el sudo
{ sudo apt install nodejs npm} # para manejo de extensiones
{ sudo apt install cowsay }
{sudo apt install fortune-mod} # Instala fortune con más frases
{sudo apt install ruby} # Requisito previo para lolcat en algunas distros
{sudo apt install lolcat} # Instala lolcat para colorear
cowsay “cadena”
¿Qué es? Muestra un mensaje dentro de una burbuja de diálogo con una vaca ASCII parlante.
USO: Comando lúdico o decorativo en terminales, útil para scripts divertidos o mensajes visuales.
cowsay -f dragon-and-cow
¿Qué es? Usa el personaje “dragon-and-cow” en lugar de la vaca por defecto.
USO: Personalización del personaje que aparece diciendo la cadena.
fortune | cowsay -f dragon | lolcat
¿Qué es? Encadena tres comandos:
• fortune genera una frase aleatoria,
• cowsay la pone en un dibujo tipo cómic,
• lolcat colorea la salida con un degradado tipo arcoíris.
USO: Mostrar frases aleatorias coloridas y con personajes divertidos en la terminal. Se suele usar para animar scripts de bienvenida u ocio.
Control de terminal
Ctrl + C
¿Qué es? Interrumpe la ejecución del comando actual.
USO: Cancelar procesos en curso.
nautilus
¿Qué es? Abre la interfaz de carpeta de archivos.
Ctrl + Z
¿Qué es? Suspende un proceso.
USO: Pausar procesos temporalmente.
inst1 ; inst2 ; inst3
¿Qué es? Ejecuta varios comandos secuencialmente, sin importar si alguno falla.
USO: Ideal para lanzar una serie de comandos en orden sin depender del éxito del anterior.
Cal {sudo apt install cal}
¿Qué es? Muestra el calendario del mes actual o el de un año específico.
USO: Consultar rápidamente fechas desde la terminal.
inst1 & inst2
¿Qué es? Ejecuta el primer comando en segundo plano y el segundo en primer plano inmediatamente.
USO: Permite seguir trabajando mientras otro comando se ejecuta en segundo plano.
inst1 && inst2
¿Qué es? Ejecuta el segundo comando solo si el primero se ejecuta exitosamente.
USO: Encadenar acciones que dependen del éxito del comando anterior.
inst1 || inst2 || inst3
¿Qué es? Ejecuta el siguiente comando solo si el anterior falla (retorna un error).
USO: Permite establecer comandos alternativos en caso de fallos, como intentos sucesivos o soluciones de respaldo.
Manejo de permisos y modos
r, w, x
¿Qué es? Son los permisos de lectura ®, escritura (w) y ejecución (x) que se pueden asignar a archivos y directorios.
USO: Controlar qué puede hacer cada usuario o grupo con un archivo.
u, g, o, a
¿Qué es? Son los modos de usuario: u (usuario propietario), g (grupo), o (otros) y a (todos).
USO: Se utilizan para cambiar permisos a usuarios específicos con chmod.
chmod 755 archivo
¿Qué es? Cambia los permisos a: propietario con todos los permisos (rwx), grupo y otros con lectura y ejecución (r-x).
USO: Dar permisos comunes de ejecución para scripts o binarios sin permitir escritura a otros.
chmod u-r mitexto.txt
¿Qué es? Quita el permiso de lectura al usuario propietario sobre el archivo mitexto.txt.
USO: Restringir acceso incluso al dueño.
chmod u+r mitexto.txt
¿Qué es? Da permiso de lectura al usuario propietario.
USO: Restaurar acceso al dueño.
chmod u-x,go=w mitexto.txt
¿Qué es? Quita ejecución al usuario (u-x) y asigna solo escritura (w) al grupo y a otros.
USO: Personalizar permisos específicos a distintos niveles de usuario.
Whoami
¿Qué es? Muestra el nombre del usuario actual conectado a la terminal.
USO: Saber bajo qué usuario se están ejecutando los comandos.
Id
¿Qué es? Muestra el UID, GID y grupos del usuario actual.
USO: Ver detalles de permisos y pertenencia a grupos.
• $ id uid=1000(juan) gid=1000(juan) grupos=1000(juan),27(sudo)
su
¿Qué es? Permite cambiar al usuario superusuario u otro usuario.
USO: Ejecutar comandos como otro usuario, normalmente root. Requiere contraseña {la pide después}
sudo rm rootfile
¿Qué es? Elimina el archivo rootfile con privilegios de superusuario.
USO: Permitir operaciones administrativas con seguridad. Precede a comandos que requieren permisos elevados.
Passwd
¿Qué es? Cambia la contraseña del usuario actual o de otro (si se es root).
USO: Modificar claves de acceso. Se solicita dos veces la nueva clave para confirmación.
Variables de entorno
Printenv
¿Qué es? Muestra las variables de entorno disponibles en el sistema.
USO: Consultar configuraciones activas como rutas, nombre de usuario, idioma, etc.
echo $HOME {Es case sensitive}
¿Qué es? Muestra el valor de una variable de entorno.
USO: Ver rutas o configuraciones del entorno.
export MI_VAR=valor
¿Qué es? Define una variable de entorno temporal.
USO: Configurar variables para una sesión.
echo $PLATZI_MESSAGE
{ Dentro de .bashrc se incluye PLATZI_MESSAGE y luego se llama}
PLATZI_MESSAGE = “No pares de aprender”
¿Qué es? Se define una variable de entorno personalizada en el archivo de inicio .bashrc y luego se imprime en consola.
USO: Personalizar mensajes o configuraciones persistentes en la terminal.
Links simbólicos
ln -s <ruta> <link>
¿Qué es? Crea un enlace simbólico (alias o acceso directo) hacia un archivo o directorio.
USO: Acceder a archivos desde distintas rutas sin duplicarlos.
cd <link>
¿Qué es? Navega al enlace simbólico creado.
USO: Moverse a la ruta objetivo del enlace de forma práctica.
• ln -s /home/juan/proyectos /home/juan/misproyectos
cd misproyectos
Búsqueda: find y which
which code
¿Qué es? Muestra la ruta completa del ejecutable que se ejecutaría al usar un comando.
USO: Verificar dónde está instalado un programa o qué versión se usará si hay varias.
find ./ -name [nombre]
¿Qué es? Busca en el directorio actual y subdirectorios archivos o carpetas con nombre exacto.
USO: Localizar archivos específicos en una estructura de carpetas.
find ./ -type d
¿Qué es? Busca solo directorios (folders) dentro del directorio actual y sus subdirectorios.
USO: Ver la estructura de carpetas o buscar carpetas específicas.
find ./ -type f -name *.log
¿Qué es? Busca solo archivos (-type f) cuyo nombre termine en .log.
USO: Encontrar archivos de log dentro de una estructura de carpetas.
find ./ -size +20M
¿Qué es? Busca archivos cuyo tamaño sea de más de 20 Megabytes.
USO: Detectar archivos pesados para revisión, respaldo o eliminación.
grep
grep -i palabra <donde> | less
¿Qué es? Busca la palabra ignorando mayúsculas y minúsculas, y permite ver los resultados de forma paginada.
USO: Buscar patrones en textos largos de forma práctica y navegable.
grep -c The movies.csv {case sensitive}
¿Qué es? Cuenta cuántas líneas contienen la palabra “The” en el archivo.
USO: Obtener estadísticas rápidas de ocurrencias.
grep -ci
¿Qué es? Igual que -c pero sin importar mayúsculas o minúsculas.
USO: Contar coincidencias sin distinguir mayúsculas.
grep -v cadena
¿Qué es? Muestra las líneas que no contienen la cadena buscada.
USO: Filtrar líneas excluyendo cierto patrón.
grep -w cadena
¿Qué es? Busca solo coincidencias exactas de palabra completa.
USO: Evitar coincidencias parciales (ej. “art” dentro de “cart”).
grep -c cadena
¿Qué es? Cuenta cuántas líneas coinciden con el patrón.
USO: Saber cuántas veces aparece una palabra o expresión.
grep -l cadena
¿Qué es? Muestra solo los nombres de archivos que contienen la coincidencia.
USO: Buscar rápidamente qué archivos contienen cierta palabra.
Comandos de red
ping google.com
¿Qué es? Envía paquetes para comprobar conectividad.
USO: Verificar si hay conexión a internet.
Ifconfig
¿Qué es? Muestra la configuración de red.
USO: Ver IP y estado de la red.
Nota: Si no está instalado, usa: sudo apt install net-tools
curl https://ejemplo.com > index.html { sudo apt install curl }
¿Qué es? Descarga el contenido de una URL y lo guarda en un archivo llamado index.html.
USO: Guardar el código fuente HTML de una página web para revisarlo localmente o procesarlo más tarde.
wget [pagina]
¿Qué es? Descarga archivos desde la web mediante los protocolos HTTP, HTTPS o FTP. Guarda el archivo en el directorio actual desde donde se ejecuta el comando, a menos que se indique otra ruta con la opción -P. El nombre del archivo guardado por defecto es el mismo que el nombre del recurso en la URL (por ejemplo, si se descarga https://ejemplo.com/index.html, se guardará como index.html).
USO: Descargar archivos, páginas HTML, imágenes o scripts desde servidores remotos sin necesidad de un navegador gráfico. Ideal para automatización o descargas en sistemas sin interfaz gráfica.
traceroute [pagina] { sudo apt install traceroute}
¿Qué es? Muestra la ruta que toma un paquete de red hasta un destino, indicando cada salto (nodo/intermediario).
USO: Diagnosticar problemas de red, detectar cuellos de botella o puntos
netstat -i { sudo apt install net-tools}
¿Qu é es? Muestra estadísticas de las interfaces de red activas.
USO: Monitorizar el tráfico de red, identificar actividad en interfaces, y verificar conectividad. Parecido a ifconfig pero en forma de tabla.
Compresión de archivos ZIP y TAR
zip archivo.zip archivo1 archivo2
¿Qué es? Comprime archivos en formato ZIP.
USO: Reducir tamaño y agrupar archivos.
Usa -r (de recursive) para comprimir carpetas con todo su contenido, incluyendo subcarpetas.
Sin -r, solo se comprimen archivos directos y carpetas vacías, sin entrar en subcarpetas ni incluir su contenido.
unzip archivo.zip
¿Qué es? Extrae archivos ZIP.
USO: Recuperar el contenido comprimido.
rar a archivo.rar archivo1 archivo2
¿Qué es? Comprime archivos en formato RAR.
USO: Reducir tamaño y agrupar archivos.
Por defecto, comprime carpetas con todo su contenido recursivamente, sin necesidad de usar -r.
Usa -r solo si deseas forzar o asegurar la recursividad (puede ser útil en ciertos entornos).
Para evitar comprimir subcarpetas, se debe usar un patrón específico (como carpeta\*.*
) y la opción -ep1
.
unrar x archivo.rar
¿Qué es? Extrae archivos comprimidos en formato RAR.
USO: Recuperar el contenido comprimido.
tar -cvf archivo.tar carpeta/
¿Qué es? Crea un archivo .tar.
USO: Empaquetar archivos.
tar -xvf archivo.tar
¿Qué es? Extrae un .tar.
USO: Desempaquetar.
Gestión de procesos
ps aux
¿Qué es? Muestra todos los procesos en ejecución.
USO: Supervisar procesos del sistema.
kill PID
¿Qué es? Finaliza un proceso.
USO: Detener procesos colgados.
Top
¿Qué es? Muestra uso de CPU y RAM en tiempo real.
USO: Monitorizar el rendimiento en orden de uso de CPU
top -h
¿Qué es? Muestra la ayuda del comando top
con todas sus opciones disponibles.
USO: Consultar sintaxis y funciones avanzadas del monitor del sistema.
top -u usuario
¿Qué es? Filtra la lista para mostrar solo los procesos del usuario indicado.
USO: Supervisar el consumo de recursos de un usuario específico.
htop {sudo apt install htop}
¿Qué es? Versión mejorada e interactiva de top
, con navegación por teclado y colores.
USO: Monitorear y gestionar procesos de forma visual y más intuitiva.
Background y Foreground
comando &
¿Qué es? Ejecuta un proceso en segundo plano.
USO: Seguir usando la terminal mientras corre.
fg
¿Qué es? Recupera un proceso suspendido al primer plano.
USO: Volver a interactuar con un proceso en segundo plano (ej. detenido con Ctrl + Z).
fg 1
Recupera el proceso con ID de tarea 1 al primer plano.
fg %1
Equivalente a fg 1. El símbolo % indica que se trata de una tarea (job) en segundo plano. (Especifico para Shell ¿?: No entiendo)
Jobs
¿Qué es? Lista procesos en segundo plano.
USO: Supervisar tareas en background.
Ctrl + D (al usar cat > archivo)
¿Qué es? Envía la señal EOF (End Of File).
USO: Finaliza correctamente la entrada de texto y guarda el contenido en el archivo.
Ctrl + Z (al usar cat > archivo)
¿Qué es? Suspende el proceso actual y lo envía al fondo (SIGTSTP).
USO: Interrumpe la entrada sin guardar de forma segura; puede dejar el archivo incompleto o vacío.
Uso de VI y VIM
vi
¿Qué es? Editor de texto modal en terminal.
USO: Crear o editar archivos de texto directamente desde la consola.
vim
¿Qué es? Versión mejorada de vi
(Vi IMproved).
USO: Igual que vi
, pero con soporte de color, autocompletado, deshacer múltiple y plugins.
:q
Cierra el editor si no se han hecho cambios. Si hay cambios, muestra una advertencia.
ESC
Sale del modo de inserción y vuelve al modo de comandos.
/[cadena]
Busca la cadena indicada hacia adelante en el archivo.
dd
Elimina (corta) la línea actual.
:w
Guarda los cambios sin salir del archivo.
:wq
Guarda los cambios y cierra el archivo.
:wq!
Fuerza el guardado y cierre del archivo, incluso si hay restricciones (como modo solo lectura).
Personalización de terminal con Tilix y Oh My Zsh
Tilix
¿Qué es? Emulador de terminal en mosaico para Linux.
USO: Organizar múltiples terminales en una misma ventana con pestañas o divisiones horizontales/verticales.
Ideal para trabajar con varios procesos o entornos en paralelo.
zsh
¿Qué es? Intérprete de comandos (shell) más potente y configurable que Bash.
USO: Sustituir Bash con características avanzadas como autocompletado inteligente, globbing, y personalización de alias, temas y funciones.
chsh -s $(which zsh)
Cambia la shell predeterminada del usuario a zsh (requiere reiniciar sesión).
Oh My Zsh
¿Qué es? Marco de configuración para Zsh.
USO: Añadir plugins, temas y mejoras visuales y funcionales a zsh fácilmente.
Instalar: sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Principales características:
• Temas personalizables (como agnoster
, robbyrussell
)
• Plugins útiles (como git
, z
, docker
)
• Alias preconfigurados (ej: