Gli utenti delle distribuzioni Linux fanno spesso affidamento ad un vasto ventaglio di comandi e tool da terminale che risultano essere molto utili e consentono di velocizzare e semplificare notevolmente le varie operazioni quotidiane e, in generale, i diversi workflow.
Si tratta di strumenti da CLI (Command Line Interface) che offrono dei risultati rapidi, immediati e che consumano una quantità irrisoria di CPU e memoria RAM, in special modo se paragonate ad un comune applicativo con una classica GUI (Graphical User Interface) accessibile con mouse e testiera.
Per tali motivazioni ancora oggi l'uso del terminale è ancora molto comune tra gli utenti Linux.
Perché controllare i comandi deprecati
Ovviamente questo non significa che non siano disponibili applicativi maggiormente accessibili anche per le persone meno esperte. Esiste però una pletora di comandi che tutt'oggi viene ancora sfruttata da gran parte degli utilizzatori dei sistemi del Pinguino.
Negli anni alcuni di questi tool sono diventati iconici e si sono radicati nella coscienza collettiva di migliaia di individui.
Tuttavia può capitare che con il tempo tali strumenti vengano deprecati dalle singole distribuzioni, magari perché sostituiti da alternative più efficienti e sicure.
Continuare ad utilizzare, anche inconsapevolmente, comandi o utility da shell obsolete espone l'utente a diversi rischi di sicurezza e a possibili attacchi informatici. Inoltre può capitare che con gli anni determinati programmi da terminale diventino irreperibili perché eliminati dai repository software.
Gli utenti Linux dovrebbero dunque abituarsi a controllare con cadenza regolare, anche solo una volta l'anno, che i loro strumenti e comandi da CLI preferiti e maggiormente utilizzati non siano stati deprecati dalla propria distribuzione di riferimento.
Inoltre sarebbe bene verificare anche che il relativo progetto software sia ancora attivo, magari visionando la pagina web presente sui vari servizi di code sharing come Github, e che il codice sorgente non sia afflitto da una vulnerabilità etichettata come CVE (Common Vulnerabilities and Exposures) di grave entità.
Si tratta di operazioni che è possibile svolgere semplicemente cercando sui principali motori di ricerca, dunque anche l'utente tecnicamente meno esperto può eseguire tali controlli in completa autonomia, senza particolari conoscenza informatiche o skill di programmazione.
I comandi da terminale Linux deprecati ed obsoleti
Nell'articolo di oggi vogliamo illustrarvi i comandi da shell più famosi ma ormai deprecati. Inoltre vi mostreremo brevemente anche il funzionamento delle principali alternative disponibili nei repository software delle distribuzioni Linux.
scp
Il primo comando ormai obsoleto di cui vogliamo parlavi è il noto scp, acronimo di secure copy ovvero "copia sicura".
Si tratta per la precisione di una command line utility che permette all'utente di eseguire una copia di un file, o di una intera directory, all'interno del disco fisso.
Tramite scp è anche possibile copiare un documento o una cartella dal proprio computer su di un PC remoto, funzionalità che risulta essere davvero comoda per eseguire il backup su di un NAS (Network Attached Storage) all'interno della propria rete locale oppure per condividere dei dati con un altro computer.
Proprio per tale motivazione scp è diventato estremamente popolare. Tuttavia questo tool fa affidamento su un protocollo che non viene più aggiornato e mantenuto da diversi decenni. Ecco perché gran parte delle distribuzioni hanno integrato un fork di scp che implementa un sistema più sicuro come SFTP (SSH File Transfer Protocol).
Tuttavia l'ideale sarebbe quello di affidarsi direttamente ad altri strumenti, come il già sopracitato SFTP oppure al più gettonato rsync.
Ecco un esempio concreto su come eseguire la copia di un file tramite rsync:
rsync nomefile.pdf /home/nomeutete/Documenti
oppure con SFTP:
sftp indirizzoIPdelPCremoto
get filesuldiscoremoto
egrep e fgrep
La funzione grep è molto nota e risulta essere particolarmente comoda per eseguire delle ricerche all'interno di file e directory.
Si tratta sostanzialmente di un filtro che permette di individuare la presenza di una parola o di una formula all'interno di un documento.
Nel dettaglio egrep veniva comunemente impiegato per eseguire una ricerca di funzioni regolari mentre invece fgrep eseguiva un'operazione similare ma includendo certe tipologie di caratteri particolari come il punto.
Diversi anni fa grep venne aggiornato dal suo team di sviluppatori in modo tale da includere tutta una serie di filtri ed opzioni. Tale update comportò anche la dimissione di egrep e fgrep che oggi sono stati sostituti dai comandi grep -F e grep -E.
Quindi volendo proporre un esempio concreto:
grep -E "test|1" test.pdf
oppure:
grep -F "." prova.pdf
netstat
Già da diverso tempo la storica suite software comunemente nota come net tool è stata completamente deprecata e sostituita da altri software o da funzionalità interne alle distribuzioni offerte dal gestore dei demoni systemd.
Il comando netstat, usato per ottenere le statiche delle connessioni di rete, è stato pensionato in favore di ss (socket statistics). Dunque per visualizzare lo status delle porte e delle connessioni di rete basta digitare:
ss
ifconfig
Un tempo se si desiderava cercare qualche indirizzo IP nella propria rete locale da una macchina Linux, o si desiderava capire quali fossero le interfacce di rete presenti nel sistema, si faceva affidamento al pratico ifconfig.
Tuttavia tale tool è ormai obsoleto e praticamente tutte le distribuzioni lo hanno rimosso optando per l'adozione di alternative altrettanto valide come il comodo comando ip:
ip link show
iwconfig
Prima che diventassero comuni le utility di rete sviluppate dai diversi ambienti grafici, gli utilizzatori delle distribuzioni si affidavano a iwconfig per eseguire una scansione delle reti WIFI. Tale strumento però è ormai stato "rottamato" in favore del più pratico e completo comando iw:
iw list
iptables
iptablets era conosciuto da tutti gli utenti Linux come il "firewall di default" delle distribuzioni. Consentiva appunto di impostare una serie di filtri e regole per lo scambio dei pacchetti e le connessioni di rete.
Oggi tale programma è stato sostituto da nftables che offre un'infrastruttura più modulare ed è dunque capace di adattarsi più facilmente ai nuovi standard di rete. Ecco ad esempio come listare il set di regole di rete impostate dall'utente:
nft list ruleset