Linux: Comandos y Directorios básicos
En el artículo de hoy, os proporcionaremos una visión detallada de la estructura de directorios y comandos básicos que hay que aprender en Linux. Desde mi punto de vista, la piedra angular para los que empiezan en la administración de este sistema operativo.
Hemos preparado un grupo de tablas según la funcionalidad del comando, y un pequeño ejemplo de muestra.
Nuestro objetivo es proporcionar una guía clara y concisa que sirva tanto como introducción para los novatos como una referencia rápida para los más experimentados.
1. Networking
Comando |
Descripción |
Ejemplo |
ifconfig |
Configura las interfaces de red |
ifconfig eth0 |
ping |
Envía paquetes ICMP ECHO_REQUEST para probar la conectividad |
ping google.com |
netstat |
Muestra las conexiones de red, tablas de enrutamiento, estadísticas de interfaz, etc. |
netstat -r |
traceroute |
Muestra la ruta que toman los paquetes para llegar a un host de destino |
traceroute google.com |
ip |
Muestra / manipula rutas, dispositivos de red, políticas de enrutamiento y túneles |
ip addr show |
ss |
Herramienta de utilidad para investigar sockets |
ss -t -a |
nc |
Herramienta de escaneo y diagnóstico de redes |
nc -zv 192.168.0.1 22 |
wget |
Descarga archivos desde la web |
wget http://example.com/archivo |
curl |
Transfiere datos desde o hacia un servidor |
curl -O http://example.com/archivo |
arp |
Muestra y modifica las tablas de ARP |
arp -a |
dig |
Herramienta de consulta DNS |
dig @1.1.1.1 example.com |
host |
Búsqueda de DNS |
host example.com |
mtr |
Herramienta de diagnóstico de red que combina ping y traceroute |
mtr example.com |
iptables |
Herramienta para configurar reglas de firewall |
iptables -L |
nmap |
Escaneo de puertos y descubrimiento de red |
nmap -sT localhost |
2. Usuarios y grupos
Comando |
Descripción |
Ejemplo |
useradd |
Añade un nuevo usuario al sistema |
useradd juan |
groupadd |
Añade un nuevo grupo al sistema |
groupadd admin |
passwd |
Cambia la contraseña de usuario |
passwd juan |
usermod |
Modifica un usuario existente |
usermod -aG admin juan |
userdel |
Elimina un usuario |
userdel juan |
groupmod |
Modifica un grupo existente |
groupmod -n nuevo_nombre admin |
groupdel |
Elimina un grupo |
groupdel admin |
id |
Muestra identificaciones de usuario y grupo |
id juan |
groups |
Muestra los grupos a los que pertenece un usuario |
groups juan |
chage |
Cambia la información de caducidad de la contraseña del usuario |
chage -l juan |
gpasswd |
Administra /etc/group y /etc/gshadow |
gpasswd -a juan admin |
whoami |
Imprime el nombre de usuario actual |
whoami |
su |
Cambia a otro usuario |
su – juan |
sudo |
Ejecuta comandos como otro usuario, típicamente como superusuario |
sudo apt update |
3. Ficheros
Comando |
Descripción |
Ejemplo |
touch |
Crea un archivo vacío o actualiza la fecha de acceso y modificación de un archivo existente |
touch nuevo.txt |
rm |
Elimina archivos o directorios |
rm archivo.txt |
cp |
Copia archivos y directorios |
cp original.txt copia.txt |
mv |
Mueve o renombra archivos y directorios |
mv original.txt nuevo.txt |
cat |
Concatena y muestra archivos |
cat archivo.txt |
less |
Visualiza contenido de archivos de una forma que permite desplazarse por el documento |
less archivo.txt |
head |
Muestra las primeras líneas de un archivo |
head -n 5 archivo.txt |
tail |
Muestra las últimas líneas de un archivo |
tail -n 5 archivo.txt |
ln |
Crea enlaces entre archivos |
ln -s archivo.txt enlace.txt |
diff |
Compara archivos línea por línea |
diff archivo1.txt archivo2.txt |
chmod |
Cambia los permisos de archivo |
chmod 755 script.sh |
chown |
Cambia el propietario de un archivo |
chown usuario:grupo archivo.txt |
stat |
Muestra información detallada sobre el archivo |
stat archivo.txt |
find |
Busca archivos en un directorio según criterios dados |
find /home -name “nota*” |
locate |
Busca archivos rápidamente por base de datos |
locate “nota” |
4. Navegación por directorios
Comando |
Descripción |
Ejemplo |
cd |
Cambia el directorio actual |
cd /home/usuario |
ls |
Lista el contenido de un directorio |
ls -l |
pwd |
Muestra el directorio de trabajo actual |
pwd |
mkdir |
Crea un nuevo directorio |
mkdir nuevo_dir |
rmdir |
Elimina un directorio vacío |
rmdir viejo_dir |
tree |
Muestra una vista de árbol del directorio |
tree /home |
5. Hardware
Comando |
Descripción |
Ejemplo |
lshw |
Muestra información detallada del hardware |
lshw -short |
lsusb |
Lista todos los dispositivos USB conectados |
lsusb |
lscpu |
Muestra información de la CPU |
lscpu |
dmesg |
Muestra los mensajes del kernel |
dmesg |
hdparm |
Muestra/ajusta parámetros del disco duro SATA/IDE |
hdparm -I /dev/sda |
lsblk |
Lista información de los dispositivos de bloque |
lsblk |
lspci |
Muestra información detallada de los dispositivos PCI |
lspci |
6. Compresión de ficheros
Comando |
Descripción |
Ejemplo |
tar |
Archiva y/o comprime archivos |
tar -czf archivos.tar.gz /dir |
gzip |
Comprime archivos usando el algoritmo GZIP |
gzip archivo.txt |
zip |
Empaqueta y comprime archivos en formato zip |
zip archivo.zip carpeta |
unzip |
Descomprime archivos en formato zip |
unzip archivo.zip |
bzip2 |
Comprime archivos usando el algoritmo bzip2 |
bzip2 archivo.txt |
gunzip |
Descomprime archivos gzip |
gunzip archivo.gz |
rar |
Empaqueta y comprime archivos en formato rar (requiere instalación adicional) |
rar a archivo.rar carpeta |
unrar |
Descomprime archivos en formato rar |
unrar x archivo.rar |
7z |
Empaqueta y comprime archivos usando 7zip |
7z a archivo.7z carpeta |
7. Paquetes
Comando |
Descripción |
Ejemplo |
apt-get |
Herramienta de gestión de paquetes en Debian y derivados |
apt-get install nginx |
yum |
Herramienta de gestión de paquetes en sistemas basados en RedHat |
yum install nginx |
dpkg |
Herramienta para instalar, construir, eliminar e inspeccionar paquetes .deb |
dpkg -i paquete.deb |
rpm |
Herramienta para instalar, desinstalar, verificar y consultar paquetes RPM |
rpm -ivh paquete.rpm |
dnf |
Gestor de paquetes para Fedora, reemplazo de YUM |
dnf install nginx |
pacman |
Gestor de paquetes para Arch Linux |
pacman -S nginx |
zypper |
Gestor de paquetes para openSUSE |
zypper install nginx |
aptitude |
Gestor de paquetes alternativo para sistemas basados en Debian |
aptitude search nginx |
8. Gestión del sistema
Comando |
Descripción |
Ejemplo |
top |
Muestra información en tiempo real sobre procesos en ejecución |
top |
htop |
Versión mejorada de top con una interfaz más amigable |
htop |
systemctl |
Controla el sistema y servicios para systemd |
systemctl status nginx |
uname |
Muestra información sobre el sistema |
uname -a |
vmstat |
Reporta información sobre procesos, memoria, paginación, bloqueo de E/S y actividad de la CPU |
vmstat 1 |
dmesg |
Muestra mensajes del núcleo |
dmesg |
uptime |
Muestra cuánto tiempo ha estado funcionando el sistema |
uptime |
journalctl |
Muestra y manipula datos de journal de systemd |
journalctl -u nginx |
9. Permisos
Comando |
Descripción |
Ejemplo |
chmod |
Cambia los permisos de archivo |
chmod 755 script.sh |
chown |
Cambia el propietario de un archivo |
chown usuario:grupo archivo.txt |
chgrp |
Cambia el grupo de un archivo |
chgrp grupo archivo.txt |
umask |
Establece la máscara de permisos por defecto para nuevos archivos |
umask 022 |
setfacl |
Establece listas de control de acceso para archivos |
setfacl -m u:juan:rwx archivo.txt |
getfacl |
Obtiene listas de control de acceso de archivos |
getfacl archivo.txt |
10. SSH
Comando |
Descripción |
Ejemplo |
ssh |
Conexión segura a otro computador a través de la red |
ssh usuario@192.168.1.1 |
scp |
Copia archivos entre hosts en una red |
scp archivo.txt usuario@192.168.1.1:/destino |
ssh-keygen |
Genera, administra y convierte claves de autenticación para ssh |
ssh-keygen -t rsa |
ssh-add |
Añade una clave privada a ssh-agent |
ssh-add ~/.ssh/id_rsa |
ssh-agent |
Mantiene claves privadas cargadas durante una sesión |
eval $(ssh-agent) |
ssh-copy-id |
Añade una clave SSH al archivo de claves autorizadas en el servidor |
ssh-copy-id usuario@192.168.1.1 |
sshfs |
Monta un sistema de archivos de un host remoto |
sshfs usuario@192.168.1.1:/remoto /local/mount |
11. Variables
Comando |
Descripción |
Ejemplo |
export |
Marca una variable o función como exportable, haciéndola disponible a los subprocesos |
export PATH=$PATH:/nuevo/directorio |
echo |
Muestra una línea de texto/variables |
echo $HOME |
set |
Establece o deshabilita opciones y argumentos de posición |
set -o noclobber |
env |
Ejecuta un comando en un entorno modificado |
env PATH=/tmp:$PATH ls / |
unset |
Elimina variables o funciones |
unset VAR |
printenv |
Imprime todas las variables de entorno |
printenv |
12. Disco
Comando |
Descripción |
Ejemplo |
df |
Muestra el espacio libre disponible en los discos |
df -h |
du |
Muestra el uso del disco por archivo o directorio |
du -sh /home/usuario |
fdisk |
Manipula tablas de particiones del disco |
fdisk /dev/sda |
parted |
Editor de particiones para manipular particiones de disco |
parted -l |
mount |
Monta un sistema de archivos |
mount /dev/sda1 /mnt/disco |
umount |
Desmonta sistemas de archivos |
umount /mnt/disco |
blkid |
Localiza/identifica dispositivos de bloque por UUID, LABEL, etc. |
blkid /dev/sda1 |
lsblk |
Lista información sobre dispositivos de bloque |
lsblk |
fsck |
Chequea y repara un sistema de archivos Linux |
fsck /dev/sda1 |
tune2fs |
Ajusta parámetros de sistemas de archivos ext2/ext3/ext4 |
tune2fs -l /dev/sda1 |
Directorios en Linux y sus homólogos en Windows
Directorio Linux |
Descripción |
Homólogo en Windows |
/ |
Raíz del sistema de archivos, punto de partida del árbol de directorios. |
C:\ |
/bin |
Binarios esenciales para los usuarios, como ls, cp, etc. |
C:\Windows\System32 |
/boot |
Archivos del sistema necesarios para iniciar el sistema operativo. |
C:\ (archivos como ntldr, boot.ini) |
/dev |
Archivos de dispositivo que representan hardware o dispositivos especiales. |
\\.\ o Device Manager |
/etc |
Archivos de configuración del sistema. |
C:\Windows\System32, C:\ProgramData |
/home |
Directorios personales de los usuarios. |
C:\Users |
/lib |
Bibliotecas esenciales para el sistema y los programas en espacio de usuario. |
C:\Windows\System32 |
/media |
Punto de montaje para dispositivos extraíbles como USB, CD-ROMs. |
D:\, E:\ (unidades de disco) |
/mnt |
Punto de montaje temporal para sistemas de archivos. |
C:\Mount (si se configura) |
/opt |
Software opcional y paquetes de aplicaciones adicionales. |
C:\Program Files |
/proc |
Sistema de archivos virtual que proporciona interfaces al kernel y a los datos de proceso. |
No tiene (información disponible a través del Administrador de Tareas) |
/root |
Directorio del usuario root (administrador del sistema). |
C:\Windows\System32\Config (no directamente comparable) |
/sbin |
Binarios esenciales del sistema, necesarios para el arranque o reparación del sistema. |
C:\Windows\System32 |
/srv |
Datos servidos por el sistema, como datos para servidores HTTP, FTP. |
No tiene (depende de la configuración del servidor) |
/sys |
Información y configuración del hardware del sistema, expuesta por el kernel. |
No tiene (accesible a través del Administrador de Dispositivos) |
/tmp |
Archivos temporales creados por programas y sistemas. |
C:\Temp, C:\Windows\Temp |
/usr |
Programas y datos no esenciales para el funcionamiento básico del sistema. |
C:\Program Files, C:\Program Files (x86) |
/var |
Datos variables como logs, bases de datos, sitios web, etc. |
C:\ProgramData, C:\Users\Default\AppData |
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?