Linux Comandos Básicos
1.34K subscribers
6 photos
3 files
43 links
Lista de comandos para Linux y algunas distribuciones. Ejemplos y breves explicaciones. Agregamos mini guias.
Download Telegram
#linux
#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.
#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


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.
Que te ha parecido la información del canal?
Anonymous Poll
69%
Muy buena, excelente
23%
Buena
4%
Es algo útil
4%
X
#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

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
#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 <su_user_en_servidor>@<ip_del_servidor>

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/<su_user>/.ssh/config), y usen lo siguiente (modifiquen lo necesario):

Host miserver <ip_del_server>
HostName <ip_del_server>
IdentityFile ~/.ssh/id_ed25519
User <su_user_del_server>


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
#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
#one-line

Buscar archivos duplicados (nombre) en una directorio (Recursivo).
En este caso buscar solo archivos mp3 repetidos, mostrar solo el nombre y ordenar la salida.

find /ruta/directorio/aqui  -iname "*.mp3" -exec basename {} \; | sort | uniq -d


Nota: encontrar la ruta del archivo repetido:
find /ruta/directorio/aqui -iname "nombre completo del archivo con extension"
#linux
#oneline

Crear un usuario "nombre_de_usuario" con su home, subdirectorios y permisos para sudo (password: 123456) en una sola linea:

(No olviden editar el archivo /etc/sudoers y descomentar la linea

%wheel ALL=(ALL:ALL) ALL
)

sudo useradd -m -s /bin/bash -G wheel nombre_de_usuario  && echo "nombre_de_usuario:123456" | sudo chpasswd && sudo mkdir -p /home/nombre_de_usuario/{Documentos,Descargas,Imágenes,Música,Vídeos} && sudo chown -R nombre_de_usuario:nombre_de_usuario /home/nombre_de_usuario


Nota: para eliminar el usuario "nombre_de_usuario" se usa el comando : sudo userdel --remove nombre_de_usuario
#linux
#dmidecode

dmidecode es una herramienta para volcar el DMI de una computadora (algunos dicen SMBIOS) contenido de la tabla en un formato legible.

Esta tabla contiene un descripción de los componentes de hardware del sistema, así como otros útiles piezas de información como números de serie y revisión del BIOS.


Información de la bios

sudo dmidecode -t bios


Información del chasis (si aplica, yo tengo una virtual)

sudo dmidecode -t chassis


Información del sistema

sudo dmidecode -t baseboard


Información de la memoria física instalada (DIMMs)

sudo dmidecode -t 17


Máxima memoria física soportada

sudo dmidecode -t 16


Información del CPU

sudo dmidecode -t processor


Fuente: linuxtechi.com
echo SSBMb3ZlIFlvdQo= | base64 -d
#linux
#oneline

Ver el tamaño de archivos y directorios, ocultos o no, en orden descendente por tamaño, a partir del directorio actual

du -cs * .[^\.]* |  sort -n
Hola a todos..

Para compartirles la presentación oficial de mi canal sobre Linux en YouTube .

Por favor no se preocupen, este canal de Telegram no será usado para hacer más promoción del canal de YouTube , solo les comparto el inicio y quien quiera pueda seguirlo aquí les dejo el link.

Por lo demás, seguiremos publicando aquí la información de comandos como de costumbre.

Gracias a todos.

https://youtu.be/AQIFIy0D0QU?si=PTcQyn6iqkaAH6Tf
#linux
#piedra_rosetta

La piedra Rosetta de Linux

En esencia, para quienes no conocen el termino "la piedra de Rosetta", se refiera a un escrito en una "piedra" en tres escrituras distintas, con el cual fue posible descifrar los jeroglíficos egipcios.

Que tiene que ver con linux?
Pues en linux se refiere a que hacen una "traducción" de las ordenes para gestión de paquetes de diferentes distros linux. Les muestro solo ALGUNOS ejemplos:

------------

Actualizar paquete(s):

Arch:
pacman -Syu

Manjaro:
pamac upgrade
pamac upgrade -a (solo paquetes AUR)

RH/Fedora:
dnf upgrade
yum update

Debian, Ubuntu:
apt update
apt upgrade

openSUSE:
zypper update
zypper up
____________________________

Instala un paquete(s) por su nombre (agregar al final el nombre del paquete si aplica.)

Arch:
pacman -S

Manjaro:
pamac install
pamac build (AUR)

RH/Fedora:
dnf install
yum install

Debian, Ubuntu:
apt install

openSUSE:
zypper install
zypper in

________

Elimina un paquete(s) por su nombre

Arch:
pacman -Rsn

Manjaro:
pamac remove

RH/Fedora:
dnf remove
yum remove

Debian, Ubuntu:
apt remove

openSUSE:
zypper remove
zypper rm

_______

Limpia toda la memoria caché local (paquetes descargados). Autoclean solo elimina información innecesaria y obsoleta.

Arch:
pacman -Sc
pacman -Scc

Manjaro:
pamac clean

RH/Fedora:
dnf clean all
yum clean all

Debian, Ubuntu:
apt autoclean
apt clean

openSUSE:
zypper clean

_________________

Elimina las dependencias que ya no son necesarias, mejor conocido como "huerfanos"

Arch:
pacman -Qdtq | pacman -Rs -
pacman -Rns $(pacman -Qqdt)

Manjaro:
pamac remove -o

RH/Fedora:
dnf autoremove
yum autoremove (RHEL 7+, Fedora 20+)

Debian, Ubuntu:
apt autoremove

openSUSE:
zypper rm -u

_________________

Busca el paquete(s) por la nombre dado, esto es por nombre o breve descripción.

Arch:
pacman -Ss

Manjaro:
pamac search

RH/Fedora:
dnf search
yum search

Debian, Ubuntu:
apt search

openSUSE:
zypper search
zypper se [-s]

Y asi con otras distros y comandos. Es mucho para ponerlo aquí todo

(fuente archlinux.org)
#linux
#ls

Algunas opciones interesantes (para mi) del comando ls en la ruta actual.

ls -ld */


Listar solo directorios

ls *


Listar archivos y directorios incluyendo subdirectorios en la ruta actual (nivel 1)

ls -R


Listar archivos incluyendo todos los subdirectorios a partir de la ruta actual(todos niveles, CUIDADO si tienen muchos subdirectorios)

ls -s


Listar todo con tamaño ocupado en disco

ls -S


listar todo por tamaño en orden descendente

ls -Sr


listar todo por tamaño en orden ascendente (inverso a -S)

ls -Ssh


listar todo por tamaño en orden descendente mostrando el tamaño ocupado (con indicación de G/M/K/etc)
Para AIX (Unix)
#linux
#mkdir
#one-line

Crear la siguiente estructura de directorios en el directorio actual:

Contactos
- Clientes
- - Pedidos
- - Facturas
- Proveedores
- - Pedidos
- - Facturas

mkdir -p Contactos/{Clientes,Proveedores}/{Pedidos,Facturas}


fuente: ionos.mx


O esta:

miProyecto
- src
- doc
- - api
- - sistema
- herramientas
- db

mkdir -p miProyecto/{src,doc/{api,sistema},herramientas,db}


feunte: collstudio
#linux
#mkdir
#onle-line

Crear directorios numerados consecutivos llamados dir1, dir2, dir3, y así sucesivamente hasta dir10

for i in {1..10}; do mkdir dir$i; done
#linux
#touch

Crear archivos "vacios" (en este caso con extensión .txt)

Crear un archivo:
touch nombre_archivo.txt


Crear varios archivos:
touch archivo_1.txt nombre_2.txt nombre_archivo_3.txt



Crear varios archivos numerados consecutivos:
touch nombre_archivo{1..3}.txt


Nota: el comando touch tiene otras funciones muy útiles mas haya de crear archivos. Revisen por su cuenta

fuante: hostinger
#linux
#less
El comando less de Linux ofrece una forma interactiva y eficiente de navegar y buscar contenido de archivos.

A diferencia de cat, que simplemente vuelca todo el contenido del archivo en la consola, less garantiza una navegación fácil, funcionalidades de búsqueda e incluso ofrece funciones como resaltado de texto.

Ver el contenido de un archivo:

less ARCHIVO


Ver el contenido de un archivo con números de línea:

less -N ARCHIVO


Abrir el archivo "ARCHIVO" y mostrar el contenido comenzando desde la primera aparición de la "palabra":

less -p PALABRA ARCHIVO


Abrir varios archivos a la vez:

less ARCHIVO1 ARCHIVO2 ARCHIVO3



En less se pueden usar teclas especificas para hacer algunas cosas como:

- Flecha
Moverte línea a línea

- Espacio
Bajar una pagina

- b
Subir una pagina

- g
Ir a la primera línea del archivo

- G
Ir a la última línea del archivo

- 100g
Ir a la línea 100

- /palabra
Buscar "palabra" en el texto a partir de la línea actual

- n/N
Después del comando buscar, presionar par buscar hacia abajo o hacia arriba.


- q
Salir de less


adictosalinux.com