Manual de Comandos Básicos en Unix/Linux
Introducción
Unix y Linux son sistemas operativos robustos y ampliamente utilizados en servidores, estaciones de trabajo y sistemas embebidos. El uso de la línea de comandos es esencial para administrar estos sistemas de manera eficiente. En este manual, se presentan los comandos básicos que todo usuario debe conocer, organizados por categorías y con ejemplos prácticos.
Navegación en el sistema de archivos
pwd
(Print Working Directory)
Muestra el directorio en el que te encuentras actualmente.
pwd
Esto es útil cuando se trabaja con rutas absolutas y relativas.
ls
(List)
Lista el contenido de un directorio.
ls
Opciones comunes:
ls -l
: Muestra detalles de los archivos.ls -a
: Muestra archivos ocultos.ls -lh
: Muestra tamaños de archivos en formato legible.ls -lt
: Ordena por fecha de modificación.
Ejemplo:
ls -lah /home/usuario
cd
(Change Directory)
Cambia el directorio actual.
cd nombre_del_directorio
Ejemplo:
cd /home/usuario
Para volver al directorio anterior:
cd ..
Para regresar al directorio personal:
cd ~
Para cambiar a la raíz del sistema:
cd /
mkdir
(Make Directory)
Crea un nuevo directorio.
mkdir nombre_del_directorio
Para crear múltiples directorios anidados:
mkdir -p padre/hijo/nieto
rmdir
(Remove Directory)
Elimina un directorio vacío.
rmdir nombre_del_directorio
Si el directorio contiene archivos, se usa rm -r
.
rm
(Remove)
Elimina archivos o directorios.
rm nombre_del_archivo
Para eliminar un directorio con su contenido:
rm -r nombre_del_directorio
Usar rm -rf
para forzar la eliminación sin confirmación.
Manipulación de archivos
touch
Crea un archivo vacío o actualiza su fecha de modificación.
touch nombre_del_archivo
cp
(Copy)
Copia archivos o directorios.
cp archivo_origen archivo_destino
Para copiar un directorio y su contenido:
cp -r directorio_origen directorio_destino
mv
(Move)
Mueve o renombra archivos y directorios.
mv archivo_origen archivo_destino
find
Busca archivos en el sistema de archivos.
find /ruta -name "archivo.txt"
Para buscar archivos por tamaño:
find /ruta -size +10M
grep
Busca patrones dentro de archivos.
grep "palabra" archivo.txt
Para búsqueda en múltiples archivos:
grep -r "palabra" /ruta
Permisos y propietarios
chmod
(Change Mode)
Cambia permisos de un archivo o directorio.
chmod 755 archivo
Formato simbólico:
chmod u+rwx,g+rx,o+rx archivo
chown
(Change Owner)
Cambia el propietario de un archivo o directorio.
chown usuario:grupo archivo
Para cambiar recursivamente:
chown -R usuario:grupo directorio
Procesos y administración del sistema
ps
Muestra procesos en ejecución.
ps aux
top
/ htop
Muestra procesos en tiempo real.
top
Para htop
, debe estar instalado previamente.
kill
Termina un proceso.
kill PID
Para forzar la terminación:
kill -9 PID
df
/ du
Muestra el uso del disco.
df -h
Para ver el uso de un directorio en particular:
du -sh directorio
Redes y conectividad
ping
Verifica la conectividad con un servidor o dirección IP.
ping google.com
wget
/ curl
Descarga archivos desde la web.
wget URL
curl -O URL
netstat
/ ss
Muestra conexiones de red.
netstat -tulnp
ss -tulnp
ifconfig
/ ip a
Muestra la configuración de red del sistema.
ifconfig
ip a
traceroute
Muestra la ruta que siguen los paquetes hacia un destino.
traceroute google.com
Scripting en Bash
Creación de Scripts
Para escribir un script en Bash:
touch script.sh
chmod +x script.sh
nano script.sh
Ejemplo de script:
#!/bin/bash
echo "Hola, mundo!"
Para ejecutarlo:
./script.sh
Variables y estructuras de control
Definir una variable:
nombre="Juan"
echo "Hola, $nombre"
Estructura condicional:
if [ "$nombre" == "Juan" ]; then
echo "Eres Juan"
else
echo "No eres Juan"
fi
Bucle for
:
for i in {1..5}; do
echo "Número $i"
done
Usuarios y grupos
whoami
Muestra el usuario actual.
whoami
id
Muestra la información del usuario y su grupo.
id
adduser
/ useradd
Crea un nuevo usuario.
adduser nuevo_usuario
passwd
Cambia la contraseña de un usuario.
passwd
Conclusión
Estos comandos básicos de Unix/Linux son fundamentales para el manejo del sistema operativo. A medida que adquieras experiencia, podrás explorar comandos más avanzados para una administración eficiente del sistema. Familiarizarse con estos comandos te permitirá realizar tareas esenciales como gestionar archivos, administrar procesos y supervisar redes de manera eficaz. También es útil aprender scripting en Bash para automatizar tareas repetitivas y mejorar la eficiencia en la gestión del sistema. Practicar regularmente ayudará a consolidar estos conocimientos y optimizar tu flujo de trabajo en entornos Unix/Linux.