Skip to content

Instantly share code, notes, and snippets.

@aduartem
Last active May 21, 2022 19:05
Show Gist options
  • Save aduartem/00cd2f7cc86077e69ca8 to your computer and use it in GitHub Desktop.
Save aduartem/00cd2f7cc86077e69ca8 to your computer and use it in GitHub Desktop.
Linux

Comandos de uso frecuente en Linux (Distribuciones Debian)

Loguear al usuario con permisos temporales de administrador:

$ sudo -i

Mostrar la arquitectura que soporta el kernel actual instalado (32 o 64 bit):

$ uname -a

Nota: Si en el resultado aparece “x86_64 GNU/Linux” eso indica que estás corriendo un kernel Linux de 64 bit. En cambio, si ves “i386/i486/i586/i686”, es un kernel de 32 bit.

Para conocer la versión del sistema operativo basado en Linux:

$ lsb_release -a

Imprimir el nombre, versión y otros detalles de la máquina:

$ uname -r && lsb_release -a && cat /proc/version

Disco Duro

Detalle del tamaño, disco duro en uso, disponible, porcentaje en uso:

$ df -lh

Memoria RAM

Para ver el total de memoria RAM, la memoria usada y la disponible:

$ free -m

Instalar un programa en Debian

$ sudo apt-get update
$ sudo apt-get install nombrepaquete

Desinstalar un programa en Debian

$ sudo apt-get --purge remove nombrepaquete
$ sudo autoremove
$ sudo autoclean

Solución al error de dependencias

$ sudo apt-get autoremove
$ sudo apt-get autoclean
$ sudo apt-get update
$ sudo apt-get -f install

Procesos

Listar los procesos

El comando ps permite mostrar los procesos que se encuentran activos.

Listar los procesos de todos los usuarios:

$ ps -a

Listar todos los procesos activos con todos los detalles:

$ ps -AF

Otras formas de listarlos:

$ ps -AL
$ ps -fea

Finalizar un proceso

Para finalizar un proceso es necesario conocer el número identificador del proceso (PID). Para conocer el número basta con listar los procesos.

Una ver conocido el PID basta con ejecutar en un terminal:

$ sudo kill [PID]

Es conveniente verificar que el proceso ha finalizado y ya no se encuentra en ejecución.

En ocasiones puede suceder que algún proceso no finalice luego de haber ejecutar el comando kill. En este caso se debe forzar la finalización del proceso:

$ sudo kill -9 [PID]

grep

"Usualmente, grep toma una expresión regular de la línea de comandos, lee la entrada estándar o una lista de archivos, e imprime las líneas que contengan coincidencias para la expresión regular." Wikipedia.

Ejemplo:

$ sudo apt-cache search php | grep mail

locate

"locate es un comando del paquete findutils de GNU que provee una fácil y rápida manera de buscar archivos en el sistema completo basado en patrones de nombres.". Wikipedia

$ locate nombre_archivo

Crontab

Listar las tareas programadas

$ crontab -l

Editar crontab

$ crontab -e

Tail

Mostrar las "n" últimas líneas de un archivo de texto

Sintaxis:

$ tail -opciones archivo

Ejemplo:

$ tail -f /var/log/apache2/*.log
$ tail -f --lines 10 /var/log/apache2/error.log

ssh

Cómo instalar un servidor SSH ubuntu

Para instalar el servidor ssh:

$ sudo apt-get install openssh-server

Para configurar el servidor editamos el archivo /etc/ssh/sshd_config

$ sudo vim /etc/ssh/sshd_config

Para reiniciar el servicio

$ sudo /etc/init.d/ssh restart

Autenticación con ssh usando llave pública

Importar llaves ssh

$ tar -xvf ~/Descargas/llaves.tar
$ cd ~/.ssh
$ mv ~/Descargas/llaves/id_rsa .
$ mv ~/Descargas/llaves/id_rsa.pub .
$ chmod 400 id_rsa id_rsa.pub

Generar llave pública ssh

$ ssh-keygen -t rsa -C "your_email@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/jperez/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/jperez/.ssh/id_rsa.
Your public key has been saved in /Users/jperez/.ssh/id_rsa.pub.
The key fingerprint is:
43:c5:5b:5f:b1:f1:50:43:ad:20...

En el servidor autorizar llave para acceso por ssh

Abrir el archivo authorized_keys

$ vim ~/.ssh/authorized_keys

y agregar la llave pública en una nueva línea, al final del archivo.

$ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC87RpU... jperez@example.com

Iniciar sesión en un servidor remoto

Sintaxis:

$ ssh -p puerto usuario@host

Ejemplo:

$ ssh -p 14225 sistemas@192.168.1.4

Sintaxis opcional:

$ ssh -l usuario -p puerto host

Ejemplo:

$ ssh -l sistemas -p 14225 192.168.1.4

SCP

Permite copiar archivos entre dos máquinas. Utiliza ssh para las transferencia de datos, por tanto ofrece la misma seguridad que el ssh. Utiliza ssh para iniciar sesión. Este comando reemplaza rcp y ftp.

Sintaxis:

$ scp -P puerto archivo usuario@host:/ruta_destino

Ejemplo:

$ scp -P 14227 dump.tar sistemas@192.168.1.4:/home/andres/Descargas/dump

$ scp -P 14227 /home/cmarquez/dev/php/dump.tar sistemas@192.168.1.4:/home/andres/Descargas/dump
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment