Come eseguire due o più comandi di terminale contemporaneamente su Linux
Se usi Linux, sai quanto può essere utile la riga di comando per lavorare con i file, installare software e lanciare programmi. Ma può essere ancora più efficiente se si eseguono più comandi contemporaneamente.
La combinazione di due o più comandi sulla riga di comando è anche nota come "concatenamento di comandi". Ti mostreremo diversi modi per combinare i comandi sulla riga di comando.
Opzione uno: l'operatore punto e virgola (;)
L'operatore punto e virgola (;) consente di eseguire più comandi in successione, indipendentemente dal fatto che ciascun comando precedente abbia esito positivo. Ad esempio, apri una finestra Terminale (Ctrl + Alt + T in Ubuntu e Linux Mint). Quindi, digita i seguenti tre comandi su una riga, separati da punto e virgola, quindi premi Invio. Questo ti darà un elenco della directory corrente ( ls
), trova la directory in cui ti trovi attualmente ( pwd
) e visualizza il nome di accesso ( chi sono
) tutto in una volta.
ls; pwd; chi sono
Non è necessario inserire spazi tra il punto e virgola e i comandi. È possibile inserire i tre comandi come ls e pwd; whoami
. Tuttavia, gli spazi rendono il comando combinato più leggibile, il che è particolarmente utile se si inserisce un comando combinato in uno script di shell.
Opzione due: l'operatore logico AND (&&)
Se si desidera eseguire il secondo comando solo se il primo comando ha esito positivo, separare i comandi con l'operatore AND logico, che è due e commerciale ( &&
). Ad esempio, vogliamo creare una directory denominata MyFolder e quindi passare a quella directory, a condizione che sia stata creata correttamente. Quindi, digitiamo quanto segue sulla riga di comando e premiamo Invio.
mkdir MyFolder && cd MyFolder
La cartella è stata creata correttamente, quindi CD
il comando è stato eseguito e ora ci troviamo nella nuova cartella.
Si consiglia di utilizzare l'operatore AND logico piuttosto che l'operatore punto e virgola la maggior parte del tempo (;
). Questo assicura che tu non faccia nulla di disastroso. Ad esempio, se si esegue un comando per passare a una directory e quindi forzare a rimuovere tutto in quella directory in modo ricorsivo ( cd / some_directory; rm -Rf *
), potresti finire per rovinare il tuo sistema se la modifica della directory non è avvenuta. Non che ti consigliamo di eseguire un comando per rimuovere incondizionatamente tutti i file in una directory contemporaneamente.
Opzione tre: l'operatore logico OR (||)
A volte potresti voler eseguire un secondo comando solo se il primo comando lo esegue non avere successo. Per fare ciò, usiamo l'operatore logico OR, o due barre verticali ( ||
). Ad esempio, vogliamo verificare se esiste la directory MyFolder ( [-d ~ / MyFolder]
) e crealo se non lo fa ( mkdir ~ / MyFolder
). Quindi, digitiamo il comando seguente al prompt e premiamo Invio.
[-d ~ / MyFolder] || mkdir ~ / MyFolder
Assicurati che ci sia uno spazio dopo la prima parentesi e prima della seconda parentesi o il primo comando che controlla se la directory esistente non funziona.
Nel nostro esempio, la cartella MyFolder non esiste, quindi il secondo comando crea la directory.
Combinare più operatori
Puoi anche combinare più operatori sulla riga di comando. Ad esempio, vogliamo prima controllare se esiste un file ( [-f ~ / sample.txt]
). Se lo fa, stampiamo un messaggio sullo schermo dicendo così ( echo "File esiste."
). In caso contrario, creiamo il file ( tocca ~ / sample.txt
). Quindi, digitiamo quanto segue al prompt dei comandi e premiamo Invio.
[-f ~ / sample.txt] && echo "Il file esiste." || tocca ~ / sample.txt
Nel nostro esempio, il file non esisteva, quindi è stato creato.
Ecco un utile sommario di ciascuno degli operatori utilizzati per combinare i comandi:
-
A; B
- Esegui A e poi B, indipendentemente dal successo o fallimento di A -
A && B
- Esegui B solo se A riuscito -
A || B
- Esegui B solo se A fallito
Tutti questi metodi di combinazione dei comandi possono essere utilizzati anche negli script di shell su Linux e Windows 10.
Puoi anche correggere automaticamente errori di ortografia e di battitura quando usi "cd" sulla riga di comando in Linux per evitare conseguenze drastiche quando combini i comandi.