Linux Comandos Básicos
Lista de comandos para Linux y algunas distribuciones. Ejemplos y breves explicaciones. Agregamos mini guias.
Recent Posts
#linux
#one-line
Contar cuantas veces aparecen las palabras (todas) dentro de un archivo de texto y guardar el resutado en otro.
`cat texto.txt | tr ' .,;:0123456789()[]"“”%€…' 'n' | sort | uniq -c | sort -nr > resul.txt`
mediante "tr" se filtran algunos caracteres que no deseamos que sean contados.
#one-line
Contar cuantas veces aparecen las palabras (todas) dentro de un archivo de texto y guardar el resutado en otro.
`cat texto.txt | tr ' .,;:0123456789()[]"“”%€…' 'n' | sort | uniq -c | sort -nr > resul.txt`
mediante "tr" se filtran algunos caracteres que no deseamos que sean contados.
#linux
#ssh-keygen
#ssh_seguro
(A algunos les será nuevo o interesante, otros ya lo usan seguramente)
Conexión SSH "mas" segura a su servidor (para quienes ya tienen SSH).
Nota: yo asi lo entendi y es asi como se los comparto. No me apedreen por no usar tecnicismos XD
Sin entrar en detalles, se hará con el algoritmo ed25519 (no compatible con viejas versiones de ssh).
En la maquina remota (su pc actual) ejecuten:
Deben contestar preguntas, pero atencion.
La forma facil:
NO cambien la ruta y no pongan otro nombre (dar enter en la primera pregunta). Ya cuando tengan experienica haganlo como prefieran.
En la pregunta "Enter passphrase" SI pongan contraseña (más seguridad), Les solicita repetir contraseña.
Nota: este password es para "proteger" los archivos generados, puede ser distinto al de su user_SSH, lo usaran como "nuevo password" para conectarse SOLO desde este pc
Si omiten la contraseña el equipo remoto no solicita contraseña y entra en automatico a su sesion SSH (a su gusto).
Cuando termine el paso anterior, Revisen con el comando
que exista un archivo con el nombre id_ed25519 y otro id_ed25519.pub
Ahora usen el siguiente comando para "copiar" el archivo .pub al servidor al que se van a conectar (requeire su user y contraseña del server).
Ahora ya pueden entrar al servidor remoto como de costumbre, por ejemplo:
Les pedirá la contraseña que pusieron en ssh-keygen. La idea NO es evitar la contraseña, la idea es hacer "mas segura" la conexion.
Ahora hagamos un "alias" para mas comodidad, algo como "miserver".
Con su editor favorito en su pc actual, hagan un archivo llamado "config" en la ruta/.ssh/config), y usen lo siguiente (modifiquen lo necesario):
Host miserver
HostName
IdentityFile ~/.ssh/id_ed25519
User
Guarden los cambios. Ahora en su terminal solo será necesario escribir
y poner su contraseña que usaron en el comando ssh-keygen.
Suerte con sus pruebas.
#ssh-keygen
#ssh_seguro
(A algunos les será nuevo o interesante, otros ya lo usan seguramente)
Conexión SSH "mas" segura a su servidor (para quienes ya tienen SSH).
Nota: yo asi lo entendi y es asi como se los comparto. No me apedreen por no usar tecnicismos XD
Sin entrar en detalles, se hará con el algoritmo ed25519 (no compatible con viejas versiones de ssh).
En la maquina remota (su pc actual) ejecuten:
ssh-keygen
Deben contestar preguntas, pero atencion.
La forma facil:
NO cambien la ruta y no pongan otro nombre (dar enter en la primera pregunta). Ya cuando tengan experienica haganlo como prefieran.
En la pregunta "Enter passphrase" SI pongan contraseña (más seguridad), Les solicita repetir contraseña.
Nota: este password es para "proteger" los archivos generados, puede ser distinto al de su user_SSH, lo usaran como "nuevo password" para conectarse SOLO desde este pc
Si omiten la contraseña el equipo remoto no solicita contraseña y entra en automatico a su sesion SSH (a su gusto).
Cuando termine el paso anterior, Revisen con el comando
ls .ssh
que exista un archivo con el nombre id_ed25519 y otro id_ed25519.pub
Ahora usen el siguiente comando para "copiar" el archivo .pub al servidor al que se van a conectar (requeire su user y contraseña del server).
ssh-copy-id -i ~/.ssh/id_ed25519.pub @
Ahora ya pueden entrar al servidor remoto como de costumbre, por ejemplo:
ssh su_user@ip_del_servidor
Les pedirá la contraseña que pusieron en ssh-keygen. La idea NO es evitar la contraseña, la idea es hacer "mas segura" la conexion.
Ahora hagamos un "alias" para mas comodidad, algo como "miserver".
Con su editor favorito en su pc actual, hagan un archivo llamado "config" en la ruta
~/.ssh/
(o sea /home/Host miserver
HostName
IdentityFile ~/.ssh/id_ed25519
User
Guarden los cambios. Ahora en su terminal solo será necesario escribir
ssh miserver
y poner su contraseña que usaron en el comando ssh-keygen.
Suerte con sus pruebas.
#linux
#servicios
#systemctl
No se describe ni se informa que son los servicios. Por ahora solo veremos los que linux identifica como servicios (.service)
❗️Cuidado con lo que hacen. No todo se puede manipular sin consecuencias.
Revisen la utilidad de cada caso para Uds.
Listar servicios
Listar las propiedades de un servicio (para que estudien)
Iniciar un servicio
❗️Detener un servicio
❗️Reiniciar un servicio
Recargar archivos de un servicio (no reiniciar)
Que se inicie el servicio en el arranque del sistema
❗️Evitar que un servicio se inicie en el arranque del sistema
Comprobar el status de un servicio
Comprobar si un servicio esta activo (corriendo)
Para saber si un servicio esta activo en el arranque del sistema
❗️Marcar un servicio como completamente "no iniciable" (nadie lo puede iniciar)
Hay mucho mas que ver y hacer con systemctl, les dejamos de tarea.
Creditos:
digitalocean.com
#servicios
#systemctl
No se describe ni se informa que son los servicios. Por ahora solo veremos los que linux identifica como servicios (.service)
❗️Cuidado con lo que hacen. No todo se puede manipular sin consecuencias.
Revisen la utilidad de cada caso para Uds.
Listar servicios
systemctl
o systemctl list-units
Listar las propiedades de un servicio (para que estudien)
systemctl show nombre_servicio
Iniciar un servicio
sudo systemctl start nombre_servicio
❗️Detener un servicio
sudo systemctl stop nombre_servicio
❗️Reiniciar un servicio
sudo systemctl restart nombre_servicio
Recargar archivos de un servicio (no reiniciar)
sudo systemctl reload nombre_servicio
Que se inicie el servicio en el arranque del sistema
sudo systemctl enable nombre_servicio
❗️Evitar que un servicio se inicie en el arranque del sistema
sudo systemctl disable nombre_servicio
Comprobar el status de un servicio
sudo systemctl status nombre_Servicio
Comprobar si un servicio esta activo (corriendo)
systemctl is-active nombre_servicio
Para saber si un servicio esta activo en el arranque del sistema
systemctl is-enabled nombre_servicio
❗️Marcar un servicio como completamente "no iniciable" (nadie lo puede iniciar)
sudo systemctl mask nombre_servicio
Hay mucho mas que ver y hacer con systemctl, les dejamos de tarea.
Creditos:
digitalocean.com
#linux
#one-line
#file_to_csv
#bash
Les presumo, de mi autoria.
teniendo un archivo de texto con líneas como sigue:
sábado 09 diciembre 2023 18.07.49
Temperatura(C): 18.6
Humedad(%): 46
sábado 09 diciembre 2023 19.07.50
Temperatura(C): 18.3
Humedad(%): 47
lunes 11 diciembre 2023 08.34.06
Temperatura(C): 18.6
Humedad(%): 47
crear un archivo compatible con csv con 3 columnas con encabezados: Fecha/Hora, Temp, Humedad desde la terminal bash en linux
El único punto a considerar: tr -d 'r' es porque mi archivo tiene unos "retornos" incrustados por ahi, no solo tiene newline 'n' al final de las líneas.
#one-line
#file_to_csv
#bash
Les presumo, de mi autoria.
teniendo un archivo de texto con líneas como sigue:
sábado 09 diciembre 2023 18.07.49
Temperatura(C): 18.6
Humedad(%): 46
sábado 09 diciembre 2023 19.07.50
Temperatura(C): 18.3
Humedad(%): 47
lunes 11 diciembre 2023 08.34.06
Temperatura(C): 18.6
Humedad(%): 47
crear un archivo compatible con csv con 3 columnas con encabezados: Fecha/Hora, Temp, Humedad desde la terminal bash en linux
sed 's/H.*: /,/; s/T.*: /,/' < archivo_entrada.txt | tr -d 'r' | xargs -d 'n' -n 3 |sed '1i Fecha/Hora, Temp, Humedad' > archivo_salida.csv
El único punto a considerar: tr -d 'r' es porque mi archivo tiene unos "retornos" incrustados por ahi, no solo tiene newline 'n' al final de las líneas.
#linux
#comprimir
#tips
Algunos tips "básicos" para recordar
(es necesario tener las aplicaciones/comandos mencionados)
Archivos .tar.gz:
Comprimir tar.gz:
Descomprimir tar.gz:
Archivos .tar:
Empaquetar:
Desempaquetar:
Archivos .gz:
Comprimir:
Descomprimir:
Archivos .zip:
Comprimir:
Descomprimir:
Archivo .bz2
Comprimir:
Descomprimir:
Archivo .rar
Comprimir:
Descomprimir:
Archivos .xz
Comprimir:
Descomprimir:
Espero sus comentarios de los que faltan.
#comprimir
#tips
Algunos tips "básicos" para recordar
(es necesario tener las aplicaciones/comandos mencionados)
Archivos .tar.gz:
Comprimir tar.gz:
tar -czvf empaquetado.tar.gz /carpeta/a/empaquetar/
Descomprimir tar.gz:
tar -xzvf archivo.tar.gz
Archivos .tar:
Empaquetar:
tar -cvf paquete.tar /dir/a/comprimir/
Desempaquetar:
tar -xvf paquete.tar
Archivos .gz:
Comprimir:
gzip -9 index.php
Descomprimir:
gzip -d index.php.gz
Archivos .zip:
Comprimir:
zip archivo.zip carpeta
Descomprimir:
unzip archivo.zip
Archivo .bz2
Comprimir:
bzip2 archivo
Descomprimir:
bunzip2 archivo.bz2
Archivo .rar
Comprimir:
rar -a archivo.rar /ruta/archivo
Descomprimir:
rar -x archivo.rar
Archivos .xz
Comprimir:
xz archivo.extension
Descomprimir:
xz -d archivo.extension.xz
Espero sus comentarios de los que faltan.
Que se diviertan
ssh sshtron.zachlatta.com
#linux
#one-line
#cpu_info
Algo de información de tu CPU (procesador)
Nota:
lo que esta después de -E buscará si tu sistema esta en español, ajustar para otros idiomas según sea tu caso.
#one-line
#cpu_info
Algo de información de tu CPU (procesador)
lscpu | grep -E 'Arq|Nombre|máx|mín|):|ID'
Nota:
lo que esta después de -E buscará si tu sistema esta en español, ajustar para otros idiomas según sea tu caso.
#linux
#one-line
#cpu_temp
Monitorear la temperatura de los CPU (procesadores)
Requiere instalar y configurar lm-sensors
#one-line
#cpu_temp
Monitorear la temperatura de los CPU (procesadores)
Requiere instalar y configurar lm-sensors
watch 'sensors | grep Core'
Gracias al usuario: TheRooPurple#linux
#one-line
#cpu_freq
Monitorear la velocidad de la CPU (procesadores) por terminal
(salir con Ctrl+C)
#one-line
#cpu_freq
Monitorear la velocidad de la CPU (procesadores) por terminal
watch grep "cpu MHz" /proc/cpuinfo
(salir con Ctrl+C)
#linux
#one-line
#multiples_dir
Crear varios directorios en un solo comando
#one-line
#multiples_dir
Crear varios directorios en un solo comando
mkdir -p -v /home/TU_USER/{dir1,dir2,dir3}
Atajos para moverse por las lineas de bash.
Combinación |
de teclas | Descripción
----------------------|----------------------------------------
Ctrl+A | Ir al principio de la línea
Ctrl+E | Ir al final de la línea
Esc+B | Ir una palabra hacia atrás (backward)
Esc+F | Ir una palabra hacia adelante (forward)
Ctrl+B | Ir una letra hacia atrás
Ctrl+F | Ir una letra hacia adelante
Ctrl+U | Borra desde la posición actual al principio de la
línea
Ctrl+W | Borra desde la posición actual al principio de la
palabra
Combinación |
de teclas | Descripción
----------------------|----------------------------------------
Ctrl+A | Ir al principio de la línea
Ctrl+E | Ir al final de la línea
Esc+B | Ir una palabra hacia atrás (backward)
Esc+F | Ir una palabra hacia adelante (forward)
Ctrl+B | Ir una letra hacia atrás
Ctrl+F | Ir una letra hacia adelante
Ctrl+U | Borra desde la posición actual al principio de la
línea
Ctrl+W | Borra desde la posición actual al principio de la
palabra
#one-line
#linux
#search_comando
Algo muy simple pero util. Lanzar el ultimo comando (del historial) que empiece por un texto..
donde cadena es un texto que recuerdes como inicia tu comando. P.ejem !ssh, lanzara el ultimo comando que usaste con ssh al principio
#linux
#search_comando
Algo muy simple pero util. Lanzar el ultimo comando (del historial) que empiece por un texto..
!cadena
donde cadena es un texto que recuerdes como inicia tu comando. P.ejem !ssh, lanzara el ultimo comando que usaste con ssh al principio
#linux
#one-line
#root_last_comm
Correr el ultimo comando (Anterior) como root
#one-line
#root_last_comm
Correr el ultimo comando (Anterior) como root
sudo !!
#linux
#uniqe
Verificar líneas repetidas en un archivo.
Suponiendo el archivo test.txt con el contenido
linea 1
linea2
linea2
linea3
linea3
linea3
linea4
linea4
Mostrar líneas, sin repetir las idénticas:
Mostrar cuantas veces se repite una línea en el archivo:
Mostrar texto que se repite:
Mostrar todas las líneas repetidas (omitir no repetidas):
Mostrar solo las líneas no repetidas:
#uniqe
Verificar líneas repetidas en un archivo.
Suponiendo el archivo test.txt con el contenido
linea 1
linea2
linea2
linea3
linea3
linea3
linea4
linea4
Mostrar líneas, sin repetir las idénticas:
uniqe test.txt
Mostrar cuantas veces se repite una línea en el archivo:
unique -c test.txt
Mostrar texto que se repite:
uniqe -d test.txt
Mostrar todas las líneas repetidas (omitir no repetidas):
uniqe -D test.txt
Mostrar solo las líneas no repetidas:
uniqe -u test.txt
‼️ Ya somos 1k 👍. Mil gracias a todos 😍
#one-line
#linux
#info_disc
Algunos detalles de tu disco
#linux
#info_disc
Algunos detalles de tu disco
lsblk -io KNAME,TYPE,MODEL,VENDOR,SIZE,ROTA
#linux
#one-line
#reloj
Un bonito reloj en terminal (requiere instalar figlet)
#one-line
#reloj
Un bonito reloj en terminal (requiere instalar figlet)
watch -t -n1 "date +%T|figlet"
#linux
#one-line
#espacios_en_nombre
Reemplazar espacios en los nombres de todos los archivos del directorio actual
#one-line
#espacios_en_nombre
Reemplazar espacios en los nombres de todos los archivos del directorio actual
rename 'y/ /_/' *