Ahorre 15% en todos los servicios de hosting

Pon a prueba tus habilidades y obtén Descuento<\/span> en cualquier plan de hosting

Usa el código: Skills Comenzar
Secciones
Administración Linux Sistemas Operativos

Tu Primera Semana en un Servidor Linux — 35+ Comandos Esenciales

Palabras clave: Referencia rápida antes de comenzar

Antes de comenzar, aquí están los términos que verás en toda esta guía. No necesitas memorizarlos — solo sabe que existen, y el contexto hará que todo tenga sentido.

TérminoQué significa
Terminal 💻La interfaz basada en texto donde escribes comandos
Shell 🐚El programa (generalmente Bash) que interpreta tus comandos
Bash ⚙️El shell más común; el “lenguaje” que habla tu terminal
Sudo 🔑Un comando que te permite ejecutar otros comandos con privilegios de administrador
Gestor de paquetes 📦Una herramienta (como apt) que instala y actualiza software para ti
Daemon / Servicio 👻Un programa de fondo que se ejecuta continuamente (como un servidor web)
Permisos 🔒Reglas que controlan quién puede leer, escribir o ejecutar un archivo
Root 👑La cuenta de administrador del sistema todopoderosa

Con esos términos en tu bolsillo, estás listo. Comencemos.


Introducción: Comenzando tu Viaje en el Servidor

Acabas de conectarte a tu nuevo servidor. Quizás lo aprovisionaste desde un proveedor como AlexHost, que ofrece implementación instantánea de Ubuntu con un solo clic. Abres tu terminal, escribes: ssh root@your-server-ip , y presionas Enter. La pantalla se limpia. Un cursor parpadeante te mira desde una línea que dice algo como root@vps:~#

¿Y ahora qué?

Ese momento — la brecha entre “tengo un servidor” y “sé qué hacer con él” — es donde la mayoría de las personas se detienen. Cierran la terminal, se dicen a sí mismos que lo descubrirán más tarde, y vuelven a hacer clic en interfaces gráficas. Pero aquí está la cosa: Linux ejecuta más del 90% de los servidores en la nube del mundo. Alimenta teléfonos Android, dispositivos integrados, supercomputadoras y la infraestructura detrás de casi todos los servicios que utilizas diariamente. Las personas que realmente controlan estos sistemas no usan clics del ratón. Usan la línea de comandos.

La terminal no es una reliquia. Es la forma más directa, componible y confiable de decirle a una computadora qué hacer. No hay sobrecarga gráfica, no hay menús para navegar, no hay que esperar a que se cargue una interfaz de usuario. Escribes un comando, algo sucede, y encadenas el siguiente comando a él. A través de SSH, funciona de manera idéntica si tu servidor está en la habitación de al lado o al otro lado del océano.

Este artículo no te entregará una lista de memorización. En su lugar, vivirás a través de un viaje realista de 7 días en un VPS Linux nuevo — la misma progresión que seguirías si realmente te sentaras con un nuevo servidor hoy. Al final, no solo conocerás los comandos. Sabrás cuándo recurrir a cada uno.


Día 1: Conectarse y Explorar

Acabas de conectarte a tu servidor. La terminal muestra algo como root@vps:~#. Estás conectado — pero ¿dónde estás? ¿Qué hay aquí? Descubrámoslo.

Paso 1: Conectarse con “ssh”

Todo comienza con ssh — Secure Shell. Es el comando de acceso que te lleva de tu máquina local al servidor remoto.

ssh username@server-ip

En la mayoría de proveedores de VPS, usarás la dirección IP de tu panel de hosting y el nombre de usuario que te asignen (a menudo root o ubuntu). Si es la primera vez que te conectas, se te pedirá que confirmes la huella digital del servidor — escribe yes y presiona Enter.

Ahora estás conectado a tu servidor.

Paso 2: Confirma tu identidad con “whoami”

Antes de hacer nada, verifica qué usuario tienes activo.
whoami
Si ves root, estás operando como el administrador todopoderoso. Eso es común en un VPS nuevo, pero también significa que cada comando que escribas tiene acceso total al sistema — así que presta atención.

Sabes quién eres en este sistema.

Paso 3: Encuentra tu ubicación con: “pwd”

El comando pwd — Print Working Directory — te dice exactamente dónde estás en el sistema de archivos.
pwdEn un VPS nuevo conectado como root, típicamente aterrizarás en /root. Si usas una cuenta de usuario regular, verás /home/username en su lugar. Piensa en esto como tu “base de operaciones” — el punto de partida para todo lo que harás.

Sabes dónde estás.

Paso 4: Ve qué hay presente con “ls”

Ahora miremos alrededor del servidor. El comando ls lista archivos y directorios en tu ubicación actual.
lsUna salida vacía significa que no hay nada aquí todavía — lo cual es normal para un servidor nuevo. Pero el verdadero poder viene con las banderas. Intenta:

ls -laEsto te permite ver todo, incluyendo archivos ocultos (aquellos que comienzan con un punto) e información detallada:

La bandera -l te da el formato largo (permisos, propietario, tamaño, fecha), y -a muestra todos los archivos incluyendo los ocultos. Usarás ls -la constantemente.
✅ Puedes ver todo en tu directorio actual.
Paso 5: Muévete con “cd”
El comando cd — Change Directory — es cómo navegas el sistema de archivos.
cd /var/log
#Check new dir location
pwd
/var/log

Tres variaciones que usarás constantemente:

cd ..      # Go up one directory level
cd ~       # Go back to your home directory
cd -       # Go back to the previous directory you were in

El truco “cd -“ es especialmente útil — es como un “deshacer” para tu último cambio de directorio.

Puedes moverte a cualquier lugar del sistema de archivos.

Paso 6: Limpia con “clear”

Después de ejecutar varios comandos, tu terminal se llena de contenido. El comando clear borra la pantalla y te da un nuevo comienzo.
clearConsejo profesional: también puedes presionar Ctrl+L para el mismo efecto — es más rápido una vez que se convierte en un reflejo.

Tu terminal está limpia y lista para el siguiente comando.

Paso 7: Busca información con “man”

No necesitas memorizar cada bandera para cada comando. El comando man — Manual — abre la documentación integrada para cualquier comando.
man lsEsto abre la página de manual completa para ls, mostrando cada bandera disponible, qué hace, y ejemplos. Navega con las teclas de flecha o barra espaciadora, y presiona q para salir.
Piensa en man como tu red de seguridad. Cuando no estés seguro de qué hace un comando o qué opciones admite, man tiene la respuesta.

Tienes acceso a la documentación integrada para cada comando.

Paso 8: Revisa tu historial con “history”

El comando history muestra cada comando que has escrito en esta sesión.
history

    1  whoami
    2  pwd
    3  ls -la
    4  cd /var/log
    5  clear
    6  history

Aquí está la parte útil: puedes re-ejecutar cualquier comando escribiendo “!” seguido de su número.
!3Esto re-ejecuta el comando número 3 (ls -la). Te ahorra reescribir comandos largos — y evita que cometas errores de tipeo cuando tienes prisa.

Puedes revisar y re-ejecutar cualquier comando anterior.


Día 2: Crear y Gestionar tu Espacio de Trabajo

Ya sabes dónde estás y cómo moverte. Ahora es hora de construir algo — una estructura de directorios para tu proyecto.

Paso 1: Crear directorios con “mkdir”

El comando mkdir — Make Directory — crea nuevas carpetas.
mkdir projects
# Check dir
ls
projects

Pero la verdadera estrella es mkdir -p, que crea directorios anidados de una sola vez — incluyendo cualquier directorio padre que no exista aún.

mkdir -p projects/myapp/logs

Sin -p, tendrías que crear projects, luego projects/myapp, luego projects/myapp/logs por separado. Con él, un comando lo hace todo.

Has creado una estructura de directorios para tu proyecto.

Paso 2: Crear archivos vacíos con “touch”

El comando touch crea un archivo vacío al instante.

touch projects/myapp/notes.txtVerifica el nuevo archivo:

ls projects/myapp/
# logs  notes.txt

Si el archivo ya existe, touch actualiza su marca de tiempo en su lugar. Es una forma rápida de crear archivos de marcador de posición o marcar que has trabajado en algo.

Has creado tu primer archivo en el servidor.

Paso 3: Copiar archivos con “cp”

El comando cp — Copy — duplica archivos y directorios.

cp projects/myapp/notes.txt projects/myapp/notes-backup.txt

Para directorios, necesitas la bandera -r (recursiva), que copia todo lo que hay dentro del directorio también:

cp -r projects/myapp projects/myapp-backup

Puedes duplicar archivos y árboles de directorios completos.

Paso 4: Mover o renombrar archivos con “mv”

El comando mv hace dos trabajos: mueve archivos y los renombra. Mismo comando, diferente contexto.

mv projects/myapp/notes.txt projects/myapp/readme.txt

Esto renombra notes.txt a readme.txt en el mismo directorio. Para mover realmente un archivo a una ubicación diferente:

mv projects/myapp/readme.txt projects/

Puedes mover y renombrar archivos con un comando.

Paso 5: Eliminar archivos con “rm”

El comando rm — Remove — elimina archivos permanentemente.

rm projects/myapp-backup/readme.txt

Para directorios, usa -r (recursiva):

rm -r projects/myapp-backup

⚠️ ADVERTENCIA: rm -rf es la opción nuclear. La bandera -f fuerza la eliminación sin pedir confirmación, y combinada con -r, eliminará árboles de directorios completos silenciosamente. No hay deshacer. Verifica la ruta dos veces antes de presionar Enter. Nunca ejecutes rm -rf / — intentará eliminar tu sistema de archivos completo.

Puedes eliminar archivos y directorios que ya no necesites.

Paso 6: Imprimir y escribir texto con “echo”

El comando echo imprime texto en la terminal — pero su verdadero poder viene cuando se combina con operadores de redirección.

echo "Hello, server"

Hello, server

Ahora redirige esa salida a un archivo usando “>” (sobrescribir) o “>>” (añadir):

echo "Server setup started" > projects/myapp/notes.txt
echo "Added a log entry" >> projects/myapp/notes.txt
El operador > crea el archivo o lo sobrescribe si existe. El operador >> añade al final sin tocar el contenido existente. Este es tu primer vistazo a la redirección — uno de los superpoderes principales de Linux.
✅ Puedes escribir texto en archivos directamente desde la línea de comandos.
Paso 7: Leer archivos con “cat”
El comando cat — Concatenate — muestra el contenido del archivo en la terminal.
cat projects/myapp/notes.txt

Para archivos pequeños, cat es la forma más rápida de inspeccionar contenidos. Para archivos más grandes, querrás less (que te permite desplazarte), pero cat es tu opción preferida para verificaciones rápidas.

Puedes leer el contenido de archivos sin abrir un editor.

Paso 8: Editar archivos con “nano”

Cuando necesites modificar realmente un archivo, nano es el editor de terminal más amigable para principiantes.

nano projects/myapp/notes.txt

Nano abre el archivo en tu terminal con una interfaz simple. Los atajos de teclado se muestran en la parte inferior de la pantalla.

💡 CONSEJO: Los atajos esenciales de Nano: Ctrl+O para guardar (luego Enter para confirmar), Ctrl+X para salir, Ctrl+W para buscar texto. Eso es todo lo que necesitas para empezar a editar.

También escucharás hablar de vim — es más poderoso pero tiene una curva de aprendizaje notoriamente pronunciada. Quédate con nano por ahora. Puedes explorar vim más tarde cuando te sientas cómodo con la terminal.

Puedes editar archivos directamente en el servidor.


Día 3: Encontrar lo que necesitas

Has creado una docena de archivos en varios directorios. Ahora necesitas encontrar el que editaste ayer. Así es cómo.

Paso 1: Buscar archivos con “find”

El comando find busca archivos por nombre, tipo, tamaño y más.

find ./projects -name "*.txt"
Esto busca todo bajo /home archivos que terminen en .txt. También puedes buscar por tipo — find / -type f -name “config” encuentra todos los archivos llamados “config” en todo el sistema.
find es exhaustivo pero puede ser lento en sistemas de archivos grandes. Para búsquedas cotidianas, es tu herramienta más confiable.
✅ Puedes localizar cualquier archivo en el sistema por nombre o tipo.
Paso 2: Buscar dentro de archivos con “grep”
Si find localiza archivos, grep localiza contenido dentro de ellos. Es el detective de la línea de comandos.
grep "error" /var/log/syslog
Apr 10 12:15:03 server kernel: [error] disk I/O timeout
Apr 10 12:18:22 server nginx: [error] connection refusedAquí es donde grep se vuelve aún más poderoso — combínalo con otros comandos usando el operador pipe “|”. El pipe toma la salida de un comando y la alimenta como entrada al siguiente.
cat /var/log/syslog | grep "error"

Esto hace lo mismo que el ejemplo anterior, pero el patrón de pipe te permite encadenar comandos juntos. Usarás pipes constantemente una vez que lo entiendas. Por ejemplo, para buscar errores en las entradas de registro de hoy:

cat /var/log/syslog | grep "Apr 15" | grep "error"

Cada pipe estrecha los resultados aún más. Esta composabilidad es lo que hace que la línea de comandos de Linux sea tan poderosa.

Puedes buscar cualquier patrón de texto en cualquier archivo.

Paso 3: Encontrar ubicaciones ejecutables con “which”

El comando which te dice dónde vive el archivo ejecutable de un comando en el sistema.

which python3
/usr/bin/python3Esto es útil cuando necesitas saber qué versión de un programa estás ejecutando, o cuando un script necesita la ruta completa a un ejecutable.
✅ Sabes exactamente dónde se almacena el ejecutable de cualquier comando.
Paso 4: Encontrar más con “whereis”
El comando whereis va más allá que which — encuentra el binario, el código fuente (si está instalado) y la página del manual.
whereis python3
python3: /usr/bin/python3 /usr/lib/python3 /etc/python3 /usr/share/man/man1/python3.1.gzDonde which te da una ruta, whereis te da la imagen completa. Usa which cuando solo necesites el ejecutable. Usa whereis cuando quieras ver todo lo relacionado con un comando.
✅ Puedes localizar cada componente de un comando en el sistema.
Paso 5: Obtener una descripción rápida con “whatis”
El comando whatis te da una descripción de una línea de cualquier comando.
whatis grep
grep (1) - print lines that match patternsEs la forma más rápida de recordarte qué hace un comando sin abrir la página man completa. Piénsalo como una búsqueda rápida de glosario.
✅ Puedes obtener un resumen de una línea del propósito de cualquier comando.

    
        
        
        
        
        
        
        
        
            
                Ready
                to make it happen?
            
            
                Pick what fits your project            
        
        
            VPS
            Dedicated
        
        
    
        
    
Día 4: Entendiendo tu máquina
Antes de instalar nada, debes saber con qué estás trabajando. ¿Cuánto espacio en disco tienes? ¿Cuánta RAM? ¿Qué ya está ejecutándose?
Paso 1: Verificar información del sistema con “uname”
El comando uname — Unix Name — muestra información del sistema.
uname -a
Linux alexserver 6.8.0-110-generic #110-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 19 15:09:20 UTC 2026 x86_64 x86_64 x86_64 GNU/LinuxLa bandera -a muestra todo: el nombre del kernel, hostname, versión del kernel, arquitectura y sistema operativo. En un VPS, esto te dice exactamente qué kernel estás ejecutando y si estás en un sistema de 64 bits (casi con seguridad lo estás).
✅ Conoces tu versión del kernel y arquitectura del sistema.
Paso 2: Verificar espacio en disco con “df”
El comando df — Disk Free — muestra cuánto almacenamiento tienes y cuánto se está usando.
df -h
La bandera -h significa “human-readable” — muestra tamaños en GB y MB en lugar de bytes sin procesar. Presta atención a la línea de partición raíz “/”. Con un 7% de uso, este servidor tiene mucho espacio. Si alguna vez ves ese número subiendo más allá del 80%, es hora de limpiar.
✅ Sabes exactamente cuánto espacio en disco está disponible.
Paso 3: Verificar memoria con “free”
El comando free muestra tu uso de RAM.
free -h
De nuevo, -h te da salida legible por humanos. La columna clave aquí es “available” — esta es la memoria realmente libre para nuevas aplicaciones. “Used” incluye memoria que el kernel está usando para caché, que puede liberarse si es necesario. En un VPS nuevo con 4GB de RAM, ver 3.3GB disponibles es exactamente lo que quieres.
✅ Sabes cuánta memoria tiene tu servidor y cuánta está libre.
Paso 4: Monitorear procesos con “top”
El comando top muestra monitoreo de procesos en tiempo real — una vista en vivo de qué está ejecutándose y qué recursos está consumiendo cada proceso.
top
top se actualiza cada pocos segundos. Las columnas más importantes son PID (ID del proceso), %CPU, %MEM y COMMAND. Si tu servidor alguna vez se siente lento, top es el primer lugar donde mirar.
💡 CONSEJO: Presiona q para salir de top. Si top está ejecutándose y no sabes cómo detenerlo, esta es la respuesta.
✅ Puedes monitorear procesos en ejecución en tiempo real.
Paso 5: Captura de procesos con “ps”
El comando ps — Process Status — te da una captura estática de procesos en ejecución.
ps aux
Las banderas aux muestran todos los procesos de todos los usuarios con información detallada. Las columnas clave: USER (quién es propietario del proceso), PID (el ID del proceso que usarías con kill), %CPU y %MEM (uso de recursos) y COMMAND (qué está ejecutándose). Usa ps cuando necesites una captura rápida en lugar de una vista en vivo.
✅ Puedes tomar una captura de cada proceso en ejecución.
Paso 6: Verificar el calendario con “cal”
El comando cal muestra un calendario simple.
cal
     April 2026
Su Mo Tu We Th Fr Sa
           1  2  3  4
  5  6  7  8  9 10 11
 12 13 14 15 16 17 18
 19 20 21 22 23 24 25
 26 27 28 29 30

No es esencial, pero es un buen recordatorio de que la terminal puede hacer más que solo gestionar servidores. También es una forma rápida de verificar la fecha sin salir de tu sesión.

Puedes mostrar un calendario directamente en tu terminal.

Paso 7: Verificar la fecha con “date”

El comando date muestra la fecha y hora actual del sistema.

date
Wed Apr 15 14:32:01 UTC 2026Esto importa más de lo que crees. Muchos servicios — especialmente certificados SSL, rotación de registros y tareas programadas — dependen de la hora exacta del sistema. Si la fecha se ve incorrecta, querrás arreglarlo antes de instalar nada.
✅ Conoces la fecha y hora actual de tu servidor.

Día 5: Instalación y Ejecución de Servicios
Tu servidor está en funcionamiento, conoces sus especificaciones, y ahora es momento de hacerlo útil. Instalemos software y pongamos servicios en funcionamiento.
Paso 1: Actualizar listas de paquetes con “apt update”
Antes de instalar nada, actualiza las listas de tu repositorio de paquetes.
sudo apt updateResultado:Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
Get:3 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
Fetched 257 kB in 2s (134 kB/s)
Reading package lists... Done
Building dependency tree... DoneDistinción importante: apt update actualiza la lista de paquetes disponibles — no instala nada. apt upgrade descarga e instala versiones más nuevas de paquetes que ya tienes. Casi siempre van juntos:
sudo apt update && sudo apt upgrade -y

En sistemas basados en Red Hat como CentOS o Fedora, los comandos equivalentes son yum update o dnf update.

Tu lista de paquetes está actualizada y lista para instalaciones.

Paso 2: Instalar software con “apt install”

Ahora instalemos algo. Nginx es un servidor web popular — un buen primer servicio para configurar.

sudo apt install nginx -yResultado:Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
nginx nginx-common nginx-core
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 582 kB of archives.
Setting up nginx (1.18.0-6ubuntu14.4) ...Aquí es donde tu servidor comienza a hacer algo real. La bandera -y confirma automáticamente la instalación para que no tengas que escribir yes. Nginx se instalará y típicamente comenzará a ejecutarse inmediatamente.
✅ Has instalado tu primer servicio en el servidor.
Paso 3: Gestionar servicios con “systemctl”
El comando systemctl — System Control — es cómo inicias, detienes y gestionas servicios.
systemctl status nginxResultado:● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2026-04-15 14:35:00 UTC; 2min ago
Main PID: 1234 (nginx)
Tasks: 2 (limit: 4915)
Memory: 3.2M
CGroup: /system.slice/nginx.serviceLa línea clave es Active: active (running) — eso significa que Nginx está activo y funcionando. Tres comandos systemctl que usarás constantemente:
sudo systemctl start nginx    # Start the service now
sudo systemctl stop nginx     # Stop the service
sudo systemctl enable nginx   # Start automatically on every boot
El comando enable es el que los principiantes olvidan. start ejecuta el servicio ahora mismo. enable asegura que se inicie cada vez que el servidor se reinicia. Para un servidor web, casi siempre quieres ambos.
✅ Puedes controlar cualquier servicio en tu servidor.
Paso 4: Detener procesos con “kill”
A veces necesitas terminar un proceso manualmente. El comando kill hace esto por PID.
kill 1234

Esto envía una señal de terminación al proceso 1234, pidiéndole que se apague correctamente. Si no responde, puedes forzarlo:

kill -9 1234

⚠️ ADVERTENCIA: kill -9 es un cierre forzado. No permite que el proceso se limpie — sin guardar estado, sin cerrar conexiones correctamente. Úsalo solo cuando un kill normal no funcione.

Encuentra el PID usando ps aux o top, luego elimínalo.

Puedes terminar cualquier proceso por su ID.

Paso 5: Eliminar por nombre con “pkill”

Encontrar el PID primero a veces es innecesario. El comando pkill elimina procesos por nombre.

pkill nginx

Esto encuentra todos los procesos que coinciden con “nginx” y los termina. Es más rápido que buscar el PID con ps y luego ejecutar kill. Usa pkill cuando conoces el nombre del proceso y quieres una terminación rápida.

Puedes eliminar procesos sin conocer su PID.

Paso 6: Descargar archivos con “wget”

El comando wget — Web Get — descarga archivos de internet.

wget https://example.com/file.zipEjemplo de resultado:--2026-04-15 14:40:00--  https://example.com/file.zip
Resolving example.com (example.com)... 93.184.216.34
Connecting to example.com (example.com)|93.184.216.34|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1048576 (1.0M) [application/zip]
Saving to: 'file.zip'
file.zip          100%[===================>]   1.00M  2.34MB/s    in 0.4s
2026-04-15 14:40:01 (2.34 MB/s) - 'file.zip' saved [1048576/1048576]wget es directo: dale una URL, descarga el archivo a tu directorio actual. También admite reanudar descargas interrumpidas con wget -c.
✅ Puedes descargar archivos directamente a tu servidor.
Paso 7: Transferir datos con “curl”
El comando curl — Client URL — es más versátil que wget. Maneja descargas, solicitudes API y transferencias de datos con encabezados personalizados.
curl -O https://example.com/file.zip

La bandera -O guarda el archivo con su nombre original (igual que wget). Pero curl puede hacer mucho más:

curl -s https://api.example.com/data

La bandera -s se ejecuta silenciosamente, haciendo que curl sea perfecto para scripting y llamadas API. Mientras que wget es excelente para descargas simples, curl es la herramienta a la que recurrirás cuando necesites interactuar con servicios web, probar APIs o enviar encabezados HTTP personalizados.

Puedes transferir datos desde cualquier URL — archivos, APIs y más.


Día 6: Asegurar las cosas

Tu servidor está ejecutando un servicio y funciona. Pero ahora mismo, está completamente abierto. Vamos a asegurarlo.

📝 NOTA: Tu usuario necesita permisos sudo para que estos comandos funcionen. En la mayoría de proveedores de VPS, el usuario predeterminado ya está configurado con acceso sudo. Si creaste un nuevo usuario, primero necesitarás agregarlo al grupo sudo.

Paso 1: Ejecutar comandos de forma segura con “sudo”

El comando sudo — Superuser Do — te permite ejecutar comandos con privilegios elevados.

sudo apt update

Se te pedirá tu contraseña la primera vez que uses sudo en una sesión. Después de eso, lo recuerda durante algunos minutos. La razón por la que sudo existe es simple: ejecutarse como root todo el tiempo es peligroso. Un solo error tipográfico con privilegios de root puede borrar tu sistema. sudo te obliga a escalar conscientemente los privilegios para cada comando — es un mecanismo de seguridad, no solo un escalador de privilegios.

Puedes ejecutar comandos de administrador sin iniciar sesión como root.

Paso 2: Cambiar permisos de archivo con “chmod”

El comando chmod — Change Mode — controla quién puede leer, escribir o ejecutar un archivo.

chmod 755 script.sh

Los números representan permisos para tres grupos: propietario, grupo y todos los demás. Cada dígito es una suma de lectura (4), escritura (2) y ejecución (1):

  • 755 significa: el propietario puede hacer todo (4+2+1=7), el grupo puede leer y ejecutar (4+1=5), todos los demás pueden leer y ejecutar (4+1=5). Este es el estándar para scripts y directorios.
  • 644 significa: el propietario puede leer y escribir (4+2=6), el grupo puede leer (4), todos los demás pueden leer (4). Este es el estándar para archivos de configuración y documentos.

chmod 644 config.txt

Si un script no se ejecuta, casi siempre es un problema de permisos. chmod +x script.sh es una forma rápida de hacer que cualquier archivo sea ejecutable sin necesidad de recordar los números.

Controlas exactamente quién puede acceder a cada archivo.

Paso 3: Cambiar la propiedad del archivo con “chown”

El comando chown — Change Owner — establece quién es el propietario de un archivo.

sudo chown www-data:www-data /var/www/html/index.html

Esto cambia el propietario a www-data y el grupo a www-data. Se usa comúnmente al configurar servidores web — el proceso del servidor web necesita ser propietario de los archivos que sirve. El formato es usuario:grupo, y casi siempre necesitarás sudo para cambiar la propiedad.

Puedes asignar la propiedad del archivo a cualquier usuario o grupo.

Paso 4: Cambiar contraseñas con “passwd”

El comando passwd actualiza las contraseñas de usuario.

passwd usernameEn un VPS nuevo, cambiar la contraseña predeterminada debe ser una de tus primeras acciones. Si has iniciado sesión como el usuario cuya contraseña deseas cambiar, simplemente ejecuta passwd sin un nombre de usuario.
✅ Puedes actualizar contraseñas para cualquier usuario en el sistema.
Paso 5: Crear nuevos usuarios con “useradd”
El comando useradd crea una nueva cuenta de usuario.
sudo useradd -m newuser

La bandera -m es crítica — crea un directorio de inicio en /home/newuser. Sin ella, el usuario existe pero no tiene directorio de inicio, lo que causa problemas con SSH y varias aplicaciones. Después de crear el usuario, establece su contraseña:

sudo passwd newuser

Puedes crear nuevas cuentas de usuario con directorios de inicio.

Paso 6: Cambiar de usuario con “su”

El comando su — Switch User — te permite iniciar sesión como otro usuario.

su - newuser
whoami
newuserLa bandera “-“ (o –login) es importante — carga el entorno del nuevo usuario, incluida su ruta y configuración de shell. Sin ella, cambiarías de usuario pero mantendrías el entorno del usuario anterior, lo que lleva a un comportamiento confuso.
✅ Puedes cambiar entre cuentas de usuario en el servidor.
Paso 7: Configurar el firewall con “ufw”
El comando ufw — Uncomplicated Firewall — es la forma más simple de gestionar el firewall de tu servidor en Ubuntu.
Primero, establece la política predeterminada para denegar todas las conexiones entrantes:
sudo ufw default deny incoming Luego, permite explícitamente el tráfico SSH. Este paso es crítico.
sudo ufw allow 22/tcp

⚠️ ADVERTENCIA CRÍTICA: Siempre ejecuta sudo ufw allow 22/tcp antes de sudo ufw enable. Si habilitas el firewall sin permitir SSH, te bloquearás a ti mismo del servidor. Tu única opción sería acceder al servidor a través de la consola de tu proveedor de hosting — lo que puede no estar disponible en todos los planes.

Ahora es seguro habilitar el firewall:

sudo ufw enable
Command may disrupt existing SSH connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startupPuedes verificar el estado en cualquier momento:
sudo ufw status
Status: active
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       AnywhereTu servidor ahora solo acepta conexiones SSH entrantes en el puerto 22. Todo lo demás está bloqueado. Cuando instales Nginx más tarde, agregarás otra regla: sudo ufw allow 80/tcp para HTTP y sudo ufw allow 443/tcp para HTTPS.
✅ Tu servidor está protegido por un firewall.

Día 7: Verificaciones de Red y Finalización
Tu servidor está configurado, asegurado y en funcionamiento. Antes de darlo por terminado, verifiquemos que todo funciona desde el exterior y aprendamos cómo apagar correctamente.
Paso 1: Prueba de conectividad con “ping”
El comando ping prueba si tu servidor puede alcanzar otras máquinas en la red.
ping -c 4 8.8.8.8La bandera -c 4 limita el ping a 4 paquetes. Sin ella, ping se ejecuta indefinidamente hasta que presiones Ctrl+C. Las estadísticas al final te dicen todo: 4 paquetes enviados, 4 recibidos, 0% de pérdida. La red de tu servidor está funcionando.
✅ Has confirmado que tu servidor tiene conectividad de red funcionando.
Paso 2: Verifica interfaces de red con “ip”
El comando ip muestra la configuración de red de tu servidor.
ip addrEl comando ip reemplaza el deprecado ifconfig. La salida muestra tu interfaz de loopback (lo, siempre 127.0.0.1) y tu interfaz de red principal (eth0 en este caso). La línea inet muestra la dirección IP de tu servidor — esta es la dirección que usarías para SSH o para acceder a tu servidor web.
✅ Puedes ver las direcciones IP e interfaces de red de tu servidor.
Paso 3: Crea enlaces de archivos con “ln”
El comando ln crea enlaces entre archivos — esencialmente atajos.
ln -s /var/www/html /home/user/webroot

Esto crea un enlace simbólico en /home/user/webroot que apunta a /var/www/html. Cuando accedes al enlace, en realidad estás accediendo al directorio de destino. Los enlaces simbólicos son útiles para crear rutas de acceso convenientes sin duplicar archivos.

Puedes crear atajos a archivos y directorios en cualquier lugar del sistema.

Paso 4: Apaga de forma segura con “shutdown”

El comando shutdown apaga tu servidor de forma controlada.

sudo shutdown -h now

La bandera -h significa “halt” — detener todo y apagar. now significa inmediatamente. Pero también puedes programar un apagado:

sudo shutdown -h +5

Esto te da 5 minutos antes del apagado — tiempo suficiente para guardar trabajo, notificar a usuarios o cambiar de opinión. Para cancelar un apagado programado:

sudo shutdown -c

La bandera -c cancela cualquier apagado pendiente. Es una pequeña red de seguridad que puede salvarte de un apagado accidental.

Puedes apagar el servidor de forma segura, inmediatamente o según un horario.

Paso 5: Reinicia con “reboot”

El comando reboot reinicia tu servidor.

sudo reboot

Esto es equivalente a shutdown -r now — la bandera -r significa “restart” en lugar de “halt”. Lo usarás después de actualizaciones del kernel o cambios de configuración que requieran un nuevo inicio.

Puedes reiniciar el servidor con un único comando.


Qué sigue

Hace siete días, estabas mirando una terminal en blanco después de SSH-ing en un servidor que no sabías cómo usar. Ahora puedes navegar por el sistema de archivos, crear y administrar archivos, buscar cualquier cosa en el sistema, verificar la salud de tu servidor, instalar software, ejecutar servicios, asegurar la seguridad y administrar el ciclo de vida del servidor desde el inicio hasta el apagado.

La verdadera habilidad no es memorizar estos comandos. Es saber cuál usar cuando aparece un problema. Eso viene de usarlos — no de leer sobre ellos.

Abre una terminal hoy. Ejecuta ls, cd, y pwd hasta que se sientan naturales. Agrega un comando nuevo por día. En una semana, la terminal no se sentirá como una interfaz extraña. Se sentirá como la línea directa a tu servidor que es.

Si estás listo para poner estos comandos a trabajar en tu propio servidor, AlexHost ofrece planes VPS Linux asequibles con configuración instantánea y soporte 24/7 — un gran lugar para practicar sin riesgo.


Hoja de trucos: Todos los comandos de un vistazo

Aquí están todos los comandos de esta guía en un solo lugar. Marca esta página como favorita.

 

ComandoSignificaQué hace
ssh
Secure ShellConectarse a un servidor remoto de forma segura
whoami
Who Am IMostrar el nombre de usuario actual
pwd
Print Working DirectoryMostrar la ruta del directorio actual
ls
ListListar archivos y directorios
cd
Change DirectoryNavegar entre directorios
clear
ClearLimpiar la pantalla de la terminal
man
ManualAbrir la página del manual para cualquier comando
history
HistoryMostrar comandos ejecutados anteriormente
mkdir
Make DirectoryCrear nuevos directorios
touch
TouchCrear archivos vacíos o actualizar marcas de tiempo
cp
CopyCopiar archivos y directorios
mv
MoveMover o renombrar archivos y directorios
rm
RemoveEliminar archivos y directorios
echo
EchoImprimir texto o escribir en archivos
cat
ConcatenateMostrar el contenido de archivos
nano
NanoEditor de texto basado en terminal
find
FindBuscar archivos por nombre, tipo o atributos
grep
Global Regular Expression PrintBuscar patrones de texto en archivos
which
WhichLocalizar la ruta ejecutable de un comando
whereis
Where IsLocalizar binario, fuente y manual de un comando
whatis
What IsObtener una descripción de una línea de un comando
uname
Unix NameMostrar información del sistema
df
Disk FreeMostrar el uso del espacio en disco
free
FreeMostrar el uso de memoria/RAM
top
TopMonitoreo de procesos en tiempo real
ps
Process StatusInstantánea de procesos en ejecución
cal
CalendarMostrar un calendario
date
DateMostrar o establecer la fecha y hora del sistema
apt update
APT UpdateActualizar listas de repositorio de paquetes
apt install
APT InstallInstalar paquetes de software
systemctl
System ControlIniciar, detener y gestionar servicios
kill
KillTerminar un proceso por PID
pkill
Process KillTerminar procesos por nombre
wget
Web GetDescargar archivos de internet
curl
Client URLTransferir datos desde URLs
sudo
Superuser DoEjecutar comandos con privilegios elevados
chmod
Change ModeCambiar permisos de archivo
chown
Change OwnerCambiar la propiedad del archivo
passwd
PasswordCambiar contraseñas de usuario
useradd
User AddCrear una nueva cuenta de usuario
su
Switch UserCambiar a otro usuario
ufw
Uncomplicated FirewallGestionar el firewall del servidor
ping
PingProbar la conectividad de red
ip
IPMostrar interfaces de red y direcciones
ln
LinkCrear enlaces de archivo (simbólicos o duros)
shutdown
ShutdownApagar el servidor de forma segura
reboot
RebootReiniciar el servidor