#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.
#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.
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
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
#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
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
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 <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
Buscar archivos duplicados (nombre) en una directorio (Recursivo).
En este caso buscar solo archivos mp3 repetidos, mostrar solo el nombre y ordenar la salida.
Nota: encontrar la ruta del archivo repetido:
#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
)
Nota: para eliminar el usuario "nombre_de_usuario" se usa el comando : sudo userdel --remove nombre_de_usuario
#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
Información del chasis (si aplica, yo tengo una virtual)
Información del sistema
Información de la memoria física instalada (DIMMs)
Máxima memoria física soportada
Información del CPU
Fuente: linuxtechi.com
#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
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
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
YouTube
Presentación
Solo para darles la bienvenida y agradecer que visiten mi canal.
Muchas gracias
Muchas gracias
#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)
#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.
Listar solo directorios
Listar archivos y directorios incluyendo subdirectorios en la ruta actual (nivel 1)
Listar archivos incluyendo todos los subdirectorios a partir de la ruta actual(todos niveles, CUIDADO si tienen muchos subdirectorios)
Listar todo con tamaño ocupado en disco
listar todo por tamaño en orden descendente
listar todo por tamaño en orden ascendente (inverso a -S)
listar todo por tamaño en orden descendente mostrando el tamaño ocupado (con indicación de G/M/K/etc)
#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)
#linux
#mkdir
#one-line
Crear la siguiente estructura de directorios en el directorio actual:
Contactos
- Clientes
- - Pedidos
- - Facturas
- Proveedores
- - Pedidos
- - Facturas
fuente: ionos.mx
O esta:
miProyecto
- src
- doc
- - api
- - sistema
- herramientas
- db
feunte: collstudio
#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
#touch
Crear archivos "vacios" (en este caso con extensión .txt)
Crear un archivo:
Crear varios archivos:
Crear varios archivos numerados consecutivos:
Nota: el comando touch tiene otras funciones muy útiles mas haya de crear archivos. Revisen por su cuenta
fuante: hostinger
#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:
Ver el contenido de un archivo con números de línea:
Abrir el archivo "ARCHIVO" y mostrar el contenido comenzando desde la primera aparición de la "palabra":
Abrir varios archivos a la vez:
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
#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