Más de 30 Comandos Esenciales de Linux Que Debes Conocer

  por Matt Stamp
Más de 30 Comandos Esenciales de Linux Que Debes Conocer thumbnail

Hoy en día, casi todo tiene una interfaz de usuario muy atractiva. Basta con señalar y hacer clic para realizar las tareas. Por eso, casi nunca necesitamos la línea de comandos. 

Pero en el momento en que te registras en un VPS, necesitas aprender estos comandos esenciales de Linux, o te quedarás mirando una pantalla negra, preguntándote qué diablos hacer a continuación.

Aunque hay miles de comandos de Linux, he seleccionado los 30 más utilizados para la gestión diaria de servidores. 

Comprende Tu Nivel Actual de Dominio de los Comandos de Linux

Dependiendo de la frecuencia con la que utilices los comandos de Linux, te encontrarás en uno de estos cuatro niveles de dominio.

  • Nivel básico: Puedes conectarte por SSH a tu servidor y navegar por los directorios, pero no te sientes cómodo con los cambios en el sistema. Probablemente, copias y pegas comandos de tutoriales sin comprender completamente lo que hacen. Los permisos de los archivos siguen siendo confusos y, cuando algo falla, no sabes por dónde empezar a buscar.
  • Nivel profesional: Te sientes cómodo con las operaciones básicas de archivos y puedes resolver problemas sencillos, pero los problemas complejos todavía te obligan a buscar ayuda. Puedes gestionar entornos de desarrollo, pero te falta confianza para optimizar el rendimiento o implementar medidas de seguridad.
  • Nivel de infraestructura: Puedes diagnosticar cuellos de botella en el rendimiento y manejar configuraciones de seguridad, pero la automatización te resulta abrumadora. Entiendes cómo funcionan los comandos individuales, pero aún no tienes la fluidez suficiente para combinarlos en flujos de trabajo eficientes.
  • Nivel experto: Puedes pensar de forma sistemática sobre la arquitectura del servidor e identificar rápidamente la causa raíz de problemas complejos. Automatizas las tareas rutinarias y puedes optimizar los servidores para casos de uso específicos sin depender de recursos externos.

Recibe contenido directamente en tu bandeja de entrada

Suscríbete ahora para recibir todas las últimas actualizaciones, directamente en tu bandeja de entrada.

He clasificado los comandos de Linux a continuación, teniendo en cuenta estos niveles de competencia exactos.

Nivel Básico: Comandos Que Todo Desarrollador Debe Dominar

La primera vez que te conectas por SSH a un VPS, necesitas saber cómo navegar y ver los archivos. Estos comandos te ayudan a hacerlo sin sentirte completamente perdido.

Tabla de comandos de nivel fundacional para desarrolladores con sus prompts, significados y funciones, incluyendo ls, pwd, cd, mkdir, cp, mv, cat, head y tail.

Navegación e Inspección de Archivos

1. ls: Muestra el contenido del directorio actual

El comando sin parámetros muestra (¿lo ves? ls = lista) todos los archivos y carpetas visibles en tu ubicación actual. 

Pero cuando gestionas sitios web, necesitas información más detallada, por lo que puedes utilizar ls -la para ver los permisos, la propiedad, el tamaño de los archivos y los archivos ocultos que comienzan con puntos.

ls -la /var/www/html

El resultado muestra todo lo que necesitas:

Listado de directorio de /var/www/html que muestra dos archivos HTML y un enlace simbólico de phpmyadmin que apunta a /usr/share/phpmyadmin.

La primera columna muestra los permisos de los archivos, la tercera y la cuarta muestran quién es el propietario del archivo y la última muestra cuándo se modificó.

La tabla muestra información detallada sobre todos los archivos de tu directorio web, incluidos los archivos de configuración ocultos como .htaccess, que pueden causar problemas en el sitio web.

2. pwd: Muestra tu ubicación actual en la estructura del directorio 

El comando significa “imprimir directorio de trabajo” y muestra la ruta completa de tu ubicación actual. Cuando gestionas varios sitios web en un VPS, esto evita que edites accidentalmente los archivos del sitio equivocado. Solo tienes que escribir:

pwd

Esto podría devolver algo como /var/www/site1, lo que confirma que estás trabajando en el directorio correcto del sitio web.

3. cd: Cambia de directorio, lo que cambia tu directorio actual a una ubicación diferente. 

La sintaxis básica es “cd /path/to/directory.” . 

Puedes usar atajos como “cd” solo para ir a la página de inicio, “cd -” para volver al directorio anterior y “cd ..” para subir un nivel. 

cd /var/www/html

Terminal mostrando el comando cd /var/www/ con el prompt actualizado a root@localhost:/var/www#

Esto te lleva directamente al directorio principal de tu sitio web, donde se almacenan la mayoría de los archivos.

Gestión de Archivos y Directorios

4. mkdir: Crea nuevos directorios 

Significa “Make Directory” (crear directorio) y la sintaxis básica es “mkdir directory-name” para crear una sola carpeta. 

Puedes usar “mkdir -p” para crear estructuras de directorios anidados en un solo comando, y no dará error si los directorios ya existen.

mkdir -p /var/www/newsite/{public,logs,backups,ssl}

Terminal mostrando la creación de /var/www/newsite con los subdirectorios backups, logs, public y ssl listados en la salida.

Esto crea una estructura de directorios completa para un nuevo sitio web con carpetas separadas para archivos públicos, registros, copias de seguridad y SSL.

5. cp: Copia archivos y directorios de una ubicación a otra 

La sintaxis básica es:

cp <source path> <destination path>

Sin embargo, por defecto, el comando cp no copia archivos dentro de carpetas, ni siquiera carpetas anidadas.

Tú necesitarás utilizar “cp -r” para copiar árboles de directorios completos de forma recursiva, lo que gestiona todos los subdirectorios y su contenido.

cp -r /var/www/production /var/www/staging

Esto crea una copia completa de tu sitio web de producción para probar los cambios antes de implementarlos en vivo.

6. mv: Mueve archivos y directorios, o los renombra 

A diferencia de la copia, esto elimina el archivo original y te permite moverlos a diferentes directorios o renombrar archivos en la misma ubicación. 

Esta es la sintaxis básica:

mv <source path> <destination path>

Para mover el archivo a otra ubicación, debes especificar la ruta completa de destino como se indica a continuación:

mv wordpress-6.3.2.zip /var/www/downloads/

Si deseas cambiar el nombre de un archivo, solo tienes que “mover” el archivo de un nombre a otro en el mismo directorio:

mv nginx.conf nginx.conf.backup

Terminal showing nginx.conf renamed to nginx.conf.backup in /var/www/html, confirmed by updated directory listing

Operaciones Con el Contenido de los Archivos

7. cat: Muestra todo el contenido de un archivo en tu terminal (abreviatura de concatenar).

La sintaxis básica es cat nombre de archivo. Este comando es perfecto para leer archivos de configuración cortos o comprobar el contenido de scripts sin abrir un editor de texto.

cat /var/www/html/wp-config.php

Esto muestra tu archivo de configuración de WordPress para que puedas verificar las credenciales de la base de datos o comprobar si hay errores de sintaxis.

8. head: Muestra las primeras líneas de un archivo

El valor predeterminado es 10 líneas, pero puedes especificar un número diferente con “head -n 20”. Esto es útil para comprobar archivos de registro grandes sin mostrar miles de líneas en tu terminal.

head -n 50 /var/log/nginx/access.log

Esto muestra las primeras 50 entradas del registro de acceso de tu servidor web para comprobar los patrones de tráfico recientes.

9. tail: Muestra las últimas líneas de un archivo 

El comando tail sin ningún parámetro muestra 10 líneas, pero “tail -f” muestra continuamente las nuevas líneas a medida que se añaden al archivo. Esto lo hace muy valioso para supervisar archivos de registro en tiempo real mientras se solucionan problemas.

tail -f /var/log/nginx/error.log

Esto sigue tu registro de errores en tiempo real, mostrando los nuevos mensajes de error inmediatamente a medida que se producen durante el funcionamiento del sitio web.

Nivel Profesional: Comandos para Gestionar Flujos de Trabajo de Desarrollo

Una vez que te familiarices con ellos, estos comandos de nivel profesional te permitirán controlar las partes dinámicas de tu servidor. Podrás supervisar lo que se está ejecutando, gestionar procesos y manejar los recursos del sistema como un profesional.

Tabla de comandos de nivel profesional para desarrolladores con sus prompts, significados y funciones, incluyendo ps, top, htop, kill, killall, df, free, du, grep, find y chmod.

Control y Monitoreo de Procesos

10. ps: Muestra los procesos que se están ejecutando actualmente en tu sistema

Al ejecutar “ps aux” se muestran todos los procesos con información detallada, incluido el uso de la CPU y la memoria. 

  • a muestra los procesos de todos los usuarios.
  • u proporciona un formato fácil de usar.
  • x incluye procesos no vinculados a terminales.

| t La “tubería” pasa la salida de “ps aux” al comando “grep”, y lo explicaré más adelante en la sección de búsqueda de archivos. 

ps aux | grep nginx

Terminal mostrando la salida de ps aux | grep nginx, listando solo el propio comando grep, sin encontrarse ningún proceso activo de nginx.

Este comando completo muestra todos los procesos relacionados con NGINX, lo que te ayuda a verificar que tu servidor web está funcionando e identificar cualquier proceso que consuma muchos recursos.

11. top: Muestra el rendimiento del sistema en tiempo real y los procesos en ejecución

A diferencia de “ps”, este comando se actualiza continuamente y muestra información en tiempo real sobre la CPU, la memoria y los procesos. Presiona q para salir, k para eliminar procesos y M para ordenar por uso de memoria.

top

Terminal mostrando la salida del comando top con un tiempo de actividad del sistema de 16 días, un promedio de carga de 0.00 y procesos de root que incluyen systemd, kthreadd y tareas rcu.

Cuando tu sitio web se carga lentamente, esto revela qué procesos están consumiendo recursos. Las estadísticas de carga media y uso de memoria ayudan a identificar los cuellos de botella del sistema.

12. htop: Versión mejorada de top con una interfaz visual más atractiva

Ofrece la misma funcionalidad que top, pero con codificación por colores, compatibilidad con el mouse y una navegación más sencilla. Es posible que tengas que instalarlo primero con un comando sudo, que explicamos más adelante.

htop

Terminal mostrando la salida de htop con 61 tareas, 486 MB de 3.82 GB de memoria utilizada, un tiempo de actividad de 16 días y múltiples procesos de Node bajo root consumiendo 2.4% de memoria cada uno.

La pantalla con colores facilita identificar procesos problemáticos de un vistazo y te permite desplazarte por la lista de procesos con mayor facilidad.

13. kill: Termina los procesos por su ID de proceso

Usa kill <PID>; para detener un proceso específico de forma elegante. Si un proceso no responde, puedes forzar su terminación con  kill -9 <PID>;.

kill 1234

Cuando un proceso PHP se atasca consumiendo demasiada CPU, busca su PID con ps aux o top y, a continuación, utiliza kill para terminarlo.

14. killall: Termina todos los procesos con un nombre específico

No siempre sabrás el PID, ya que los nombres de los servicios pueden diferir de los nombres de las aplicaciones. El comando killall <processname>; detiene todos los procesos que coinciden con ese nombre a la vez.

killall php-fpm

Esto detiene todos los procesos de trabajo de PHP-FPM, lo que resulta útil cuando necesitas reiniciar completamente tu controlador PHP.

Supervisión de los recursos del sistema

15. df: Muestra el uso del espacio en disco para todos los sistemas de archivos montados

Al ejecutar “df -h” se muestra el uso del disco en un formato legible para los humanos (GB, MB en lugar de kibibytes). El comando anterior puede ayudarte a realizar un seguimiento del uso del disco para evitar errores de disco lleno. 

df -h

Terminal mostrando la salida de df -h con el sistema de archivos raíz /dev/sda con 79G en total, 27G usados, 49G disponibles, 36% de uso, además de entradas tmpfs con uso mínimo.

Si ves que la columna “use%” muestra más del 70 % para cualquier disco, es hora de limpiar el espacio en disco o actualizar a un almacenamiento más grande. 

16. free: Muestra el uso de la memoria, incluyendo la RAM y el espacio de intercambio

Sin parámetros, el comando free te proporcionará datos en kibibytes (1 kibibyte equivale a 1024 bytes). 

Usa “free -h” para ver las estadísticas de memoria en un formato legible. Esto ayuda a identificar problemas de rendimiento relacionados con la memoria antes de que bloqueen tus aplicaciones.

free -h

Terminal mostrando la salida de free -h con 3.8 Gi de memoria total, 417 Mi usados, 410 Mi libres, 3.0 Gi en buff/cache y 3.1 Gi disponibles, además de 511 Mi de swap libre.

Si la memoria “disponible” cae cerca de cero, tu servidor dejará de responder. Este indicador te indica cuándo debes añadir más RAM u optimizar tus aplicaciones.

17. du: Muestra el uso del disco para directorios específicos

Al ejecutar du -sh <directory> obtienes un resumen del uso del espacio de una carpeta concreta. La opción “-s” solo muestra los totales y la opción “-h”, como hemos visto en los comandos anteriores, hace que el resultado sea legible.

du -sh /var/www/*

Si ejecutas varios sitios web en tu VPS, el comando anterior te mostrará qué sitio web consume más espacio y te ayudará a identificar los directorios que podrían limpiarse.

Búsqueda de Archivos y Procesamiento de Texto

18. grep: Busca patrones de texto dentro de archivos

Grep significa “global regular expression print” (impresión de expresiones regulares globales). Antes utilicé el comando “grep” con nuestro comando “ps aux”. Permíteme explicarte qué hace realmente. 

Este comando se puede utilizar para buscar patrones de texto o expresiones regulares en textos largos. Usa grep “search term” <filename>; para encontrar texto específico en un archivo. Añade “-r” para buscar de forma recursiva en los directorios y “-i” para que la búsqueda no distinga entre mayúsculas y minúsculas.

grep -r “database_name” /var/www/html/

Esto encuentra todos los archivos que contienen el nombre de tu base de datos, lo cual es esencial para rastrear referencias de configuración o solucionar problemas de conexión.

19. find: Busca archivos y directorios es según diversos criterios

Este comando te ayuda a encontrar archivos en tu ruta que coincidan con un nombre o patrón específico. 

Puedes utilizar find <path> -name “pattern”  para buscar archivos que coincidan con un patrón específico. Puedes buscar por nombre, tamaño, fecha de modificación o tipo de archivo.

find /var/www -name “*.log” -size +100M

Esto busca archivos de registro de más de 100 MB, lo que ayuda a identificar los archivos que necesitan rotación o limpieza para liberar espacio en disco.

20. chmod: Cambia los permisos de archivos y directorios

Los permisos de archivo en Linux pueden ser complejos, y no puedo explicarlos en detalle aquí, pero Red Hat escribió un artículo completo que explica los permisos de archivo.

Una vez que comprendas los permisos de los archivos, puedes utilizar el comando “chmod” para actualizarlos.

Usa chmod <permissions> <filename>; para establecer el acceso al nombre de archivo especificado. 

En este caso, los “permisos” utilizan una notación numérica en la que “7 = lectura + escritura + ejecución”, “6 = lectura + escritura” y “4 = solo lectura”.

chmod 644 /var/www/html/wp-config.php

Otorgar permisos 777 a archivos críticos expone tu servidor a vulnerabilidades de seguridad. 

Por lo tanto, debes saber qué permisos son absolutamente necesarios y conceder solo esos. Los archivos web suelen necesitar permisos 644, mientras que los directorios de sitios web necesitan 755 para funcionar correctamente. 

Nivel de Infraestructura: Comandos para Entornos de Producción

Cuando se requiere manejar el aspecto de red de tus servidores, estos comandos pueden separar rápidamente a los administradores competentes de aquellos que tienen dificultades cuando surgen problemas reales en los sitios web de producción.

Tabla de comandos de nivel de infraestructura para desarrolladores con sus prompts, significados y funciones, incluyendo ping, curl, netstat, ss, sudo, chown, ssh-keygen y ufw.

Diagnóstico y Gestión de Redes

21. ping: Comprueba la conectividad de la red y mide el tiempo de respuesta

El comando “ping” comprueba si tu servidor puede conectarse a otro sitio web o servidor. Puedes hacer ping a un nombre de dominio o a una dirección IP.

Si utilizas solo ping <hostname/IP> se creará un ping sin fin hasta que lo detengas manualmente. Puedes añadir “-c 4” para que el comando solo envíe 4 paquetes para verificar la conectividad y se detenga.

ping -c 4 tudominio.com

Terminal mostrando una prueba de ping a dreamhost.com con 4 paquetes transmitidos y recibidos, 0% de pérdida de paquetes y un tiempo promedio de ida y vuelta de 245 ms.

Si el ping falla por completo, es posible que el DNS esté dañado o que haya un problema de conectividad de red, y puedes empezar a delimitar el problema a partir de aquí.

22. curl: Transfiere datos hacia o desde servidores utilizando varios protocolos

Cuando estás en la terminal, es bastante difícil acceder a un sitio web y descargar paquetes. No tienes un navegador ni una interfaz de usuario conectados. 

Este comando tiene varios parámetros, por lo que es posible que quieras consultar este tutorial oficial sobre el uso de curl para comprenderlo completamente. 

Pero para comprobar si un sitio web responde, solo necesitas el parámetro “-I” (es decir, la i mayúscula). Este parámetro ayuda a curl a obtener los encabezados HTTP en lugar de obtener el HTML completo del sitio web.

curl -I https://tudominio.com

Terminal showing curl header request to dreamhost.com returning HTTP 301 redirect to https://www.dreamhost.com/ with server AmazonS3 via CloudFront

Esto muestra los códigos de estado HTTP (“200=éxito”, “404=no encontrado”, “500=error del servidor”) y los encabezados de respuesta, revelando problemas que los navegadores podrían ocultar.

23. netstat: Muestra las conexiones de red y los servicios de escucha

Netstat es otro comando muy completo que te ayuda a supervisar tus conexiones de red, comprobar qué puertos están abiertos en tu servidor, qué servicios están a la escucha en qué puertos específicos y mucho más. 

Aquí tienes una guía sencilla de IBM que te muestra algunos usos comunes de netstat. 

Para uso en servidores, principalmente necesitarás el comando “netstat -tlnp” para mostrar las conexiones de red en escucha. 

Los indicadores significan: 

  • “-t” Conexiones TCP
  • “-l” solo escucha
  • “-n” direcciones numéricas
  • “-p” ID de proceso

netstat -tlnp | grep :80

Esto confirma que tu servidor web está escuchando en el puerto 80. Si no aparece nada, tu servidor web no está funcionando o no está configurado correctamente.

24. ss: Un sustituto moderno de netstat con mejor rendimiento

Aunque netstat ha sido la herramienta tradicional que sigue funcionando, puede ser más lenta si estás en un servidor extremadamente ocupado. El comando “ss” llegó para solucionar eso.

Puedes utilizar parámetros similares a los de netstat con el comando ss y obtener el resultado mucho más rápido.  

ss -tlnp | grep :443

Esto comprueba si tu servidor web está escuchando conexiones SSL en el puerto 443, esencial para sitios web HTTPS.

Seguridad y control de acceso

25. sudo: Ejecuta comandos con privilegios elevados

Sudo, abreviatura de “super user do”, te permite realizar tareas administrativas sin tener que cambiar completamente al usuario root. Ayuda a ejecutar comandos con responsabilidad y riesgo reducido. 

Si cambias a la cuenta “root”, tendrás control total sobre tu servidor y podrás eliminar archivos accidentalmente, incluyendo la posibilidad de eliminar el sistema operativo mientras se está ejecutando. 

Por lo tanto, sudo nos salva de accidentes “suc”. Solo tienes que anteponer el comando a cualquier comando de administración y te pedirá tu contraseña. 

sudo systemctl restart nginx

Las tareas administrativas, como reiniciar servicios, requieren privilegios elevados. Usar sudo es más seguro que iniciar sesión directamente como root. 

Ten en cuenta que tu usuario debe tener los permisos sudo antes de utilizar el comando sudo. 

26. chown: Cambia la propiedad de archivos y directorios

En Linux, cada archivo es propiedad de un usuario y un grupo. Siempre puedes cambiar quién es el propietario del archivo utilizando el comando chown. Puedes utilizar chown chown <userr>:<group> <filename>; para establecer la propiedad del archivo. 

Por ejemplo, los servidores web deben ser propietarios de los archivos del sitio web para poder servirlos correctamente.

chown -R www-data:www-data /var/www/html/

Este comando es útil si subes archivos a través de FTP. Estos archivos pueden llegar con una propiedad incorrecta, y puedes utilizar chown para cambiarla.

27. ssh-keygen: Genera pares de claves SSH para una autenticación segura

Las claves SSH son mucho más seguras que las contraseñas para acceder al servidor. La clave SSH se encuentra en tu ordenador sin enviarse nunca al servidor, por lo que un pirata informático que vigile tu red nunca verá la clave que te ha ayudado a iniciar sesión.

Al ejecutar “ssh-keygen -t rsa -b 4096” se crean archivos de claves públicas y privadas. 

ssh-keygen -t rsa -b 4096 -C “tu@email.com”

Esto crea un par de claves “RSA de 4096 bits”. Copia la clave pública en los servidores para la autenticación sin contraseña y las implementaciones automatizadas.

28. ufw: El sencillo cortafuegos de Ubuntu para la protección básica del servidor

Todos los servidores necesitan una buena configuración de firewall. La mayoría de los servidores Linux vienen con el firewall ufw, o se puede instalar fácilmente. 

Una vez que lo tengas, ejecuta el comando ufw enable para activar el cortafuegos y, a continuación,ufw allow <port>; para permitir servicios específicos a través del cortafuegos.

ufw enable

ufw allow 22

ufw allow 80

ufw allow 443

Esto permite el tráfico SSH (22), HTTP (80) y HTTPS (443) mientras bloquea todo lo demás, lo que proporciona una protección básica pero eficaz del servidor.

Nivel Experto: Comandos para Automatización y Escalabilidad

Estos comandos te ayudan con la automatización y la administración avanzada del sistema para gestionar sitios web a gran escala.

Gestión de servicios

29. systemctl: controla los servicios systemd en distribuciones Linux modernas

Usa systemctl <action> <service>; para gestionar los servicios del sistema. Las acciones más comunes son iniciar, detener, reiniciar, habilitar, deshabilitar y ver el estado.

systemctl status nginx

systemctl restart mysql

El primer comando muestra el estado detallado de NGINX, incluidas las entradas recientes del registro. El segundo reinicia el servidor de la base de datos para aplicar los cambios de configuración que hayas realizado en la configuración de “mysql”.

30. crontab: Programa tareas automatizadas para que se ejecuten en momentos específicos

No querrás despertarte en mitad de la noche para ejecutar comandos del servidor. Las tareas cron pueden hacerlo por ti. 

Para editar tu tabla cron personal, ejecuta crontab -e y verás todas tus entradas cron existentes. 

Las tareas se especifican utilizando el formato: minuto, hora, día, mes, día de la semana y comando.

0 2 * * * /usr/local/bin/backup-website.sh

Por ejemplo, la tarea cron anterior ejecuta un script de copia de seguridad (“backup-website.sh”) todos los días a las 2 a. m. 

Puedes utilizar las tareas cron para realizar copias de seguridad automáticas, rotación de registros, tareas de mantenimiento y mucho más en tus entornos de producción.

Procesamiento Avanzado de Texto

31. sed: Editor de flujo para filtrar y transformar texto

Usa sed ‘s/old/new/g’ <filename>; para reemplazar texto en archivos. Añade “-i” para editar archivos directamente en lugar de solo mostrar los resultados.

sed -i ‘s/old_database/new_database/g’ /var/www/html/wp-config.php

Esto reemplaza todas las apariciones de “old_database” por “new_database” en tu archivo de configuración de WordPress; útil para migraciones de bases de datos.

32. awk: Herramienta de escaneo de patrones y extracción de datos

Al ejecutar awk ‘{print $1}’ <filename> se extrae el primer campo (columna) de cada línea. Excelente para procesar archivos de registro y datos estructurados.

awk ‘{print $1}’ /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -10

Esto extrae las direcciones IP de los registros de acceso, las cuenta y muestra los 10 visitantes principales de tu sitio web.

Escenarios de aplicación en el mundo real

Repasemos rápidamente y luego combinemos estos comandos para situaciones comunes a las que te enfrentarás al administrar tu VPS.

Símbolo del sistema:Significado:Qué hace:
lsListEnumera el contenido del directorio actual.
pwdImprime el directorio de trabajoMuestra la ruta completa de tu ubicación
cdCambia de directorioCambia tu directorio actual a la ubicación indicada
mkdirCrear directorioCrea un directorio (una carpeta) en la ubicación solicitada.
cpCopiarCopia archivos y directorios del punto A al punto B
mvMoverMueve (o renombra) archivos y directorios
catConcatenarMuestra todo el contenido de un archivo en tu terminal
headMuestra las primeras 10 líneas de un archivo
tailMuestra las últimas 10 líneas de un archivo
psEstado del procesoMuestra los procesos que se están ejecutando en tu sistema en el momento en que se ejecuta
topMuestra una vista dinámica y en tiempo real de los procesos que se están ejecutando en tu sistema.
htopUna versión de “top” más centrada en la interfaz de usuario
killTermina el proceso especificado
dfEspacio libre en discoMuestra el uso del espacio en disco para todos los sistemas de archivos montados
libreMuestra la cantidad de memoria libre y utilizada en el sistema
duUso del discoMuestra el uso del disco para un directorio específico.
grepExpresión regular global ImprimirBusca patrones de texto dentro de los archivos
findBusca archivos y directorios según tus criterios
chmodCambiar modoModifica los permisos del sistema de archivos
pingPacket Internet Groper (pero la mayoría de la gente solo dice “Ping”)Comprueba si tu servidor puede conectarse a otro sitio web o servidor
curlURL del clienteTransfiere datos hacia o desde servidores.
netstatEstadísticas de redMuestra las conexiones de red y los servicios de escucha.
ssEstadísticas de socketUna versión actualizada de netstat
sudoSuperusuario DoEjecuta comandos con privilegios elevados
chownCambiar propietarioCambia la propiedad de archivos y directorios
ssh-keygenGeneración de claves Secure ShellGenera pares de claves SSH para una autenticación más segura
ufwCortafuegos sencilloUn cortafuegos fácil de usar para la protección básica del servidor
systemctlControl del sistemaControla los servicios systemd en distribuciones Linux modernas
crontabTabla CronLista de todas las tareas automatizadas (crons) programadas actualmente
sedEditor de secuenciasFiltra y ajusta el texto de los archivos
awkLleva el nombre de sus desarrolladoresHerramienta de escaneo de patrones y extracción de datos

Cuando Tu Sitio Web Carga Lentamente

Empieza por comprobar qué está consumiendo los recursos de tu servidor. 

Ejecuta top o htop para ver qué procesos están utilizando más CPU y memoria. Busca cualquier proceso que consuma más del 50 % de tus recursos y comprueba si alguno de ellos se puede eliminar.

Si el uso de los recursos parece normal, comprueba el espacio disponible en disco con “df -h”. Si observas que el uso supera el 90 % en cualquier sistema de archivos, libera espacio lo antes posible. Todo se ralentiza drásticamente cuando tu servidor está lleno. 

A continuación, verifica que tu servidor web funciona correctamente. 

Utiliza ps aux | grep nginx (o ps aux | grep apache si utilizas Apache) para confirmar que los procesos del servidor web están activos y responden.

Comprueba los registros de errores mientras pruebas tu sitio. 

Ejecuta tail -f /var/log/nginx/error.log en un terminal y, a continuación, visita tu sitio web en una ventana del navegador. Si hay algún error al ejecutar tu sitio, deberías verlo aparecer inmediatamente en tu terminal.

Por último, prueba el tiempo de respuesta de tu sitio web directamente desde el servidor con curl -I https://tusitio.com. Esto evita cualquier problema de red y te indica exactamente cuánto tiempo tarda tu servidor en responder.

Configuración de un Entorno de Desarrollo Seguro

Crea una cuenta de usuario dedicada para el trabajo de desarrollo en lugar de utilizar root para todo:

sudo adduser devuser

Configura una estructura de directorios adecuada para tu sitio de prueba. Esto mantiene los archivos de desarrollo organizados y separados de la producción:

mkdir -p /var/www/staging/{public,logs,backups}

Corrija la propiedad para que tu servidor web pueda acceder a los archivos correctamente:

chown -R devuser:www-data /var/www/staging

Establece los permisos adecuados: 755 permite al propietario leer/escribir/ejecutar, mientras que a los demás les da acceso de lectura y ejecución:

chmod -R 755 /var/www/staging

Configura tu firewall para que solo permita los servicios esenciales. Empieza por permitir SSH para que no te quedes fuera:

sudo ufw allow 22

Permite el tráfico web en los puertos HTTP y HTTPS estándar:

sudo ufw allow 80

sudo ufw allow 443

Habilita el firewall para que comience a bloquear las conexiones no autorizadas:

sudo ufw enable

Combinaciones de Comandos Que Muestran Tu Verdadero Dominio

Los usuarios avanzados combinan comandos para resolver problemas complejos:

El siguiente comando busca procesos nginx, extrae sus PID y los elimina todos en una sola línea:

ps aux | grep nginx | awk ‘{print $2}’ | xargs kill -9 

Este comando find elimina automáticamente los archivos de registro con más de 7 días de antigüedad para liberar espacio en disco:

find /var/log -name “*.log” -mtime +7 -delete

Este comando du combinado muestra los 5 directorios más grandes de tu raíz web, ordenados por tamaño:

du -sh /var/www/* | sort -hr | head -5

Si recibes errores 404, ejecuta este comando para contarlos en tu registro de acceso e identificar los enlaces rotos:

grep -c “404” /var/log/nginx/access.log

¿Y Ahora Qué?

Una vez que te sientas cómodo con estos 30 comandos, querrás un proveedor de VPS de calidad que sea rápido y flexible, a la vez que te ofrezca un control total para tus habilidades en crecimiento.

El alojamiento VPS de DreamHost te ofrece precisamente eso. Obtienes acceso root completo para experimentar con seguridad, almacenamiento SSD que agiliza las operaciones con archivos y recursos escalables cuando tus proyectos superan sus límites actuales.

También incluimos copias de seguridad automáticas para que puedas experimentar sin miedo, y nuestro equipo de soporte conoce bien los entornos Linux para ayudarte con configuraciones complejas.

VPS Hosting

Sabemos Que Tienes Muchas Opciones VPS

Así es como se diferencian los servidores VPS de DreamHost: Servicio al cliente 24/7, un panel intuitivo, RAM escalable, ancho de banda ilimitado, alojamiento ilimitado de dominios y almacenamiento SSD.

Ver más