Para poder aprovechar cualquier VPS (servidor privado virtual, por sus siglas en inglés) es importante saber cómo inspeccionar el sistema operativo. Entre otras cosas, esto involucra acceder al servidor en forma segura, manipular archivos y directorios, instalar software y gestionar servicios. Este tutorial de comandos Linux te enseñará cómo comenzar para dar tus primeros pasos en este apasionante mundo.
Antes de comenzar con el tutorial de comandos Linux
- Pon en funcionamiento un VPS de DonWeb con una cuenta que tenga acceso a
sudo
, tal como detallamos en Configuración inicial de un servidor con Ubuntu 20.04.
Inspeccionar la estructura de directorios
A diferencia de otros sistemas operativos, Linux tiene solamente un árbol de directorios sin importar cuántos dispositivos de almacenamiento estén disponibles. Una analogía que suele ser útil es comparar la estructura de directorios a un árbol invertido. Todo comienza con la raíz y luego aparecen las ramas (ignoremos por un momento el tronco):
Siguiendo con esta analogía, el inicio representa el directorio raíz y las ramas los demás subdirectorios del sistema. Cada distribución de Linux agrega algunos toques particulares, pero todas ellas siguen en mayor o menor grado el estándar de jerarquía del sistema de archivos. Este documento sirve de guía para entender el propósito de esta división. Utilizando el comando tree
puedes ver el árbol de directorios (con la opción -d
) hasta una profundidad dada por la opción -L
. El comando que aparece a continuación te permitirá ver el primer nivel por debajo del directorio raíz, representado por /
:
sudo apt update -y && sudo apt install tree
tree -d -L 1 /
El resultado mostrará únicamente directorios y los enlaces simbólicos (una especie de accesos directos) que apuntan a directorios:
El estándar explica, entre otras cosas, el propósito de algunos de los directorios que observas arriba:
- /bin: programas (binarios ejecutables) de usuarios
- /boot: archivos de arranque (incluyendo el kernel Linux)
- /etc: configuraciones varias
- /home: directorios personales de usuario
- /tmp: archivos temporales (por lo general desaparecerán al reiniciar el sistema)
- /var: datos variables (logs, por ejemplo)
Para ver el contenido de alguno de ellos, emplea ls
o el mismo tree
:
Es posible que en tu caso observes algunas diferencias en base a la actividad previa del sistema y los servicios instalados.
Manipular archivos y directorios
Los usuarios con permisos limitados solamente pueden manipular el contenido de su directorio personal por una cuestión de seguridad. Aparte de eso, también cuentan con la posibilidad de guardar recursos dentro de /tmp y borrar o actualizar otros que hayan generado anteriormente.
Las operaciones con archivos y directorios se llevan a cabo con los comandos que aparecen a continuación:
- Crear:
touch
oecho
(archivos) ymkdir
(directorios) - Cambiar el nombre:
mv
(tanto archivos como directorios) - Copiar: cp (tanto archivos como directorios)
- Borrar:
rm
(archivos) y rmdir (directorios)
Además de touch
y echo
, también es posible crear archivos a través de un editor de texto como nano
o vim
.
En los ejemplos que aparecen debajo, el intérprete de la línea de comandos ignora lo que aparece luego de #. Estos comentarios sirven como aclaración o recordatorio en cada caso:
touch archivo1.txt archivo2.txt archivo3.txt # Crear archivos vacíos con los nombres dados
mv archivo1.txt archivo-uno.txt # Cambiar nombre
mkdir subdirectorio # Generar un subdirectorio con ese nombre
mv archivo-uno.txt subdirectorio/ # Mover el archivo dentro de subdirectorio
ls archivo* subdirectorio/ # Listar el contenido de los archivos y el subdirectorio
La imagen de arriba muestra que mv
sirve tanto para renombrar como para mover. ¿Cuándo se utiliza para cada uno de esas operaciones? Las reglas son las siguientes y aplican también a cp
en lo que respecta a copiar archivos y directorios:
- En caso de que
origen
se trate de un archivo o un directorio,mv origen destino
le cambia el nombre adestino
. Si este último es un archivo existente, lo sobrescribe. - Cuando
destino
es un directorio existente,mv origen destino
mueveorigen
dentro dedestino
.
Gestionar paquetes con APT
Los repositorios de una distribución son ubicaciones donde se almacenan los paquetes oficiales que provee esta. Para evitar congestiones, existe una gran cantidad de espejos distribuidos en todo el mundo. Estos recursos permiten instalar software en Linux través de un gestor de paquetes, el cual permite descargar programas y sus dependencias. En Debian y distribuciones derivadas, como Ubuntu, estas son algunas de las operaciones que puedes hacer con el gestor de paquetes APT.
sudo apt update -y # Actualización del índice de paquetes disponibles en los repositorios
sudo apt-cache search htop # Buscar htop en los repositorios
sudo apt-cache show htop # Ver información sobre el paquete
sudo apt install -y htop # Instalarlo
sudo apt purge -y htop # Desinstalarlo y eliminar archivos de configuración (usar remove en vez de purge si no se desea conservar la configuración)
La opción -y
confirma de forma automática las acciones a realizar. Si la omites, el gestor te pedirá confirmación antes de realizar cambios.
Inspeccionar el uso del disco
A medida que utilices el sistema, instales paquetes y crees archivos y directorios, el uso del almacenamiento irá creciendo. Si llegas a quedarte sin espacio, el sistema operativo te limitará en las operaciones que puedas efectuar. Por ese motivo, es necesario que sepas ver el uso de disco e inspeccionar determinados directorios para obtener más detalles.
En primer lugar, ejecuta df
a secas para ver la información sobre el sistema de archivos raíz. Las opciones que aparecen a continuación mostrarán las cantidades en unidades más amigables (-h
) únicamente para los sistemas de archivos ext4 (-T
y -t
) junto con un total:
df -T -h -t ext4 --total
En este caso vemos la partición /dev/sda2 montada sobre /, el tipo del sistema de archivos, el tamaño total, el usado, el disponible y el porcentaje de empleo actual.
Para examinar en más detalle un directorio particular (como /var), utiliza du
con el modificador combinado que indicamos (-sch
):
sudo du -sch /var/*
s
muestra un resumen de cada subdirectorioc
produce un total al pie del listadoh
despliega las cantidades en unidades amigables (K, M, o G)
Luego de identificar un directorio de interés como /var/lib o /var/opt, puedes posicionarte dentro de alguno de ellos con cd /var/lib
o cd /var/opt
y repetir el proceso.
Encontrar comandos
Cuando sepas qué necesitas hacer pero no cuál comando es el apropiado, apropos seguido de una palabra clave te será muy útil. Supongamos que deseas ver qué comandos puedes usar para hacer búsquedas desde la línea de comandos. Al ejecutar apropos find
(buscar en inglés), verás lo siguiente:
Después de leer la breve descripción que acompaña a cada resultado, concluirás que find
es la alternativa que necesitabas.
A continuación, un video explicativo de las Líneas de comandos dentro de Linux
Conclusión
En esta guía aprendiste cómo comenzar con la línea de comandos de Linux. Estos primeros pasos te permitirán realizar algunas de las operaciones más usuales en un VPS y prepararte para realizar tareas administrativas. Además de las opciones que repasamos, siempre puedes emplear el manual de cada herramienta (man apt
o man du
, por ejemplo) y revisar la documentación del resto de las opciones. Para cerrar el man page, recuerda presionar la tecla q.