cat cd comm cp date find git grep less lsof sed usermod vim wget html

cat

Per cat vedere il suo uso con mkfifo

cd

cd - per tornare nella cartella precedente

comm

Vedere le differenze tra due liste ordinate:

comm -23 <(sort <(git-lfs ls-files | cut -d' ' -f3 | cut -d'/' -f4)) <(sort <(find -name *.tcz | cut -d'/' -f5)) comm -13 <(sort <(git-lfs ls-files | cut -d' ' -f3 | cut -d'/' -f4)) <(sort <(find -name *.tcz | cut -d'/' -f5)) ca-certificates.tcz curl.tcz gcc_libs.tcz libzstd.tcz openssl.tcz tce-load-github-lfs.tcz comm -12 per le similitudini tra due liste
comm -13 per gli elementi unichi alla seconda lista
comm -23 per gli elementi unichi alla prima lista

cp

Per scrivere un immagine su una carta SD che sarà bootable:

# cp debian.iso /dev/sdX # sync Non c'è bisogno di altri programmi, perché «Debian installation images for this architecture are created using the isohybrid technology» Preparing a USB stick using a hybrid CD/DVD image. Il sito nota «The image must be written to the whole-disk device and not a partition, e.g. /dev/sdb and not /dev/sdb1. Do not use tools like unetbootin which alter the image.»

Questo metodo funziona anche per le immagine di tinycorelinux. Ho provato CorePlus-current.iso che è alla versione 16.2.

date

Cambiare la data dal terminale : date -s '2024-01-20 20:40:35'

Ottenere un timestamp Unix: date +%s

Ottenere la data da un timestamp Unix: date -d @1763810257

Ottenere un timestamp Unix da una data : date -d '2024-01-20 20:40:35' +%s

Mostrare la data corrente nel terminale : while :; do date; sleep 1; done
Contare nel terminale i=0; while :; do date; sleep 1; echo $i; ((i++)); done

find

find -name parola* per trovare un documento con un nome cominciando con la parola
find . -type f -newermt 2024-06-04 ! -newermt 2024-06-05 | less per trovare i documenti modificati tra due dati.

find . | xargs grep --text --exclude=*.txc -rne "ABC" -sl | xargs -L1 sed -i 's/ABC/def/g'
per rimpiazare «ABC» con «def» nei documenti dove si trovano all'eccezione dei documenti che finiscono con .txc.

git

git clone git@provider.com:userName/projectName.git --config core.sshCommand="ssh -i ~/location/to/private_ssh_key"
Git how to clone with SSH key, username

Per configurare l'editore per conflitti e risorvarli :

git config merge.tool vimdiff
git config merge.conflictstyle diff3
git config --global diff.tool vimdiff
git mergetool
:diffget RE
:diffget LO

git clean -i a/b/* per rimuovere i documenti temporanei

git config --global url.ssh://git@github.com/.insteadOf https://github.com/

git config --global core.editor vim per l'editore dei commit

git diff --cached staged-file.txt per vedere i cambiamenti su un documento cambiato già aggiunto.

Se usi più di un'identità su gitlab:

git remote -v
git remote set-url origin git@gitlab1[il-resto-del-url-git]
vim ~/.ssh/config
:set paste
i
Host gitlab1
	HostName gitlab.com
	User git
	IdentityFile ~/.ssh/id_ed25519_gitlab1
	IdentitiesOnly yes

grep

grep -rne parola per trovare tutte le linee dove la parola si trova tra tutti i documenti della cartella e delle ricorsivamente
grep -e "parola" > nome-documento.txt per trovare le linee con la parola
grep -e 2024-01-01 --text /mio/camino/mio-documento.log per mostrare il risultato in testo al terminale.

Per rimpiazare html e mantenere solo il testo

grep -e "parola" > documento.txt sed -i 's/&eacute;/é/g' documento.txt sed -i 's/<p>//g' documento.txt sed -i 's/<\/p>//g' sed -i 's/<p style="text-align: justify;">//g' documento.txt

Per terminare un processo cercato da nome

kill `ps aux | grep "telnet" | head -n 1 | tr -s ' ' | cut -d' ' -f2`
head -n 1 - ritorna la prima linea tr -s ' ' - rimpiaza catene di spazi in uno spazio cut -d' ' -f2 - taglia la linea usando il spazio come separatóre

less

less +G mio-lungo-log.log ?parola mentre less è aperto per ricercare nelle linee precedenti

Quando c'è questo errore nel terminale Error grabbing logs: invalid character '\x00' looking for beginning of value è possibile di trovare il log cosi sudo docker inspect --format='{{.LogPath}}' mio-contenitore e dopo si usa less +G mio-lungo-log.log per leggere dalla fine.

lsof

Vedere le connessione alla rete

#!/bin/sh echo "---" sudo lsof -iUDP | awk 'NR>1 {print $1}' | sort | uniq -c | sort -n echo "---" sudo lsof -iUDP echo "---" sudo lsof -iUDP | awk 'NR>1 {print $1}' echo "---" sudo lsof -iUDP | awk 'NR>1 {print $1}' | sort echo "---" sudo lsof -iUDP | awk 'NR>1 {print $1}' | sort | uniq -c

sed

Rimpiazare testo con sed
sed -i 's/&eacute;/é/g' nome-documento.txt per rimpiazare &eacute; con é
sed -i '/path d/d' nome-documento.txt per rimuovere tutte le linee con «path d»
sed -i "s/$(parola)//g" documento.txt per rimuovere la parola in ogni linea
sed -i 's/<p>//g' documento.txt per rimuovere <p>
sed -i 's/<\/p>//g' per rimuovere </p>
sed -i 's/<p style="text-align: justify;">//g' documento.txt

ssh

ssh-config ssh-keygen

ssh-config

vim ~/.ssh/config per aggiungere una configurazione speciale come

Host gitlab-2 HostName gitlab.com IdentityFile ~/.ssh/id_ed25519_gitlab_2.pub che permette di l'errore "Fingerprint sha256 has already been taken" che è causato dall'uso di una chiave già usata in un altro conto. Dopo è possibile di eseguire git clone git@gitlab-2:utente/repertorio.git

ssh-keygen

ssh-keygen -t ed25519 per una nuova chiave ssh

usermod

sudo usermod -aG docker $USER per aggiungere l'utente al gruppo

newgrp docker per rendere il nuovo gruppo attivo

groups per verificare il cambiamento

vim

gui" in modo normale per ottenere caratteri minuscoli dalla posizione attuale fine all carattere "

g~i" per invertire i minuscoli et maiscoli

t" per muovere al prossimo carattere "

T" per muovere al prossimo carattere "

10@q per eseguire 10 volte il macro q

wget

wget sito.web per scaricare una pagina web
wget --no-check-certificate -O - https://facedebouc.sbs per mostare il codice della pagina direttamente alla consola e per ignorare il certificato quando non è buono

html

test di caratteri
ê
è
 
â
î
à
À
ù
«
»