Trabajar desde la línea de comandos es esencial para administrar servidores. Tanto si gestionas WordPress como si analizas logs o mueves archivos, los comandos de Linux adecuados hacen tu trabajo más eficiente. En Theory7 damos con frecuencia acceso SSH a los clientes que quieren aprovechar esta potencia. En esta guía aprenderás los comandos más importantes.

Comandos de navegación

Mostrar la ubicación actual

pwd

Este comando muestra la ruta completa de tu directorio actual. Resulta útil para saber dónde te encuentras en la jerarquía de archivos, sobre todo si trabajas con varios proyectos.

Mostrar el contenido de un directorio

ls

Con más detalles:

ls -la

Qué significan las opciones:

  • -l - Formato largo con detalles, como permisos de archivo, propietario, tamaño y fecha de la última modificación.
  • -a - Muestra también los archivos ocultos (los que empiezan por un punto).

Ir a otro directorio

cd /var/www/html

Atajos útiles:

  • cd ~ - A tu directorio personal (home).
  • cd .. - Un nivel hacia arriba en la estructura de directorios.
  • cd - - Al directorio anterior.

Gestionar archivos y carpetas

Crear un archivo

touch bestand.txt

Este comando crea un archivo nuevo y vacío. Es útil para crear rápidamente archivos que quieres editar más tarde.

Crear una carpeta

mkdir nieuweMap

Incluidos los directorios superiores:

mkdir -p pad/naar/diepe/map

Con la opción -p, si las carpetas superiores todavía no existen, también se crean.

Copiar

Archivo:

cp bron.txt doel.txt

Carpeta con su contenido:

cp -r bronmap doelmap

El argumento -r significa 'recursivo' y es necesario para copiar directorios.

Mover o renombrar

mv oudnaam.txt nieuwenaam.txt
mv bestand.txt /andere/locatie/

Con el comando mv puedes tanto mover como renombrar archivos. Es una forma práctica de mantener tus archivos organizados.

Eliminar

Archivo:

rm bestand.txt

Carpeta con su contenido:

rm -r mapnaam

Atención: rm es permanente. No hay papelera, así que ten cuidado con este comando.

Ver archivos

Mostrar el contenido completo

cat bestand.txt

Este comando muestra todo el contenido de un archivo en el terminal. Es útil para ver rápidamente archivos de texto.

Primeras líneas

head -20 bestand.txt

Esto muestra las primeras 20 líneas de un archivo. Es útil para hacerte rápidamente una idea del contenido.

Últimas líneas

tail -50 bestand.txt

Esto muestra las últimas 50 líneas de un archivo. Puede ser útil con archivos de log en los que quieres ver la actividad más reciente.

Seguir un archivo de log en tiempo real

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

Con la opción -f puedes seguir un archivo en tiempo real. Es especialmente útil para supervisar archivos de log mientras haces cambios.

Desplazarte por un archivo

less bestand.txt

Con less puedes desplazarte por un archivo sin cargarlo por completo en la memoria. En less se navega así:

  • Espacio - Avanzar una página.
  • b - Retroceder una página.
  • / - Buscar.
  • q - Salir.

Editar archivos

Nano (para principiantes)

nano bestand.txt

Nano es un editor de texto sencillo, ideal para principiantes. Los comandos aparecen en la parte inferior:

  • Ctrl+O - Guardar.
  • Ctrl+X - Salir.
  • Ctrl+W - Buscar.

Vim (avanzado)

vim bestand.txt

Vim es un editor de texto potente, pero tiene una curva de aprendizaje más pronunciada. Lo básico de Vim:

  • i - Modo de inserción (escribir).
  • Esc - Volver al modo de comandos.
  • :w - Guardar.
  • :q - Salir.
  • :wq - Guardar y salir.

Permisos y propiedad

Ver los permisos

ls -la bestand.txt

La salida muestra información sobre los permisos del archivo, el propietario, el grupo, el tamaño y la fecha de la última modificación. Esto te ayuda a entender quién tiene acceso al archivo.

Cambiar los permisos

chmod 755 script.sh
chmod 644 bestand.txt

Valores habituales:

  • 755 - Ejecutable para el propietario, legible para los demás.
  • 644 - Lectura y escritura para el propietario, legible para los demás.
  • 600 - Solo el propietario puede leer y escribir.

Cambiar el propietario

chown gebruiker:groep bestand.txt

De forma recursiva para carpetas:

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

Esto es importante para configurar correctamente los permisos de archivo, sobre todo en servidores web, donde el servidor web debe tener acceso a determinados archivos.

Buscar

Buscar archivos

find /var/www -name "*.php"

Busca archivos con una extensión concreta. Es útil para desarrolladores que quieren acceder rápidamente a sus archivos de código.

Busca archivos de más de 100MB:

find / -size +100M -type f

Buscar texto en archivos

grep "zoekterm" bestand.txt

De forma recursiva en todos los archivos:

grep -r "zoekterm" /var/www/

Sin distinguir mayúsculas y minúsculas:

grep -i "zoekterm" bestand.txt

Es especialmente útil para depurar aplicaciones o buscar configuraciones concretas.

Información del sistema

Espacio en disco

df -h

Este comando muestra el espacio en disco disponible y usado en todos los sistemas de archivos montados. Es fundamental para administrar servidores y evitar problemas inesperados de almacenamiento.

Memoria

free -h

Ofrece un resumen del uso de la RAM y de la memoria swap. Esto ayuda a supervisar el rendimiento de tu servidor.

Procesos en ejecución

top

O mejor:

htop

htop ofrece una interfaz más fácil de usar para gestionar procesos y consultar información del sistema.

Servicios activos

systemctl status apache2

Este comando muestra el estado de un servicio concreto, como Apache. Es importante para gestionar servidores web y resolver problemas.

Compresión

Crear un ZIP

zip -r backup.zip mapnaam/

Este comando crea un archivo ZIP de una carpeta. Es útil para archivar ficheros o hacer copias de seguridad.

Descomprimir un ZIP

unzip backup.zip

Este comando descomprime un archivo ZIP en el directorio actual.

Crear un TAR.GZ

tar -czvf backup.tar.gz mapnaam/

Es un método muy utilizado para archivar ficheros en sistemas Linux.

Descomprimir un TAR.GZ

tar -xzvf backup.tar.gz

Este comando descomprime un archivo TAR.GZ. Es útil para restaurar archivos desde un archivo comprimido.

Red

Probar la conectividad

ping google.com

Este comando prueba la conectividad de red con un servidor externo. Es una herramienta básica de diagnóstico para problemas de red.

Ver los puertos

netstat -tlnp

O, de forma más moderna:

ss -tlnp

Estos comandos muestran las conexiones de red activas y los puertos que usan los procesos.

Descargar un archivo

wget https://example.com/bestand.zip

O con curl:

curl -O https://example.com/bestand.zip

Estas herramientas son esenciales para descargar archivos de internet a tu servidor.

Combinaciones útiles

Buscar y contar

grep -r "error" /var/log/ | wc -l

Este comando cuenta las veces que aparece un término concreto en los archivos de log, lo que resulta útil para depurar errores.

Encontrar los archivos más grandes

du -ah /var/www | sort -rh | head -20

Este comando te ayuda a identificar los archivos más grandes de un directorio, lo que resulta útil para gestionar el espacio en disco.

Encontrar y detener un proceso

ps aux | grep apache
kill -9 PID

Es una forma práctica de gestionar procesos y finalizar los que no deseas.

Más información sobre los servidores VPS de Theory7

¿Necesitas ayuda?

¡Estamos a tu disposición! ¿Te encuentras con algún problema o tienes preguntas? Nuestro equipo de soporte te ayuda encantado de forma personal. Envíanos un mensaje a través del sistema de tickets: solemos responder en unas pocas horas y buscamos la solución contigo.