GNU/Linux >> Linux Esercitazione >  >> Linux

Comando Bash fc:utilizza facilmente Bash Shell come un professionista

Hai mai eseguito un comando in Bash e hai ricevuto un errore a causa di una parola errata? O forse hai dimenticato gli ultimi tre comandi che hai eseguito? Invece di riscrivere o ricordare i comandi precedenti, Bash fc comando può aiutare a apportare modifiche rapide e rieseguire i comandi precedenti.

In questo articolo imparerai come sfruttare fc per modificare ed eseguire nuovamente i comandi dalla cronologia dei comandi. Dopo aver letto questa guida, utilizzerai fc come il guerriero della riga di comando che vuoi essere!

Prerequisiti

Questo articolo sarà un tutorial. Se prevedi di seguire passo dopo passo, è necessario un computer Linux o un computer Windows 10 con il sottosistema Windows per Linux (WSL) abilitato. Questo tutorial utilizzerà Ubuntu 20.04 LTS.

Informazioni su Bash fc Comando

fc non è un'applicazione Linux ma un'utilità di shell integrata in Bash. Bash è disponibile nella maggior parte delle principali distribuzioni Linux. Con pochi tasti, Bash fc comando ti consente di elencare, modificare o eseguire comandi precedenti.

Il fc il comando è disponibile anche in Z Shell (ZSH). Ma l'esempio in questo articolo utilizzerà fc in Bash.

Hai eseguito un comando lungo che si è rivelato sbagliato? fc ti salverà dal riscrivere l'intero comando. Invece, fc ti consente di modificare il comando utilizzando l'editor di testo di tua scelta. Dopo aver salvato le modifiche, i comandi modificati verranno eseguiti automaticamente!

Pronto a prendere fc per un giro? Immergiamoci!

Elenco dei comandi precedenti

Ti sei allontanato dal tuo computer, sei tornato e hai dimenticato quale comando hai eseguito per ultimo? O forse non ricordi se hai eseguito più comandi nella giusta sequenza. cosa fai? Rilassati, fc ti aiuterà a ricordare. Ecco come.

1. Apri un terminale Bash sul tuo computer.

2. Per fc per essere utile, deve avere una sorta di cronologia dei comandi con cui lavorare. Poiché hai appena aperto una nuova finestra del terminale, potrebbe non esserci ancora una cronologia dei comandi. Per creare una cronologia dei comandi per il test, copia ogni comando di seguito ed eseguilo nel tuo terminale. Questi comandi non sono intrusivi e non stai mettendo in pericolo il tuo computer.

# Clear the screen
 clear
 
# print a string to the terminal session
 echo 'working on the command line with fc'
 
# show some system information
 uname -a
 
# use PS command to get process information
 ps aux

3. Quindi, elenca tutti i comandi nella cronologia eseguendo il comando seguente. Il -l l'opzione indica fc per elencare solo tutti i comandi precedenti e non eseguirli.

fc -l

Come puoi vedere di seguito, il fc comando ha visualizzato tutti e quattro i comandi precedentemente immessi. I numeri a sinistra indicano l'ordine di esecuzione di ciascun comando.

Modifica e riesecuzione dell'ultimo comando

Immagina una situazione in cui stai installando un'applicazione e hai commesso un errore di ortografia. Di conseguenza, il comando non riesce. Invece di riscrivere l'intero comando, perché non modificare il comando e rieseguirlo automaticamente? Per farlo, segui questi passaggi.

1. Simula l'installazione di un'applicazione non esistente eseguendo il comando seguente nel tuo terminale. Nota che sbaglierai intenzionalmente il nome dell'applicazione caffiene .

sudo apt install caffiene -y

Di conseguenza, il tentativo di installazione non riesce. Riceverai un messaggio simile a quello qui sotto.

2. Per correggere l'ultimo comando eseguito, eseguire il comando seguente nel terminale. In questo modo si aprirà il buffer della cronologia dei comandi nell'editor di testo predefinito. In questo esempio, l'editor di testo predefinito è nano.

fc

Lo screenshot seguente mostra l'ultimo comando all'interno dell'editor nano.

Se nano non è il tuo editor di testo preferito, puoi istruire fc per usare un editor diverso, come vi. Per farlo, includi il -e opzione seguita dal nome dell'editor di testo. Ad esempio, fc -e vi aprirà la cronologia dei comandi nell'editor di testo vi.

3. Una volta che sei nell'editor di testo nano, correggi l'ortografia del nome dell'applicazione da caffiene a caffeine .

4. Dopo aver corretto il nome dell'applicazione, premere CTRL+X per uscire da nano.

5. Alla richiesta successiva ti viene chiesto di Salvare il buffer modificato? , premi Y —> Enter per salvare le modifiche.

Immediatamente dopo essere usciti dall'editor di testo, fc esegue automaticamente il comando che hai modificato.

Modifica ed esecuzione di un comando precedente

Con fc , non solo puoi modificare l'ultimo comando che hai eseguito, ma puoi anche modificare qualsiasi comando precedente che hai eseguito. Ad esempio, per modificare il comando echo 'working on the command line with fc' , segui questi passaggi.

1. Elenca il comando precedente nel terminale eseguendo il comando seguente.

fc -l

2. Trova il comando che desideri modificare dall'elenco della cronologia dei comandi e prendi nota del numero alla sua sinistra. In questo esempio, il numero del comando è 2.

3. Per modificare il comando con il numero di immissione 2, eseguire il comando seguente nel terminale. Il comando si aprirà nell'editor di testo per la modifica.

fc 2

4. Una volta nell'editor di testo, ora modifica il comando secondo necessità.

5. Dopo aver modificato il comando, premere CTRL+X per uscire da nano.

6. Al prompt successivo ti viene chiesto di Salvare il buffer modificato? , premi Y —> Enter per salvare le modifiche.

Dopo aver salvato il comando ed essere usciti dall'editor di testo, il comando che hai modificato viene eseguito automaticamente nella shell.

Modifica ed esecuzione di più comandi

Se pensi a fc puoi modificare ed eseguire solo un comando precedente alla volta, quindi sei pronto per una sorpresa. Come mai? fc ti consente di modificare anche più comandi precedenti! In che modo è utile modificare più comandi precedenti? Per uno, puoi cambiare l'ordine di esecuzione dei comandi.

Si supponga di voler modificare il comando precedente dai numeri da 2 a 7. Per farlo, procedere come segue.

1. Esegui il comando seguente nel tuo terminale Bash e premi Invio . Il comando seguente si legge come fc 2 7 , il che significa che fc aprirà i comandi da 2 a 7 per la modifica.

fc 2 7

2. Quindi, modificare i comandi secondo necessità. Per questo esempio:

  • Elimina il sudo apt install caffiene -y comando.
  • Scambia l'ordine di uname -a e ps aux .
  • Elimina clear .

3. Dopo aver modificato i comandi, premere CTRL+X per uscire da nano.

4. Alla richiesta successiva ti viene chiesto di Salvare il buffer modificato? , premi Y —> Enter per salvare le modifiche.

I comandi che hai modificato verranno eseguiti automaticamente dopo l'uscita dall'editor di testo.

Rieseguire un comando precedente senza modificare

Supponiamo che tu debba solo eseguire un comando precedente senza prima modificarlo. fc ha un'opzione per questo. Segui i passaggi seguenti per eseguire un comando precedente da una voce specificata nella cronologia.

  1. Elenca il comando precedente nel terminale eseguendo il comando seguente.
fc -l

2. Dall'elenco della cronologia dei comandi, trova il comando che desideri eseguire di nuovo e prendi nota del numero alla sua sinistra. In questo esempio, il numero del comando è 2.

3. Per eseguire il comando precedente specifico, eseguire il comando seguente nella shell. Il -s l'opzione indica fc per saltare la modifica e continuare ad eseguire il comando numero 2.

fc -s 2

Lo screenshot seguente mostra il comando numero 2 eseguito da fc dalla cronologia dei comandi.

Conclusione

Questo articolo si proponeva di suscitare il tuo interesse per un comando utile ma spesso perso e dimenticato chiamato fc . Hai imparato a usare fc per evitare di riscrivere i comandi precedentemente eseguiti, il che può essere una perdita di tempo.

Con la conoscenza che ora hai di fc , è qualcosa che pensi di utilizzare? O preferirai invece riscrivere i comandi nella shell? Fai una scelta saggia!


Linux
  1. Come assegnare l'output di un comando a una variabile di shell?

  2. Navigazione rapida delle directory in Bash Shell?

  3. Il punto del comando esterno `cd`?

  4. Il comando "eval" in Bash?

  5. Capire il punto esclamativo (!) In Bash?

Come utilizzare il comando di lettura Bash

Alias ​​della riga di comando nella shell di Linux

L'elenco delle scorciatoie da tastiera utili di Bash

Personalizzazione della shell Bash

Come utilizzare il comando Declare in Linux Bash Shell

5 suggerimenti per utilizzare il comando SS di Linux come un professionista