Base de conocimientos · Linux

Comandos SSH avanzados

Última actualización: 2025-06-08

A continuación, encontrará una lista de los comandos SSH más utilizados:

ls : muestra los archivos y directorios de un directorio, similar a dir en Windows/DOS.
ls -al : muestra todos los archivos (incluidos los que comienzan con un punto) y directorios, e indica los atributos de cada archivo.

cd : directorio de cambio : cd /usr/local/apache : ir a /usr/local/apache/ directory
cd ~ : va a su directorio personal
cd - : va al último directorio en el que estuvo
cd .. : sube un nivel de directorio cat : muestra el contenido de un archivo en pantalla

cat filename.txt : muestra en pantalla el contenido de filename.txt

tail : similar a cat, pero solo lee el final del archivo
tail /var/log/messages : ver las últimas 20 líneas (por defecto) de /var/log/messages
tail -f /var/log/messages : supervisa el archivo de forma continua mientras se actualiza
tail -200 /var/log/messages : muestra en pantalla las últimas 200 líneas del archivo

more : similar a cat, pero abre el archivo pantalla por pantalla en lugar de mostrarlo todo de una vez
more /etc/userdomains : permite recorrer el archivo userdomains. Pulse la barra espaciadora para ir a la página siguiente y q para salir

pico : editor de archivos sencillo y fácil de usar
pico /home/burst/public html/index.html : edita la página de índice para el sitio web del usuario.

vi : otro editor con muchísimas funciones, pero más difícil de usar al principio que pico
vi /home/burst/public html/index.html : edita la página de índice para el sitio web del usuario.

grep : busca patrones en archivos
raíz de grep /etc/passwd : muestra todos los partidos de root en /etc/passwd
grep -v root /etc/passwd : muestra todas las líneas que no coinciden con root

touch : crea un archivo vacío
touch /home/burst/public html/404.html : crea un fichero vacío llamado 404.html en el directorio /home/burst/public html/

ln : crea "enlaces" entre archivos y directorios
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf : Ahora puede editar /etc/httpd.conf en lugar del original. Los cambios afectarán al original, sin embargo, puede eliminar el enlace y no eliminará el original.

rm : elimina un archivo
rm filename.txt : elimina filename.txt; lo más probable es que le pregunte si realmente desea eliminarlo
rm -f filename.txt : elimina filename.txt sin pedir confirmación antes de borrarlo.
rm -rf tmp/ : elimina de forma recursiva el directorio tmp y todos los archivos que contiene, incluidos los subdirectorios. ¡¡¡TENGA MUCHO CUIDADO CON ESTE COMANDO!!!

last : muestra quién ha iniciado sesión y cuándo
last -20 : muestra solo los últimos 20 inicios de sesión
last -20 -a : muestra los últimos 20 inicios de sesión, con el nombre de host en el último campo

w : muestra quién tiene una sesión iniciada actualmente y desde dónde se ha conectado.

netstat : muestra todas las conexiones de red actuales.
netstat -an : muestra todas las conexiones al servidor, la fuente y destino ips y puertos.
netstat -rn : muestra la tabla de enrutamiento para todos los IPs vinculados al servidor.

top : muestra los procesos del sistema en tiempo real en una tabla clara, junto con información de memoria, tiempo de actividad y otros datos útiles. Es una herramienta excelente para gestionar los procesos y recursos del sistema y comprobar que todo funciona correctamente y que el servidor no está sobrecargado.
top y, a continuación, escriba Shift + M para ordenar por uso de memoria o Shift + P para ordenar por uso de CPU.

ps: ps es la abreviatura de process status (estado de los procesos) y es similar al comando top. Se utiliza para mostrar los procesos que se están ejecutando actualmente y su PID.
Un ID de proceso es un número único que identifica un proceso; con él puede finalizar o terminar un programa en ejecución en su servidor (consulte el comando kill).
ps U username : muestra los procesos de un usuario determinado
ps aux : muestra todos los procesos del sistema
ps aux --forest : muestra todos los procesos del sistema como el comando anterior, pero los organiza en una jerarquía que resulta muy útil

file : intenta deducir de qué tipo es un archivo analizando su contenido.
file * : muestra una lista de todos los archivos y directorios de un directorio

du : muestra el uso del disco.
du -sh : muestra un resumen, en formato legible, del espacio total en disco utilizado en el directorio actual, incluidos los subdirectorios.
du -sh * : lo mismo, pero para cada archivo y directorio. Resulta útil para encontrar archivos de gran tamaño que ocupan espacio.
du -h --max-depth=1 : muestra el uso del espacio en disco por subdirectorio

wc : recuento de palabras
wc -l filename.txt : indica cuántas líneas contiene filename.txt

cp : copia un archivo
cp filename filename.backup : copia filename en filename.backup
cp -a /home/burst/new design/* /home/burst/public html/ : copias de todos los archivos, conservando permisos de un directorio a otro.

kill: finaliza un proceso del sistema
kill -9 PID Ejemplo: kill -9 431
kill PID Ejemplo: kill 10550
Utilice top o ps aux para obtener los PID (ID de proceso) del sistema

EG:

PID TTY TIME COMMAND
10550 pts/3 0:01 /bin/csh
10574 pts/4 0:02 /bin/csh
10590 pts/4 0:09 APP

Cada línea representa un proceso, entendiendo por proceso, de forma general, una instancia en ejecución de un programa. La columna PID (ID de proceso) muestra los números asignados a los procesos. El encabezado COMMAND muestra la ubicación del proceso ejecutado.

Combinación de comandos
A menudo necesitará utilizar varios comandos en la misma línea. A continuación se muestran algunos ejemplos. Tenga en cuenta que el carácter | se denomina tubería (pipe): toma los datos de un programa y los envía a otro.
> significa crear un archivo nuevo, sobrescribiendo cualquier contenido que ya exista.
ó significa tp append data to a file, creating a new one if it does not already exist.
< envía como entrada el contenido de un archivo a un comando.

grep User /usr/local/apache/conf/httpd.conf |more
Esto extraerá todas las líneas de httpd.conf que coincidan con User y mostrará los resultados en pantalla página por página.

last -a > /root/lastlogins.tmp
Esto imprimirá toda la historia actual de la login a un archivo llamado lastlogins.tmp en /root/

tail -10000 /var/log/exim_mainlog |grep domain.com |more
Esto se apoderará de las últimas 10.000 líneas de /var/log/exim mainlog, y encontrará todas las ocurrencias de domain.com (el período representa 'nada',
-- coméntela con un # para que se interprete literalmente) y luego envíela a la pantalla página por página.

netstat -an |grep :80 |wc -l
Muestra cuántas conexiones activas hay con apache (httpd se ejecuta en el puerto 80)

mysqladmin processlist |wc -l
Muestra cuántas conexiones abiertas hay actualmente con mysql

mysqldump -u username -ppassword dbname > file.sql
Volcado de MySQL

tar -zcvf archive-name.tar.gz directory-name
Archivo TAR (comprime un árbol de directorios)

tar -zxvf archive-name.tar.gz
Descomprimir archivo TAR

mysql -uusername -ppassword database_name

← Todos los artículos de base de conocimientos

Tell us what you need

Compare available plans or describe your workload so we can discuss a suitable starting point.