Cheatsheet per Bash in italiano
Pubblicato il – 5 minuti di lettura – 886 parole

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
Comando | Descrizione |
---|---|
ls | elenca i file nella directory corrente, ls <dir> per stampare i file in una directory specifica |
ls -l | elenca 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 -a | elenca 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 |
lpq | controlla la coda della stampante |
lprm <jobnumber> | rimuove qualcosa dalla coda della stampante |
genscript | converte 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 | tail +n | Stampa l’ennesima riga dal file. |
head -y lines.txt | tail +x | Visualizza tutte le linee da x a y. Questo include le linee x e y. |
Comandi per le cartelle
Comando | Descrizione |
---|---|
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 |
cd | cambia in home |
cd .. | cambia alla directory madre |
cd <dirname> | cambia directory |
cp -r <dir1> <dir2> | copia |
pwd | vi dice dove siete attualmente |
cd ~ | cambia in home. |
Miscellaneous
Comando | Descrizione |
---|---|
ssh user@host | si connette all’host come utente attraverso il protocollo SSH |
ssh -p <port> user@host | si connette all’host sulla porta specificata come utente |
ssh-copy-id user@host | aggiunge la vostra chiave ssh all’host per l’utente per abilitare un login con chiave o senza password |
whoami | restituisce il tuo nome utente |
passwd | permette di cambiare la vostra password |
quota -v | mostra qual è la tua quota disco |
date | mostra la data e l’ora corrente |
cal | mostra il calendario del mese |
uptime | mostra il tempo di attività corrente |
w | mostra il whois online |
finger <user> | mostra informazioni sull’utente |
uname -a | mostra informazioni sul kernel |
man <comando> | mostra il manuale del comando specificato |
df | mostra 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 yourusername | elenca i tuoi processi |
kill <PID> | uccide i processi con l’ID che hai dato |
killall <nomeProcesso> | uccide tutti i processi con il nome |
top | visualizza i processi attualmente attivi |
lsof | elenca i file aperti |
bg | elenca i lavori fermati o in background; riprende un lavoro fermato in background |
fg | porta 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 |