bash cheatsheet

Una shell accetta i comandi e fornisce questi comandi al sistema operativo sottostante per l’esecuzione. Sulla maggior parte dei sistemi Linux, il programma della shell si chiama BASH (The Bourne Again Shell), ma ce ne sono altri, tra cui la shell C (tcsh) e la shell KORN (ksh).

Attraverso questo comodo cheatsheet, ho provato a sintetizzare i comandi più utilizzati per iniziare ad utilizzare la potente ma al tempo stesso sottostimata Bash.

Comandi per i file

ComandoDescrizione
lselenca i file nella directory corrente, ls <dir> per stampare i file in una directory specifica
ls -lelenca i tuoi file in “formato lungo”, che contiene la dimensione esatta del file, chi possiede il file e chi ha il diritto di guardarlo, e quando è stato modificato l’ultima volta
ls -aelenca tutti i file in ‘formato lungo’, compresi i file nascosti (il cui nome inizia con ‘.’)
ln -s <filename> <link>crea un collegamento simbolico al file
touch <filename>crea un file vuoto o aggiorna (modifica) il tuo file
cat <filename>stampa il contenuto grezzo del file (non sarà interpretato, quindi file come immagini, PDF possono risultare con caratteri “strani”)
any_command > <filename>‘>’ è usato per eseguire reindirizzamenti, imposterà lo stdout di any_command su file invece che sul “vero stdout” (generalmente /dev/stdout)
more <filename>mostra la prima parte di un file (spostarsi con lo spazio e digitare q per uscire)
head <filename>emette le prime righe del file (predefinito: 10 righe)
tail <filename>emette le ultime righe del file (utile con l’opzione -f) (predefinito: 10 righe)
vim <filename>apre un file nell’editor di testo VIM (VI iMproved), lo crea se non esiste
mv <filename1> <dest>sposta un file a destinazione, il comportamento cambierà in base al tipo di ‘dest’ (dir: il file viene messo in dir; file: il file sostituirà dest (suggerimento: utile per rinominare))
cp <filename1> <dest>copia un file
rm <filename>rimuove un file
find . -name <name> <type>cerca un file o una directory nella directory corrente e in tutte le sue sottodirectory in base al suo nome
diff <filename1> <filename2>confronta i file e mostra dove differiscono
wc <filename>riporta quante linee, parole e caratteri ci sono in un file. Usate -lwc (linee, parole, caratteri) per pubblicare solo 1 di queste informazioni
sort <filename>ordina il contenuto di un file di testo riga per riga in ordine alfabetico, usa -n per l’ordinamento numerico e -r per invertire l’ordine.
sort -t -k <filename>ordina il contenuto su un campo chiave specifico partendo da 1, usando il separatore di campo t.
chmod -options <filename>permette di cambiare i permessi di lettura, scrittura ed esecuzione dei file (maggiori informazioni: SUID, GUID)
gzip <filename>comprime i file usando l’algoritmo gzip
gunzip <filename>decomprime i file compressi da gzip
gzcat <filename>permette di guardare i file gzippati senza doverli effettivamente decomprimere
lpr <filename>stampa il file
lpqcontrolla la coda della stampante
lprm <jobnumber>rimuove qualcosa dalla coda della stampante
genscriptconverte file di testo semplice in postscript per la stampa e dà alcune opzioni per la formattazione
dvips <filename>stampa i file .dvi (cioè i file prodotti da LaTeX)
grep <pattern> <filenames>cerca la stringa nei file
grep -r <pattern> <dir>cerca in modo ricorsivo il modello nella directory
head -n file_name &#124; tail +nStampa l’ennesima riga dal file.
head -y lines.txt &#124; tail +xVisualizza tutte le linee da x a y. Questo include le linee x e y.

Comandi per le cartelle

ComandoDescrizione
mkdir <dirname>crea una nuova directory
rmdir <nome_circa>rimuove una directory vuota
rmdir -rf <nome_circa>rimuove una directory non vuota
mv <dir1> <dir2>rinomina una directory da a
cdcambia in home
cd ..cambia alla directory madre
cd <dirname>cambia directory
cp -r <dir1> <dir2>copia in comprese le sottodirectory
pwdvi dice dove siete attualmente
cd ~cambia in home.

Miscellaneous

ComandoDescrizione
ssh user@hostsi connette all’host come utente attraverso il protocollo SSH
ssh -p <port> user@hostsi connette all’host sulla porta specificata come utente
ssh-copy-id user@hostaggiunge la vostra chiave ssh all’host per l’utente per abilitare un login con chiave o senza password
whoamirestituisce il tuo nome utente
passwdpermette di cambiare la vostra password
quota -vmostra qual è la tua quota disco
datemostra la data e l’ora corrente
calmostra il calendario del mese
uptimemostra il tempo di attività corrente
wmostra il whois online
finger <user>mostra informazioni sull’utente
uname -amostra informazioni sul kernel
man <comando>mostra il manuale del comando specificato
dfmostra l’uso del disco
du <nomefile>mostra l’uso del disco dei file e delle directory nel nome del file (du -s dà solo un totale)
last <yourUsername>elenca gli ultimi accessi
ps -u yourusernameelenca i tuoi processi
kill <PID>uccide i processi con l’ID che hai dato
killall <nomeProcesso>uccide tutti i processi con il nome
topvisualizza i processi attualmente attivi
lsofelenca i file aperti
bgelenca i lavori fermati o in background; riprende un lavoro fermato in background
fgporta il lavoro più recente in primo piano
fg <job>porta il lavoro in primo piano
ping <host>ping dell’host e risultati
whois <dominio>ottiene informazioni whois per il dominio
dig <dominio>ottiene informazioni DNS per il dominio
dig -x <host>inverte la ricerca dell’host
wget <file>scarica il file