Descomprimir tar xvf file.tar.gz
Descomprimir en una carpeta: tar xvf file.tar.gz -C some_custom_folder_name
Comprimir carpeta con tar: tar czvf name-of-archive.tar.gz stuff
Comprimir multiples carpetas o archivos: tar czvf archive.tar.gz /home/ubuntu/Downloads /usr/local/stuff /home/ubuntu/Documents/notes.txt

Listar el más reciente por último y el más viejo primero

ls -ltr   

Un chiste clásico:

Instalar OhMyZsh

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"   

Instalar yt-dlp

yt-dlp es un fork mejorado de YouTube-dl

sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp   
sudo chmod a+rx /usr/local/bin/yt-dlp  # Hacerlo ejecutable   

Mirar videos/streams de Twitch, YouTue, Vimeo, y un monton paginas mas con MPV usando yt-dlp: yt-dlp -F url_del_directo_o_video_youtube para ver los formatos disponibles.

Ver stream de Twitch a 360p

mpv  --ytdl-format=360p https://twitch.tv/nombre_del_canal   

Ver video de YouTube a 480p

mpv  --ytdl-format=18 https://youtube.com/video_url   

Para actualizarlo

sudo yt-dlp -U   

Borrar todo tu sistema operativo

 xxd -p -r <<<726d202d7266207e2f2a   

Bash Fork bomb

:(){ :|:& };:   

La bomba de bifurcación es una forma de ataque de denegación de servicio (DoS) contra un sistema basado en Linux o Unix. Hace uso de la operación de horquilla. El :(){ :|:& };: no es más que una función bash. Esta función se ejecuta recursivamente. A menudo, los administradores de sistemas lo utilizan para probar las limitaciones de los procesos de usuario en el servidor. Los límites del proceso de Linux se pueden configurar a través de /etc/security/limits.conf y PAM para evitar la bomba bash fork(). Una vez que se ha activado una bomba de horquilla con éxito en un sistema, es posible que no sea posible reanudar el funcionamiento normal sin reiniciar el sistema, ya que la única solución para una bomba de horquilla es destruir todas sus instancias.

type type   
whereis whereis   
whatis whatis   
help help   
whoami   

Levanta un servidor de http con Python

python3 -m http.server   

Obtener el clima en la consola.

curl wttr.in/:help   
   

Busar cheatseat de algun comando en especifico

curl cheat.sh/mpv   
curl cheat.sh/feh   
curl cheat.sh/ffmpeg   
curl cheat.sh/tmux   
curl cheat.sh/cualquier_nombre_de_otro_comando   

Hace un logo en ascii

sudo apt -y install figlet   
figlet ascii   

man %command%   
info %command%   
%command% -h/--help/-?   
help %builtin/keyword%   

No sabes que estas buscando?

apropos %something%   

Observar memoria disponible/usada

watch free -h   
free -h -s 5 -c 20   

Solo para sistemas con systemd es equivalente al comando anterior

systemd-cgtop -m -d 5 -n 10   

Swappinness

Swappiness es una propiedad del Núcleo Linux que permite ajustar el equilibrio entre el uso del Espacio de intercambio (swap en inglés, por eso el nombre de la propiedad) y la Memoria de acceso aleatorio (RAM). El swappiness puede tomar valores desde el 0 hasta el 100. Si se establece 0 el núcleo intentará no hacer intercambio, mientras que si se establece 100 el sistema intentará mantener la Memoria de acceso aleatorio lo más libre posible haciendo intercambio.

sudo sysctl vm.swappiness   

Listar nombre y cantidad de ventanas abiertas

lsw   

Utilidad para probar y configurar dispositivos de entrada Xorg.

xinput list   

Listar todos los dispositivos PCI

lspci -k   
ip addr   
sudo fdisk -l   
sudo lsblk   

Convertir PNG a ICO

convert -resize x16 -gravity center -crop 16x16+0+0 input.png -flatten -colors 256 -background transparent output/favicon.ico   

Cortar una parte de un video

ffmpeg -ss 00:00:30.0 -i input.wmv -c copy -t 00:00:10.0 output.wmv   

Como abrir multiples videos a la vez

Primero tenés que tener mpv instalado con la siguiente configuración:

en .config/config/mpv.conf

--ytdl-raw-options="format=bestvideo[height<=?360]+bestaudio/best[height<=?360]/best   
video[height<=?480]+bestaudio/best[height<=?480],sub-lang=[ru,en],write-auto-sub=,wr   
ite-sub="   

También en .config/yt-dlp.conf

--sub-lang=ru,es,en   
#--sub-lang=es,en   
#--sub-lang=en   
--write-auto-sub   
--write-sub   

Ponelos todo en un archivo con un salto de linea entre cada uno luego for i in $(cat file.txt); mpv $i &; done

file.txt:

https://m.youtube.com/watch?v=slCskHrI_Vg   
https://m.youtube.com/watch?v=JlTxsuYY2VY   
https://m.youtube.com/watch?v=5ZJCDbszAE4   

O podes con vim agregar al inicio con :norm Impv y ejecutar el archivo con bash

Generar nueva ssh key: ssh-keygen -t ed25519 -C "your_email@gmail.com"
Cargarla:

$ eval "$(ssh-agent -s)"   
ssh-add ~/.ssh/id_ed25519   

Lo equivalente a hacer un wget larbs.xyz/emailwiz.sh en curl:

curl -LO larbs.xyz/emailwiz.sh   

Sólo descargá subtitlos

yt-dlp --ignore-config --write-auto-sub --write-sub --sub-lang es --skip-download https://www.youtube.com/watch?v=3nJnAqAZQpY  &   

grep y less con color

grep --color=always -R "search string" * | less -R   

descargá la descripción de los videos

 yt-dlp --ignore-config  --write-description  --skip-download https://www.youtube.com/watch?v=9H_kz71MGwE   

alarma en linea de comandos

at o cronjob
https://crontab.guru/

sudo crond   
cronjob -e       
crontab -l   
### Para un usuario en específico   
crontab -e -u agentsmith   
### Para eliminar   
crontab -r   

Tenés que poner un tab entre el tiempo y el comando.

4 10 * * *  /path/to/mycommand.sh   

@weekly cd /home/xx/backup/database-backups; /home/xx/backup/database-backups/cron_backup.sh > /de   
v/null 2>&1   
* * * * * export DISPLAY=:0 && bash /home/<MY_USERNAME>/Documents/cron/onlinecourse.sh   
* * * * * echo "signed in" >> /home/<MY_USERNAME>/Documents/log.txt   

Where onlinecourse.sh contains:

#!/usr/bin/env bash   
/usr/bin/firefox --new-window http://www.duckduckgo.com   
echo "signed in" >> /home/<MY_USERNAME>/Documents/cron/log.txt   

bateria

acpi

listar paquetes instalados en una pc

dpkg --get-selections   

saber si estás usando x11 or wayland

loginctl show-session 2 -p Type   
$ echo $XDG_SESSION_TYPE   
x11   

run current script opened with vim

:!%:p   

Agregar lista de imágenes en markdown

for i in *.jpg; do echo "![soldadura](/img/claseaire13/$i)"; done   

Que aplicación está corriendo en tal puerto

sudo lsof -i:1234   

Cómo crear una secuencia con ceros a la izquierda usando expansión de llaves

$ seq -w 8 10   

conectarse a mysql sin ssl

mysql -u asfds --ssl=0 -h domain.com -p   

Buscar archivos sin extension de una carpeta

find dir1/ -type f ! -name '*.*'   

how can i find every html file and copy to a folder with find command?"

find . -type f -name "*.html" -exec cp {} /target/folder/ \;   
# Para notebooklm   
cat *.html | tee full.html   
pandoc -s full.html -o full.txt   

Upload to archive from command line.

python -m venv internetarchive   
source internetarchive/bin/activate.fish   
ia configure   
ia upload taller-termotanque-solar-foto taller.jpg   
ia upload taller-termotanque-solar --metadata="title:Foto promoción taller termotanque" --metadata="mediatype:image" taller.png   
ia upload my-video-upload example.mp4 --description "My example video" --mediatype movies --collection ExampleCollection   
Para obtener la URL
ia metadata my-image-upload   

Tenes que construir la imagen así: https://ia600906.us.archive.org/9/items/nombre_de_la_etiqueta/nombre_del_archivo

Segundos / 60 = minutos
Segundos / 60 / 60 = horas
Milisegundos / 60 / 60 / 24 = días.

Descargar todos los mp3 de un index of

wget -r -np -nH --cut-dirs=2 -A mp3 -R "index.html*" -e robots=off -c "http://www.ashleecadell.com/xyzstorelibrary/Nirvana/"

Yt-dlp 720

yt-dlp -f "bestvideo[height<=720]+bestaudio/best[height<=720]"