Special Di Capodanno
In questo special vedremo i 50 comandi Linux che ogni sviluppatore che si creda tale deve conoscere. Tralasciando le inutili e sterili polemiche vi dico solo che ho seguito la mia vocazione e sono diventato un Sysadmin perché credevo e credo fermamente che ogni sviluppatore meriti un eroe.
I 50 comandi
Di seguito presenterò i comandi uno ad uno con una sintetica descrizione e un esempio pratico.
ls - Elenca il contenuto di una directory.
- Esempio: ls /var/www/ elencherà il contenuto della directory /var/www.
pwd - Stampa la directory di lavoro corrente.
- Esempio: pwd e riceverai come output il percorso alla cartella in cui ti trovi.
cd - Cambia la directory di lavoro corrente.
- Esempio: cd /var/www/ cambierà la directory di lavoro corrente in /var/www.
mkdir - Crea una nuova directory.
- Esempio: mkdir cartella creerà una nuova directory chiamata cartella.
cp - Copia un file o una directory.
- Esempio: cp file.txt /var/tmp/ copierà il file file.txt nella directory /var/tmp.
mv - Sposta un file o una directory.
- Esempio: mv file.txt /var/tmp/ sposterà il file file.txt nella directory /var/tmp.
rm - Rimuove un file o una directory.
- Esempio: rm file.txt rimuoverà il file file.txt, mentre rm -r cartella rimuoverà la directory cartella e tutto il suo contenuto.
touch - Crea un nuovo file vuoto.
- Esempio: touch file.txt creerà un nuovo file vuoto chiamato file.txt.
ln - Crea un collegamento a un file o una directory.
- Esempio: ln -s /var/tmp/file.txt file.txt creerà un collegamento simbolico a /var/tmp/file.txt chiamato file.txt nella directory corrente.
cat - Visualizza il contenuto di un file.
- Esempio: cat file.txt visualizzerà il contenuto del file file.txt nel terminale.
clear - Pulisce l’output nel terminale.
- Esempio: clear e la magia si compierà. NB: funziona anche con “ctrl + l“
echo - Stampa un messaggio nel terminale.
- Esempio: echo “Ciao, mondo!” stamperà il messaggio “Ciao, mondo!” nel terminale.
less - Visualizza un file con impaginazione.
- Esempio: less file.txt ti permetterà di visualizzare il contenuto di file.txt una pagina alla volta.
man - Visualizza la pagina di manuale per un comando.
- Esempio: man ls visualizzerà la pagina man per il comando ls, che ne descrive l’utilizzo e le opzioni.
uname - Visualizza informazioni sul sistema corrente.
- Esempio: uname -a visualizzerà tutte le informazioni sul sistema corrente, inclusa la versione del kernel e il nome host della macchina.
whoami - Visualizza l’utente corrente.
- Esempio: whoami visualizzerà il nome utente dell’utente corrente.
tar - Archivia e comprime file e directory.
- Esempio: tar -czf archivio.tar.gz cartella/ creerà un archivio compresso chiamato archivio.tar.gz dal contenuto della directory cartella.
grep - Cerca un modello in un file.
- Esempio: grep “error” log.txt cercherà nel file log.txt il pattern “error” e stamperà tutte le righe che corrispondono.
head - Visualizza le prime righe di un file.
- Esempio: head -n 10 file.txt visualizzerà le prime 10 righe di file.txt.
tail - Visualizza le ultime righe di un file.
- Esempio: tail -n 10 file.txt visualizzerà le ultime 10 righe di file.txt.
diff - Confronta le differenze tra due file.
- Esempio: diff file1.txt file2.txt confronterà i contenuti di file1.txt e file2.txt e stamperà le differenze tra di essi.
cmp - Confronta il contenuto di due file byte per byte.
- Esempio: cmp file1.txt file2.txt confronterà il contenuto di file1.txt e file2.txt byte per byte e riporterà eventuali differenze.
comm - Confronta il contenuto di due file ordinati riga per riga.
- Esempio: comm file1.txt file2.txt confronterà i contenuti di file1.txt e file2.txt, che dovrebbero essere entrambi ordinati, e stamperà le righe che sono univoche per ciascun file.
sort - Ordina le righe di un file o standard output.
- Esempio: sort file.txt ordina alfabeticamente le righe di file.txt.
export - Esporta una variabile di shell.
- Esempio: export VARIABILE=“valore” creerà una variabile di shell chiamata VARIABILE con il valore “valore”.
zip - Comprime i file in un archivio zip.
- Esempio: zip archivio.zip file1.txt file2.txt creerà un archivio ZIP chiamato archivio.zip contenente i file file1.txt e file2.txt.
unzip - Estrae i file da un archivio zip.
- Esempio: unzip archivio.zip estrarrà il contenuto dell’archivio zip archivio.zip.
ssh - Si connette a un server remoto utilizzando il protocollo ssh.
- Esempio: ssh [email protected] ci si connetterà al server su 192.168.100.1 come utente marvin.
service - Controlla i servizi di sistema.
- Esempio: service apache2 start avvierà il server Web Apache.
ps - Visualizza informazioni sui processi in esecuzione.
- Esempio: ps aux visualizzerà un elenco di tutti i processi in esecuzione e il relativo utilizzo delle risorse.
kill - Invia un segnale a un processo per terminarlo.
- Esempio: kill 12345 invierà il segnale per terminare il processo con l’ID processo 12345.
killall - Termina tutti i processi con un nome specificato.
- Esempio: killall tuxcart terminerà tutti i processi con il nome tuxcart.
df - Visualizza le informazioni sullo spazio su disco disponibile sui filesystem montati.
- Esempio: df -h visualizzerà lo spazio su disco disponibile in un formato leggibile dall’uomo (gigabyte o megabyte).
mount - Monta un filesystem.
- Esempio: mount /dev/sda1 /mnt/usb monterà la partizione /dev/sda1 nel punto di montaggio /mnt/usb.
chmod - Modifica i permessi di un file o di una directory.
- Esempio: chmod 755 file.txt darà i permessi di lettura, scrittura ed esecuzione al proprietario e i permessi di lettura ed esecuzione a tutti gli altri per il file file.txt.
chown - Modifica la proprietà di un file o di una directory.
- Esempio: chown utente:gruppo file.txt cambierà il proprietario di file.txt in utente e la proprietà del gruppo in gruppo.
ifconfig - Configura i parametri dell’interfaccia di rete.
- Esempio: ifconfig eth0 up abiliterà l’interfaccia di rete eth0.
traceroute - Traccia il percorso dei pacchetti verso una destinazione.
- Esempio: traceroute linux.it traccerà il percorso dei pacchetti dal sistema corrente alla destinazione linux.it.
wget - Scarica un file da una url.
- Esempio: wget https://esempio.it/file.zip scaricherà il file file.zip da https://esempio.it.
ufw e firewall-cmd - Un frontend per la gestione di un firewall.
- Esempio: ufw allow ssh o firewall-cmd –zone=public –add-service=ssh consentirà le connessioni in entrata al servizio SSH.
iptables - Uno strumento di gestione del firewall per Linux.
- Esempio: iptables -A INPUT -p tcp –dport 22 -j ACCEPT consentirà le connessioni in entrata alla porta TCP 22 (la porta predefinita per ssh).
apt - Un gestore di pacchetti per sistemi basati su Debian.
- Esempio: apt update && apt full-upgrade aggiornerà tutti i pacchetti installati.
yum (dnf) - Un gestore di pacchetti per sistemi basati su Red Hat.
- Esempio: yum update aggiornerà tutti i pacchetti installati.
cal - Visualizza un calendario.
- Esempio: cal visualizzerà il calendario del mese corrente.
alias - Crea un alias per un comando.
- Esempio: alias ll=‘ls -al’ creerà un alias ll che esegue il comando ls -al.
dd - Copia i dati da una posizione a un’altra.
- Esempio: dd if=/dev/sda of=disk.img creerà un file immagine chiamato disk.img del contenuto del dispositivo /dev/sda.
whereis - Mostra le posizioni di un comando.
- Esempio: whereis ls mostrerà le posizioni del comando ls all’interno del sistema.
whatis - Mostra una breve descrizione di un comando.
- Esempio: whatis ls mostrerà una breve descrizione del comando ls.
top - Visualizza informazioni sui processi in esecuzione.
- Esempio: top visualizzerà un elenco di processi in esecuzione e il loro utilizzo delle risorse in tempo reale. NB: per uscire premere q o “ctrl + c“
passwd - Cambia la password per un utente.
- Esempio: passwd marvin richiederà di inserire e confermare una nuova password per l’utente marvin.
BONUS - Esiste un manuale online (https://linux.die.net/man/1/comando) per praticamente ogni comando ed è consultabile in maniera semplice.
- Esempio: https://linux.die.net/man/1/ls
Da oggi non avrai più scuse per gestire autonomamente il tuo pc e gli ambienti di DEV/UAT.
Le opinioni in quanto tali sono opinabili e nulla ti vieta di approfondire l’argomento.
Risorse: