Manual comandos básicos Unix- Linux

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.