Linux command cheat sheet
Buon 2011 a tutti !!
Navigando per la rete ho trovato un interessante insieme di siti i quali elencavano alcune liste dei più diffusi comandi di linux. Ho pensato di raccoglierli e di creare il mio primo cheat sheet, in formato HTML, da pubblicare come articolo sulle pagine del mio blog…sai mai che possa interessare a qualcuno. Ci sono alcuni comandi di uso comune molto chiari, altri molto interessanti da usare solo se la tastiera è la naturale continuazione della proprio mani!
| Commando | Descrizione |
| apropos whereis | Visualizza una descrizione sul comando indicato |
| man -t man | ps2pdf – > devme_man.pdf | Crea un pdf dalla pagina del manuale richiesta |
| which ls | Visualizza il percorso completo del comando |
| time make | Calcola e visualizza il tempo impiego dall’esecuzione del comando |
| time cat | Misura il tempo impiegato per la digitazione (es. scrittura di un testo) |
| Navigazione delle directory | |
| cd - | Vai alla directory precedente |
| cd | Vai alla $HOME directory |
| (cd dir && command) | Vai alla directory indicata, esegui il comando e ritorna alla directory corrente |
| pushd . | Aggiungi allo stack la directory corrent. |
| pop | Estrae dallo stack il percorso dell’ultima directory inserita e ci si sposta |
| Ricerca dei file | |
| alias l=’ls -al –color=auto’ | Elenca le directory facendo l’highlithing degli elementi |
| ls -lrt | Elenca i file per data |
| find -name ‘*.[ch]‘ | xargs grep -E ‘devme’ | Ricerca ‘devme’ a partire dalla directory corrente |
| find -type f -print0 | xargs -r0 grep -F ‘devme’ | Ricerca i soli file che hanno al loro interno la stringa ‘devme’ a partire dalla directory corrente |
| find -maxdepth 1 -type f | xargs grep -F ‘devme’ | Ricerca i soli file che hanno al loro interno la stringa ‘devme’ solo nella directory corrente |
| find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done | Elabora ciascuna directory trovata a partire dalla directory corrente, ed esegui i comandi contenuti all’interno del ciclo per ciascun elemento |
| find -type f ! -perm -444 | Cerca i file non leggibili da tutti |
| find -type d ! -perm -111 | Cerca i file non accessibili da tutti |
| locate -r ‘file[^/]*\.txt’ | Cerca all’interno della cache tutti i file il cui nome fa match con: *file*.txt |
| Archiviazione e compressione | |
| gpg -c file | Critta il file di input |
| gpg file.gpg | Decritta il file |
| tar -c dir/ | bzip2 > dir.tar.bz2 | Crea un archivio compresso della directory dir/ |
| bzip2 -dc dir.tar.bz2 | tar -x | Estrae l’archivio usando gzip al posto di bzip2 |
| tar -c dir/ | gzip | gpg -c | ssh user@remote ‘dd of=dir.tar.gz.gpg’ | Crea un archivio compresso crittato della directory dir/ e lo invia sulla macchina remota |
| find dir/ -name ‘*.txt’ | tar -c –files-from=- | bzip2 > dir_txt.tar.bz2 | Crea un archivio del contenuto di dir/ |
| find dir/ -name ‘*.txt’ | xargs cp -a –target-directory=dir_txt/ –parents | Crea una copia del contenuto della directory dir/ |
| ( tar -c /dir/to/copy ) | ( cd /target/ && tar -x -p ) | Copia (preservando i permessi) la directory sorgente nella directory target |
| ( tar -c /dir/to/copy ) | ssh -C user@remote ‘cd /target/ && tar -x -p’ | Copia preservando i permessi copy/ dir to remote:/target/ dir |
| dd bs=1M if=/dev/sda | gzip | ssh user@remote ‘dd of=sda.gz’ | Effettua il backup dell’hardisk sulla macchina remota |
| rsync | |
| rsync -P rsync://rsync.server.com/target/file file | Ottieni le differenze |
| rsync –bwlimit=1000 fromfile tofile | Copia localmente fissando un limite del trasferimento. Ottimo per le operazioni di I/O |
| rsync -az -e ssh –delete ~/public_html/ remote.com:’~/public_html’ | Effettua un mirron di un sito web (usa compressione e crittazione) |
| rsync -auz -e ssh remote:/dir/ . && rsync -auz -e ssh . remote:/dir/ | Sincronizza la directory corrente con una remota |
| SSH | |
| ssh $USER@$HOST command | Esegui il comando command su $HOST come $USER (default command=shell) |
| ssh -f -Y $USER@$HOSTNAME xeyes | Esegui un comando grafico (GUI) su $HOSTNAME come $USER |
| scp -p -r $USER@$HOST: file dir/ | Copia preservando i permessi dalla home di $USER su $HOST in dir/ |
| ssh -g -L 8080:localhost:80 root@$HOST | Crea un tunnel SSH sulla porta locale 8080 verso la porta 80 remota |
| ssh -R 1434:imap:143 root@$HOST | Crea un reverse tunnel SSH sulla porta locale 1434 verso la porta 143 remota |
| ssh-copy-id $USER@$HOST | Installa la chiave pubblica di $USER su $HOST per effettuare login senza autenticazione |
| wget | |
| (cd dir/ && wget -nd -pHEKk http://www.devme.it/downloadme.html) | Scarica una versione navigabile della pagina nella directory corrente |
| wget -c http://www.devme.it/large.bin | Effettua il resume di una risorsa scaricata precedentemente |
| wget -r -nd -np -l1 -A ‘*.jpg’ http://www.devme.it/dir/ | Scarica l’insieme dei file indicati nella directory corrente |
| wget -q -O- http://www.devme.it/links.html | grep ‘a href’ | head | Elabora l’output scaricato |
| echo ‘wget url’ | at 01:00 | Scarica l’url alle 13 nella directory corrente |
| wget –limit-rate=20k url | Effettua una download a bassa priorità |
| wget -nv –spider –force-html -i bookmarks.html | Verifica i link all’interno del file |
| wget –mirror http://www.devme.it/ | Aggiorna la copia locale di un sito web |
| Networking | |
| ethtool eth0 | Visualizza lo stato dell’interfaccia di rete eth0 |
| ethtool –change eth0 autoneg off speed 100 duplex full | Imposta manualmente la velocità dell’interfaccia di rete |
| iwconfig eth1 | Visualizza lo stato dell’interfaccia wireless eth1 |
| iwconfig eth1 rate 1Mb/s fixed | Imposta manualmente la velocità dell’interfaccia di rete wireless |
| iwlist scan | Elenca le reti wireless trovate |
| ip link show | Visualizza l’elenco delle interfacce di rete |
| ip link set dev eth0 name wan | Rinomia l’interfaccia eth0 in wan |
| ip link set dev eth0 up | Attiva/Disattiva(down) l’interfaccia di rete |
| ip addr show | Elenca gli indirizzi delle interfacce di rete |
| ip addr add 1.2.3.4/24 brd + dev eth0 | Aggiunge o elimina (del) ip e la maschera (255.255.255.0) |
| ip route show | Elenca la tabella di routing |
| ip route add default via 1.2.3.4 | Imposta il default gateway |
| host www.devme.it | Interroga il DNS per ottenere l’ip del dominio |
| hostname -i | Ottiene l’indirizzo ip locale |
| whois pixelbeat.org | Interroga il whois per ottenere le informazioni sull’hostname o l’indirizzo ip |
| netstat -tupl | Elenca i servizi attivi sul sistema |
| netstat -tup | Elenca le connessioni attive da/sul sistema |
Stay tuned!
