Digitare i comandi in una finestra di terminale oscurata può sembrare antiquato per alcuni, ma per molti utenti di computer è il modo più efficiente, più accessibile e più chiaro per eseguire quasi tutte le attività che un computer è in grado di eseguire. Oggigiorno, grazie a tutti i progetti che portano comandi open source su piattaforme non aperte come macOS e Windows, i comandi da terminale sono importanti per tutti, non solo per gli utenti Linux e BSD. Potrebbe sorprenderti apprendere che ci sono migliaia di comandi installati su un computer POSIX medio, ma ovviamente molti di questi non sono pensati per essere usati, almeno non direttamente o regolarmente. Alcuni comandi sono universalmente più utili di altri e ancora meno sono assolutamente essenziali per un uso efficace del terminale.
Ecco i primi 20 comandi che un utente di terminale potrebbe ritrovarsi a utilizzare:
cd
Più risorse Linux
- Comandi Linux cheat sheet
- Cheat sheet sui comandi avanzati di Linux
- Corso online gratuito:Panoramica tecnica RHEL
- Cheat sheet della rete Linux
- Cheat sheet di SELinux
- Cheat sheet dei comandi comuni di Linux
- Cosa sono i container Linux?
- I nostri ultimi articoli su Linux
Al di fuori di un terminale, fai clic sulle icone per spostarti da una cartella all'altra, ma nel terminale usi cd
. Il cd
comando, che sta per cambia directory , è il modo in cui ti muovi attraverso un sistema Linux. È il percorso più veloce e diretto da un luogo all'altro.
Ad esempio, sul desktop, quando vuoi spostarti dalla tua home directory (la posizione in cui tieni tutte le tue cartelle) a una cartella chiamata presentations
, quindi potresti dover prima aprire i tuoi Documents
cartella, quindi apri una cartella chiamata work
, quindi un projects
cartella, quindi la conference
cartella, e infine le presentations
cartella, che contiene la tua entusiasmante presentazione di LibreOffice Impress. Questo è un sacco di doppio clic. Potrebbe anche essere necessario spostarsi molto sullo schermo, a seconda di dove vengono visualizzate le nuove finestre e molti waypoint che il tuo cervello deve tracciare. Molte persone aggirano questo compito apparentemente minore mantenendo tutto sul loro desktop.
Gli utenti del terminale evitano questo problema semplicemente digitando:
$ cd ~/Documents/work/projects/conference/presentations
Gli utenti di terminali esperti non si preoccupano nemmeno di digitare tutto questo. Usano la scheda chiave per completare automaticamente le parole per loro. E a volte, non devi nemmeno ricorrere al completamento automatico. Puoi invece utilizzare i caratteri jolly:
$ cd ~/Doc*/work/*/conf*/p*
pwd
Nelle parole di Buckaroo Banzai:"Non importa dove vai, eccoti lì".
Quando devi capire dove si trova esattamente, usa il pwd
comando. Il pwd
sta per stampa directory di lavoro, ed è esattamente quello che fa. Il --physical
(o semplicemente -P
in alcune implementazioni) mostra la tua posizione con tutti i collegamenti simbolici risolti.
$ pwd
/home/tux/presentation
$ pwd --physical
/home/tux/Documents/work/projects/conference/presentations
sed
Meglio conosciuto come sed
, l'editor di stream è un potente strumento per trovare e sostituire in blocco comando, ma è anche un legittimo editor di testo. Puoi imparare a usarlo leggendo il mio articolo introduttivo e poi diventare un esperto con il mio tutorial avanzato e il mio cheat sheet.
grep
Il grep
Il comando è così onnipresente che è spesso usato come verbo ("I'll grep through some files") e un gerundio ("grepping some output"). È un componente chiave durante l'analisi del testo nella shell, sia che tu stia esaminando i file di registro o analizzando l'output di qualche altro comando. È un modo per l'utente impegnato di concentrarsi su informazioni specifiche. Data la quantità di dati disponibili nel mondo informatico, non c'è da stupirsi che sia un comando popolare. Vai a grok grep leggendo il mio articolo introduttivo, quindi scarica il cheat sheet.
file
Usa il file
comando quando hai bisogno di sapere che tipo di dati contiene un file:
$ file example.foo
example.foo: RIFF (little-endian) data, Web/P image [...]
$ file example.bar
example.bar: ELF 64-bit LSB executable, x86-64 [...]
Il file
il comando non è magico, ovviamente. Riporta solo in base al modo in cui un file si identifica e i file possono essere errati, danneggiati o mascherati. Un'ispezione rigorosa con hexdump
fornisce più certezza, ma per un uso occasionale, il file
il comando è conveniente.
ok
Awk non è solo un comando; è un linguaggio di programmazione letterale. Scarica il nostro ebook Awk gratuito, imparalo e scriverai script che non avresti mai pensato possibili.
arricciatura
Il curl
command è un browser web non interattivo per il tuo terminale. È uno strumento di sviluppo per sviluppatori Web e API. È un comando complesso per la sua flessibilità, ma vale la pena imparare se vuoi interagire senza problemi con i servizi di rete dal tuo terminale.
Scarica il nostro curl
gratuito cheat sheet, così puoi interiorizzare le sue numerose opzioni.
ps
La gestione delle risorse del tuo sistema dipende principalmente dal kernel, ma quando preferisci o richiedi un approccio manuale, c'è il ps
comando. Ulteriori informazioni su ps
nel mio monitor il tuo sistema Linux con l'articolo procps-ng.
gatto
Il cat
comando è l'abbreviazione di concatena , ed è stato molto utile una volta per unire file che erano stati divisi (con un comando chiamato intuitivamente split
) in diversi file di piccole dimensioni a causa dei limiti di dimensione. Oggi, cat
è usato principalmente come un modo per scaricare il contenuto di un file di testo nel tuo terminale per un rapido riferimento, a meno che tu non usi head
, tail
, more
o less
per quello.
Nonostante il suo scopo originale quasi deprecato, e nonostante ciò molti altri comandi svolgono anche la sua funzione secondaria, cat
è ancora un'utilità utile. Ad esempio, può essere un sostituto per la copia (cp
) comando:
$ cat myfile.ogg > /backups/myfile.ogg
Può rivelare caratteri invisibili scomodi nei file. La scheda il carattere, che interrompe YAML, viene visualizzato come ^I
con il --show-tabs
opzione:
$ cat --show-tabs my.yaml
---
- hosts: all
tasks:
- name: Make sure the current version of 'sysstat' is installed.
dnf:
name:
^I- sysstat
^I- httpd
^I- mariadb-server
state: latest
Può mostrare caratteri non stampabili con --show-nonprinting
, segna le estremità delle righe con --show-ends
, fornisci i numeri di riga con --number
e altro ancora.
trova
Il find
command ti aiuta a trovare i file, ma grazie alle sue numerose opzioni, può aiutarti a trovare i file con una varietà di filtri e parametri. Impara le basi dal mio articolo introduttivo.
E nel caso ti stia chiedendo perché il comando più fondamentale di tutti, l'umile ls
comando, non è in questo elenco, è a causa della flessibilità di find
. Non solo è possibile trovare file di elenco:
$ find .
./bar.txt
./baz.xml
./foo.txt
[...]
Può anche fornire elenchi lunghi:
$ find . -ls
3014803 464 -rw-rw-r-- 1 tux users 473385 Jul 26 07:25 ./foo.txt
3014837 900 -rwxrwxr-x 1 tux users 918217 Nov 6 2019 ./baz.xml
3026891 452 -rw-rw-r-- 1 tux users 461354 Aug 10 13:41 ./foo.txt
[...]
È un tecnicismo, ma un bel trucco da sapere.
catra
La gente a volte scherza sui comandi di Linux citando tar
di BSD sintassi. Nonostante la sua reputazione, il tar
il comando può effettivamente essere molto intuitivo. Leggi il mio articolo su come decomprimere un file tar.gz per imparare il semplice segreto per snocciolare un tar
comando su richiesta.
più o meno o più
I cercapersone sono come cat
, tranne per il fatto che mettono in pausa il loro output nella parte inferiore dello schermo finché non scorri verso il basso per ulteriori informazioni. È un'applicazione semplice, ma ogni implementazione presenta sfumature. Scorri con i tasti freccia o la barra spaziatrice? Devi uscire manualmente o il cercapersone esce alla fine del file che sta visualizzando? Qual è il tuo comportamento di ricerca preferito? Scegli il tuo pager preferito e impostalo nel tuo .bashrc
!
ssh e scp
OpenSSH non solo aiuta a proteggere le connessioni ai sistemi remoti, ma abilita anche altri comandi. Ad esempio, per molti utenti è il loro .ssh
directory che consente loro di interagire senza problemi con i repository Git, pubblicare aggiornamenti su un sito Web o accedere al piano di controllo del proprio cloud.
mv
Il mv
comando fa doppio lavoro:sposta i file e rinomina i file. Ha diverse protezioni disponibili, tra cui --interactive
e --no-clobber
opzioni per evitare di danneggiare un file esistente, un --backup
comando per garantire la conservazione dei dati fino a quando non vengono verificati nella nuova posizione e il --update
opzione per garantire che una versione precedente non sostituisca un file più recente.
sudo
Quando hai un singolo utente con un nome utente noto e tutti i privilegi su un sistema, quell'utente diventa rapidamente il bersaglio di attacchi. Eliminando la necessità di una root
letterale utente, il sudo
comando rimuove elegantemente informazioni importanti sul tuo sistema dalla conoscenza generale. Non è tutto ciò che fa, però. Con sudo
, puoi gestire facilmente i privilegi fino a singoli comandi, utenti e gruppi. Puoi abilitare l'esecuzione senza password di comandi selezionati, registrare sessioni utente, verificare i comandi con la convalida del digest e altro ancora.
alias
Trasforma i comandi lunghi in scorciatoie facili da ricordare utilizzando l'alias
comando:
$ alias ls='ls --classify --almost-all --ignore-backups --color'
cancella
A volte il tuo terminale è ingombra. Non c'è niente come uno schermo bello e fresco dopo aver digitato clear
(o premendo Ctrl+L in alcune conchiglie).
configurazione
Tradizionalmente, i permessi dei file POSIX erano determinati da chown
e chmod
. Tuttavia, i sistemi sono diventati più complessi, quindi c'è un comando per fornire un po' più di flessibilità. Il setfacl
Il comando consente di creare un elenco di controllo di accesso (ACL), concedendo autorizzazioni a utenti arbitrari e impostando autorizzazioni predefinite per le cartelle e i contenuti creati al loro interno.
netcat
Non tutti gli utenti hanno bisogno di netcat (nc
), ma pochi che lo usano vogliono rinunciarvi. Il nc
command è uno strumento di connessione di rete per tutti gli usi.
Può connettersi a una porta, simile a telnet
:
$ nc -u 192.168.0.12 80
Può eseguire il ping di una porta, in modo simile a ping
:
$ nc -zvn 192.168.0.12 25
Può cercare porte aperte, in modo simile a nmap
:
$ nc -zv 192.168.0.12 25-80
E questo è solo un piccolo esempio.
tu
Il terminale Linux riguarda, in parte, la risoluzione creativa dei problemi. Quando impari i comandi, impari anche gli elementi costitutivi che puoi utilizzare per creare i tuoi comandi. Molti dei comandi nella cronologia della mia shell sono script di shell che ho scritto io stesso. Il risultato è che il mio flusso di lavoro è personalizzato in base a come voglio lavorare. I comandi essenziali nella tua shell possono anche essere quelli che progetti per la tua efficacia e comfort. Dedica un po' di tempo a conoscere alcuni ottimi comandi e poi creane uno tuo. E quando trovi qualcosa di veramente buono, rendilo open source in modo da poter condividere le tue idee con gli altri!