Marvin Pascale

[B.Log]

01 Gennaio 2023

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.

  1. ls - Elenca il contenuto di una directory.
  • Esempio: ls /var/www/ elencherà il contenuto della directory /var/www.
  1. pwd - Stampa la directory di lavoro corrente.
  • Esempio: pwd e riceverai come output il percorso alla cartella in cui ti trovi.
  1. cd - Cambia la directory di lavoro corrente.
  • Esempio: cd /var/www/ cambierà la directory di lavoro corrente in /var/www.
  1. mkdir - Crea una nuova directory.
  • Esempio: mkdir cartella creerà una nuova directory chiamata cartella.
  1. cp - Copia un file o una directory.
  • Esempio: cp file.txt /var/tmp/ copierà il file file.txt nella directory /var/tmp.
  1. mv - Sposta un file o una directory.
  • Esempio: mv file.txt /var/tmp/ sposterà il file file.txt nella directory /var/tmp.
  1. 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.
  1. touch - Crea un nuovo file vuoto.
  • Esempio: touch file.txt creerà un nuovo file vuoto chiamato file.txt.
  1. 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.
  1. cat - Visualizza il contenuto di un file.
  • Esempio: cat file.txt visualizzerà il contenuto del file file.txt nel terminale.
  1. clear - Pulisce l’output nel terminale.
  • Esempio: clear e la magia si compierà. NB: funziona anche con “ctrl + l
  1. echo - Stampa un messaggio nel terminale.
  • Esempio: echo “Ciao, mondo!” stamperà il messaggio “Ciao, mondo!” nel terminale.
  1. less - Visualizza un file con impaginazione.
  • Esempio: less file.txt ti permetterà di visualizzare il contenuto di file.txt una pagina alla volta.
  1. 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.
  1. 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.
  1. whoami - Visualizza l’utente corrente.
  • Esempio: whoami visualizzerà il nome utente dell’utente corrente.
  1. 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.
  1. 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.
  1. head - Visualizza le prime righe di un file.
  • Esempio: head -n 10 file.txt visualizzerà le prime 10 righe di file.txt.
  1. tail - Visualizza le ultime righe di un file.
  • Esempio: tail -n 10 file.txt visualizzerà le ultime 10 righe di file.txt.
  1. 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.
  1. 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.
  1. 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.
  1. sort - Ordina le righe di un file o standard output.
  • Esempio: sort file.txt ordina alfabeticamente le righe di file.txt.
  1. export - Esporta una variabile di shell.
  • Esempio: export VARIABILE=“valore” creerà una variabile di shell chiamata VARIABILE con il valore “valore”.
  1. 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.
  1. unzip - Estrae i file da un archivio zip.
  • Esempio: unzip archivio.zip estrarrà il contenuto dell’archivio zip archivio.zip.
  1. 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.
  1. service - Controlla i servizi di sistema.
  • Esempio: service apache2 start avvierà il server Web Apache.
  1. 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.
  1. kill - Invia un segnale a un processo per terminarlo.
  • Esempio: kill 12345 invierà il segnale per terminare il processo con l’ID processo 12345.
  1. killall - Termina tutti i processi con un nome specificato.
  • Esempio: killall tuxcart terminerà tutti i processi con il nome tuxcart.
  1. 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).
  1. mount - Monta un filesystem.
  • Esempio: mount /dev/sda1 /mnt/usb monterà la partizione /dev/sda1 nel punto di montaggio /mnt/usb.
  1. 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.
  1. 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.
  1. ifconfig - Configura i parametri dell’interfaccia di rete.
  • Esempio: ifconfig eth0 up abiliterà l’interfaccia di rete eth0.
  1. 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.
  1. wget - Scarica un file da una url.
  1. 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.
  1. 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).
  1. apt - Un gestore di pacchetti per sistemi basati su Debian.
  • Esempio: apt update && apt full-upgrade aggiornerà tutti i pacchetti installati.
  1. yum (dnf) - Un gestore di pacchetti per sistemi basati su Red Hat.
  • Esempio: yum update aggiornerà tutti i pacchetti installati.
  1. cal - Visualizza un calendario.
  • Esempio: cal visualizzerà il calendario del mese corrente.
  1. alias - Crea un alias per un comando.
  • Esempio: alias ll=‘ls -al’ creerà un alias ll che esegue il comando ls -al.
  1. 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.
  1. whereis - Mostra le posizioni di un comando.
  • Esempio: whereis ls mostrerà le posizioni del comando ls all’interno del sistema.
  1. whatis - Mostra una breve descrizione di un comando.
  • Esempio: whatis ls mostrerà una breve descrizione del comando ls.
  1. 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
  1. passwd - Cambia la password per un utente.
  • Esempio: passwd marvin richiederà di inserire e confermare una nuova password per l’utente marvin.
  1. BONUS - Esiste un manuale online (https://linux.die.net/man/1/comando) per praticamente ogni comando ed è consultabile in maniera semplice.

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: