Quindi hai effettuato l'accesso al terminale Linux e stai fissando un prompt dei comandi. E adesso? La prima volta che mi è stata presentata una shell dei comandi, mi sono sentito un po' a mio agio perché avevo una vasta esperienza con il DOS di Microsoft.
Oggi però, a meno che tu non sia un mago di PowerShell o provenga da macOS e abbia già familiarità con il suo terminale, il prompt di Linux sembrerà piuttosto estraneo. Il prompt è un'interfaccia per Bash (Bourne Again SHell). Le funzionalità di Bash ti aiutano un po' e utilizzarle non è poi così difficile.
Cos'è Bash?
Non ti darò una cronologia di Bash (se sei interessato, puoi ottenerla dall'episodio di Bash di Command Line Heroes). La cosa principale che devi sapere è che Bash è l'interprete della riga di comando sulla maggior parte delle moderne macchine Linux. Hai altre opzioni, ma su Red Hat Enterprise Linux (RHEL), Bash è l'impostazione predefinita. Alcune fantastiche interfacce utente grafiche (GUI), interfacce utente tangibili (TUI) e interfacce di console Web ti permetteranno di gestire il tuo server RHEL, ma niente è paragonabile al livello di controllo e libertà che ottieni dalla riga di comando.
Bash è in grado di fare molto di più che impartire comandi e lanciare altri programmi. Ha un linguaggio di scripting piuttosto esteso ad esso associato chiamato, beh, Bash. Tuttavia, anche lo scripting va oltre lo scopo di questo articolo; sappi solo che esiste. Ecco alcuni suggerimenti per familiarizzare con Bash.
[ Vuoi saperne di più sugli script? Scarica il foglio cheat per gli script della shell di Bash. ]
Capire la richiesta
[tux@rhel8 ~]$
Inizierò con il prompt stesso. Per impostazione predefinita, il prompt dei comandi potrebbe sembrare strano o confuso, ma in realtà include alcune informazioni piuttosto utili. Analizzerò il prompt sopra, che contiene quattro valori molto importanti:
tux
è il nome utente corrente.@rhel8
è il nome host del sistema.~
indica la directory corrente.~
è un'abbreviazione per la tua home directory. Se fossi in/etc
, direbbeetc
; se eri in/usr/src/
, direbbesrc
.$
indica se sei privilegiato.$
indica un utente standard e#
indica un superutente privilegiato (chiamato anche root ).
Poiché il prompt è altamente personalizzabile, utilizzerò il prompt comune più semplice per il resto di questo articolo:un singolo $
carattere. Non digitare il $
prompt quando si immettono i comandi. Il suo scopo, sia nel tuo terminale che in questo articolo, è aiutarti a tenere traccia dei comandi che stai inserendo e dell'output che il tuo computer ti sta fornendo.
Cambia directory
Se sei cresciuto quando l'ho fatto io, avevi una collezione di CD. Se non l'hai fatto, probabilmente sai almeno cosa sono i CD (compact disc). In Linux, il cd
il comando non ha nulla a che fare con la musica. Invece, cd
significa cambia directory in Bash. Si passa a una nuova directory immettendo cd /path/to/new/directory
. Ma ci sono anche alcune scorciatoie da sapere.
.
è la directory corrente (raramentecd
a.
ma è molto utile per altre cose)...
è la directory sopra la directory di lavoro corrente.-
è l'ultima directory in cui ti trovavi.~
è la tua home directory./
è la radice del filesystem, o il delimitatore tra le directory in un percorso completo.
Il comando pwd
(che sta per "presente directory di lavoro") ti dice il percorso assoluto della directory di lavoro corrente. Provalo ed esercitati con cd
per navigare alle directory sopra elencate utilizzando gli esempi seguenti.
$ pwd
/home/tux
Il mio nome utente è tux
, quindi il pwd
l'output mi dice che sono nella mia home directory. Nel tuo terminale vedrai il tuo nome utente.
Ecco una sessione di esempio con alcuni cd
e pwd
comandi (ho creato alcune directory e sottodirectory di prova per dimostrare, quindi quelle cartelle non esistono sul tuo computer):
$ cd test1/
$ cd testsub1/
$ pwd
/home/tux/test1/testsub1
$ cd ..
$ cd /etc/
$ cd ~/test2/
$ pwd
/home/tux/test2
$ cd -
/etc
$ pwd
/etc
$ cd ~
$ pwd
/home/tux
$
Usa il completamento automatico dei comandi
Il completamento automatico è uno strumento di cui abuso di tutto. Ti fa risparmiare un sacco di tempo se conosci le prime lettere di un comando. Lo usi inserendo alcuni caratteri e quindi premendo il Tab chiave. Bash quindi digita il resto del comando per te. Premendo Tab una volta completato il comando se esiste un solo comando che corrisponde alle lettere immesse. Premendo Tab visualizza due volte tutte le possibilità corrispondenti. Ecco un esempio:
$ rsyn<tab>
$ rsync
$ rsy<tab><tab>
rsync rsyslogd rsyslog-recover-qi.pl
[ Scarica il cheat sheet di Bash per diventare più efficiente dalla riga di comando. ]
Alcuni comandi hanno anche il completamento automatico integrato per le opzioni della riga di comando.
Il completamento automatico ti avviserà anche se ci sono molti risultati.
$ l<tab><tab>
Display all 128 possibilities? (y or n)n
Ulteriori informazioni
Spero che queste spiegazioni abbiano aiutato la tua comprensione del prompt dei comandi di Bash. C'è molto altro che puoi imparare ed esplorare, ma queste sono le basi e spero che questo articolo allevi un po' l'ansia associata a quel cursore lampeggiante.