Los comandos de Linux son instrucciones escritas en línea de comandos que se utilizan para interactuar con el sistema operativo Linux. Estos comandos se utilizan para realizar tareas como gestionar archivos y carpetas, administrar procesos, configurar el sistema y mucho más.
Se pueden ejecutar en una terminal o consola, y se utilizan para automatizar tareas y para acceder a funcionalidades que no están disponibles a través de una interfaz gráfica.
Estos son los comandos Linux más útiles, que todos los que gestionan algún servidor de hosting VPS deberían conocer. Ya seas administrador de sistemas o un recién llegado te recomiendo que te familiarices con ellos. Es importante conocerlos todos, para poder usar un sistema en producción sin tener que consultar manuales cada dos por tres. Además que incluimos algunos ejemplos.
Importancia de los comandos Linux en la gestión de un VPS
Estos comandos son esenciales para la gestión de servidores VPS (Virtual Private Server) ya que proporcionan una forma de interactuar con el sistema operativo y realizar tareas de configuración, administración y optimización. Algunas de las tareas comunes que se realizan en un servidor VPS con comandos incluyen:
- Instalar y actualizar software: comandos que se utilizan para instalar y actualizar aplicaciones y paquetes en el servidor.
- Configurar el sistema: comandos que se utilizan para configurar aspectos del sistema operativo como la red, el firewall, el uso del almacenamiento, etc.
- Administrar procesos: comandos que se utilizan para ver y controlar los procesos en ejecución en el servidor, incluyendo la capacidad de detener, iniciar y reiniciar procesos.
- Monitorización del sistema: comandos que se utilizan para verificar el rendimiento del servidor, incluyendo el uso de CPU, memoria, almacenamiento y ancho de banda.
- Gestión de archivos: comandos que se utilizan para crear, eliminar, mover, copiar y modificar archivos y carpetas en el servidor.
Restaurar Permisos de Carpetas y Archivos por defecto
En más de una ocasión te habrá pasado y si no te ha ocurrido aún puede que te pase, que las carpetas y archivos se cambien de permisos y sea complicado restaurarlos recursivamente, para esos casos estas 2 líneas te serán de mucha utilidad:
sudo chown -R www-data:www-data /var/www/html sudo find /var/www/html -type d -exec chmod 0755 {} \; sudo find /var/www/html -type f -exec chmod 0644 {} \;
/var/www/html
, Es comúnmente utilizado para almacenar los archivos de las páginas web en servidores web como Apache, Nginx y OpenLiteSpeed Server, pero eso dependerá de tu servidor, en CentOS seguramente sería: /home/ilvwp.com/public_html
así que deberás ajustarlo según tu servidor.
- La primera línea, cambia el propietario (usuario y grupo) de todos los archivos y directorios dentro de /var/www/html a www-data. El -R indica que la operación debe ser recursiva, es decir, debe aplicarse a todos los archivos y directorios dentro de /var/www/html.
- La segunda, busca todos los directorios dentro de
/var/www/html
y les aplica el comandochmod 0755
. El comandochmod 0755
establece los permisos de los directorios a 755, que significa lo siguiente: el propietario tiene permiso de lectura, escritura y ejecución (7); el grupo y los demás usuarios tienen permiso de lectura y ejecución (5). Estos permisos son comunes para directorios en un servidor web, ya que permiten al servidor acceder y servir los archivos contenidos en esos directorios. - Y la tercera busca todos los archivos dentro de
/var/www/html
y les aplica el comandochmod 0644
. El comandochmod 0644
establece los permisos de los archivos a 644, que significa lo siguiente: el propietario tiene permiso de lectura y escritura (6); el grupo y los demás usuarios tienen permiso de lectura (4). Estos permisos son comunes para archivos en un servidor web, ya que permiten al servidor leer y servir esos archivos a los visitantes, pero evitan que otros usuarios puedan modificarlos.
Puse estas 3 líneas de primero ya que es una de las cosas que más he tenido que hacer cuando hay problemas de malware o de permisos en un vps, por lo general para curarme en salud, aplico las 3, ten en cuenta que debe conocer el usuario y grupo antes de aplicar el primer comando.
Los comandos Linux más útiles para gestionar un VPS
Además de las tareas de los comandos también existen algunos que son útiles para poder utilizar otros comandos como por ejemplo el comando man:
Comando man
Muestra el manual o ayuda de cualquier comando o herramienta, por ejemplo de mkdir.
man mkdir
Comandos para Instalar y actualizar software
Comando apt
Apt son las siglas de Advanced Packaging Tool. Se traduce como Herramienta Avanzada de Empaquetado. Es un comando esencial para instalar, eliminar o actualizar, las aplicaciones.
apt list --upgradable
Este comando nos da una lista de los paquetes que estan disponibles para ser actualizados.
apt upgrade
se utiliza para actualizar el sistema.
apt autoremove
Este comando funciona para eliminar las dependencias del sistema que no sean necesarias.
apt-get upgrade
funciona para actualizar el sistema de Linux, incluyendo los paquetes de seguridad.
Comandos para Configurar el sistema
Comando ssh
Ssh se usa para iniciar sesión en el host remoto.
ssh [email protected]
Agregar un nuevo usuario
useradd usuario
Borrar un usuario
userdel usuario
Cambiar la contraseña
Para concluir este artículo sobre comandos linux, no puede faltar como modificar el password de tu usuario.
passwd
Comando vi
El editor vi, suele venir por defecto en la mayoría de derivados de Unix, puedes utilizar la opción -R para abrir en modo lectura. Más opciones en este manual.
vi -R /etc/archivo
Comando service
Con service podemos administrar los servicios del sistema.
service httpd start service httpd stop
Comandos para Administrar procesos
Comando crontab
Listamos las tareas programadas del usuario actual.
crontab -l
Podemos editar el archivo y agregar o borrar tareas cron.
crontab -e
Comando kill
Con kill podemos matar cualquier proceso del sistema.
kill -9 proceso
Comandos para Monitorización del sistema
Comando users
Con users podemos identificar los usuarios conectados actualmente.
users
Comando whoami
Muestra el usuario actual (desde donde se realiza la petición).
whoami
Comando free
Información sobre la memoria libre, la memoria total y la swap.
free total used free shared buff/cache available Mem: 7978004 370740 239472 388412 7367792 6912900 Swap: 3145720 0 3145720
Comando w
Este comando indica los usuarios actuales y sus procesos, así como la carga promedio. También el nombre de usuario, de tty, el host remoto, tiempo desde el inicio de sesión, de inactividad, JCPU, PCPU, y varios detalles más.
w 18:47:04 up 5:02, 1 user, load average: 1,97, 1,97, 1,68 USUARIO TTY DE LOGIN@ IDLE JCPU PCPU WHAT sergio tty7 :0 13:45 5:01m 8:43 0.65s xfce4-session
Comando who
Similar al comando w, pero este nos aporta más información (por ejemplo fecha y hora de inicio).
who sergio tty7 2020-10-20 13:45 (:0)
Comando uptime
Muestra el tiempo que lleva funcionando el sistema, y cuántos usuarios están conectados en este momento. También nos indica los promedios de carga a intervalos de 1 minuto, 5 minutos y 15 minutos.
uptime 18:46:33 up 5:01, 1 user, load average: 1,88, 1,96, 1,67
Comando ps
Cuando hablamos de comandos linux, no puede faltar ps. Este nos muestra información sobre los procesos que se ejecutan en el sistema, en este caso definimos el init.
ps -ef | grep init root 1 0 0 13:44 ? 00:00:05 /sbin/init sergio 12296 12191 0 20:12 pts/2 00:00:00 grep --color=auto init
Comando top
La herramienta top nos muestra la actividad del sistema. Muy útil para detectar excesos de consumo.
top
Comando lsof
Este comando enumera todos los archivos abiertos por el sistema, o por un usuario definido.
lsof lsof -u sergio # ejemplo... COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 977 sergio cwd DIR 8,2 4096 2 / systemd 977 sergio rtd DIR 8,2 4096 2 / systemd 977 sergio txt REG 8,2 1616248 5247904 /lib/systemd/systemd systemd 977 sergio mem REG 8,2 1700792 5248120 /lib/x86_64-linux-gnu/libm-2.27.so systemd 977 sergio mem REG 8,2 121016 5247971 /lib/x86_64-linux-gnu/libudev.so.1.6.9 systemd 977 sergio mem REG 8,2 84032 5247980 /lib/x86_64-linux-gnu/libgpg-error.so.0.22.0 systemd 977 sergio mem REG 8,2 43312 5247854 /lib/x86_64-linux-gnu/libjson-c.so.3.0.1 systemd 977 sergio mem REG 8,2 34872 1318232 /usr/lib/x86_64-linux-gnu/libargon2.so.0 systemd 977 sergio mem REG 8,2 432640 5247853 /lib/x86_64-linux-gnu/libdevmapper.so.1.02.1 systemd 977 sergio mem REG 8,2 18680 5247927 /lib/x86_64-linux-gnu/libattr.so.1.1.0 systemd 977 sergio mem REG 8,2 18712 5247942 /lib/x86_64-linux-gnu/libcap-ng.so.0.0.0 systemd 977 sergio mem REG 8,2 27112 5251680 /lib/x86_64-linux-gnu/libuuid.so.1.3.0 systemd 977 sergio mem REG 8,2 14560 5248119 /lib/x86_64-linux-gnu/libdl-2.27.so
Comando last
El comando last es muy útil para conocer la actividad de un usuario en el sistema.
last usuario
Comandos para Gestión de archivos
Comando ls
Lista los directorios y archivos.
ls ls -l ls -ltr
Comando less
Este comando nos permite visualizar el contenido de los archivos seleccionados; también podemos avanzar y retroceder de página.
less [archive.log]
Comando more
Similar al comando less pero con características ampliadas, por ejemplo el porcentaje.
more [archive.log]
Comando cp
Copiar archivos de dos puntos, origen y destino. Para respetar el mismo patrón ejecuta el siguiente comando.
cp -p archivo1 archivo2
Comando mv
Cambiar el nombre de un archivo a otro.
mv -i [nombre original] [nombre nuevo]
Comando cat
Visualiza el contenido de uno o varios archivos.
cat archivo.txt
Comando cd
El comando cd nos ayuda a cambiar de directorio.
cd cd /directory
Comando pwd
Pwd nos informa del directorio de trabajo actual.
pwd /home/sergio/Escritorio
Comando rm
Esta herramienta es la preferida a la hora de borrar archivos o carpetas.
rm archivo/carpeta
En el caso de directorios con contenido, aplicamos la opción -r para borrar todo.
rm -r carpeta
Comando mkdir
Aquí tenemos al rey de los comandos linux, con mkdir puedes crear directorios en el sistema.
mkdir carpeta
Comando sort
Ordenar archivos de texto línea por línea en orden ascendente. Al usar la opción -r, se ordenarán en orden descendente.
sort archivo.txt sort -r archivo.txt
Comando find
El comando find se utiliza para buscar archivos, cadenas y directorios que coincidan con la expresión indicada.
find / -name wordpress
Comando ftp o sftp
Utilidad para conectarnos a servidores ftp o sftp.
ftp 192.168.200.150 sftp 192.168.200.155
Con mput y mget, podemos subir o descargar archivos.
ftp > mput archivo.txt ftp > mget archivo.txt
Comando tar
Excelente utilidad de compresión y descompresión de archivos. Mas ejemplos de cómo usar el comando TAR.
tar cvf archivo-comprimirdo.tar Archivo1.txt Archivo1.txt
las instrucciones «cvf» representan: c
la creación, v
para salida detallada y f
para especificar el nombre del archivo tar.
Comando grep
Se usa para buscar cadenas de texto y expresiones regulares línea por línea, que coincidan con un patrón definido en uno o más archivos.
grep -l wordpress ./*
En el ejemplo buscará la palabra «wordpress» dentro de cualquier archivo del directorio.