Comando Bash fc: maneggia facilmente la shell Bash come un professionista
Hai mai eseguito un comando in Bash e 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, il comando Bash fc può aiutare a apportare modifiche rapide e rieseguire i comandi precedenti.
In questo articolo imparerai come sfruttare fc per modificare e rieseguire 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 intendi 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 sul comando fc di Bash
fc non è un'applicazione Linux ma un'utilità di shell incorporata in Bash. Bash è disponibile nella maggior parte delle principali distribuzioni Linux. Con pochi tasti, il comando Bash fc ti consente di elencare, modificare o eseguire comandi precedenti.
Il comando
fcè disponibile anche in Z Shell (ZSH). Ma l'esempio in questo articolo utilizzeràfcin Bash.
Hai eseguito un comando lungo che si è rivelato sbagliato? fc ti eviterà di dover 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!
Pronti a fare un giro con fc? Immergiamoci!
Elenco dei comandi precedenti
Ti sei allontanato dal 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. Affinché fc sia utile, deve avere una sorta di cronologia dei comandi con cui lavorare. Dato che hai appena aperto una nuova finestra di terminale, potrebbe non esserci ancora una cronologia dei comandi. Per creare una cronologia dei comandi a scopo di test, copia ciascun comando di seguito ed eseguilo nel tuo terminale. Questi comandi non sono invasivi e non mettono 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 aux3. Successivamente, elenca tutti i comandi nella cronologia eseguendo il comando seguente. L'opzione -l indica a fc di elencare solo tutti i comandi precedenti e di non eseguirli.
fc -lCome puoi vedere di seguito, il comando fc mostra tutti e quattro i comandi che hai eseguito in precedenza. I numeri a sinistra indicano l'ordine in cui hai eseguito 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 fallisce. Invece di riscrivere l'intero comando, perché non modificare il comando e rieseguirlo automaticamente? Per fare ciò, segui questi passaggi.
1. Simulare l'installazione di un'applicazione inesistente eseguendo il comando seguente nel terminale. Tieni presente che scriverai intenzionalmente in modo errato il nome dell'applicazione caffiene.
sudo apt install caffiene -y
Di conseguenza, il tentativo di installazione fallisce. Riceverai un messaggio simile a quello qui sotto.
2. Per correggere l'ultimo comando eseguito, esegui 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.
fcLo screenshot seguente mostra l'ultimo comando all'interno dell'editor nano.
Se nano non è il tuo editor di testo preferito, puoi indicare a
fcdi utilizzare un editor diverso, come vi. Per fare ciò, includi l'opzione-eseguita dal nome dell'editor di testo. Ad esempio,fc -e viaprirà la cronologia dei comandi nell'editor di testo vi.
3. Una volta entrato nell'editor di testo nano, correggi l'ortografia del nome dell'applicazione da caffiene a caffeine.
4. Dopo aver corretto il nome dell'applicazione, premi CTRL+X per uscire da nano.
5. Alla richiesta successiva che ti chiede Salvare buffer modificato?, premi Y —> Invio per salvare le modifiche.
Immediatamente dopo essere uscito dall'editor di testo, fc esegue automaticamente il comando che hai modificato.
Modifica e riesecuzione di un comando precedente
Con fc, non solo puoi modificare l'ultimo comando che hai eseguito, ma puoi modificare qualsiasi comando eseguito in precedenza. Ad esempio, per modificare il comando echo 'lavorare sulla riga di comando con fc', segui questi passaggi.
1. Elenca il comando precedente nel terminale eseguendo il comando seguente.
fc -l2. 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 voce 2, eseguire il comando seguente nel terminale. Il comando si aprirà nell'editor di testo per la modifica.
fc 24. Una volta nell'editor di testo, ora modifica il comando secondo necessità.
5. Dopo aver modificato il comando, premi CTRL+X per uscire da nano.
6. Alla richiesta successiva che ti chiede Salvare buffer modificato?, premi Y —> Invio 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 e riesecuzione di più comandi
Se pensi che fc possa modificare ed eseguire solo un comando precedente alla volta, allora sei pronto per una sorpresa. Perché? fc ti consente anche di modificare più comandi precedenti! In che modo è utile modificare più comandi precedenti? Per prima cosa, puoi modificare l'ordine di esecuzione dei comandi.
Supponiamo di voler modificare i numeri di comando precedenti da 2 a 7. Per fare ciò, procedere come segue.
1. Esegui il comando seguente nel terminale Bash e premi Invio. Il comando seguente si legge come fc , il che significa che fc aprirà i comandi da 2 a 7 per la modifica.
fc 2 72. Successivamente, modifica i comandi secondo necessità. Per questo esempio:
- Elimina il comando
sudo apt install caffiene -y. - Scambia l'ordine di
uname -aeps aux. - Elimina
cancella.
3. Dopo aver modificato i comandi, premi CTRL+X per uscire da nano.
4. Alla richiesta successiva che ti chiede Salvare buffer modificato?, premi Y —> Invio per salvare le modifiche.
I comandi che hai modificato verranno eseguiti automaticamente dopo essere usciti dall'editor di testo.
Rieseguire un comando precedente senza modificarlo
Supponiamo che tu debba solo eseguire un comando precedente senza prima modificarlo. fc ha un'opzione per questo. Seguire i passaggi seguenti per eseguire un comando precedente da una voce specificata nella cronologia.
- Elenca il comando precedente nel terminale eseguendo il comando seguente.
fc -l2. 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, esegui il comando seguente nella shell. L'opzione -s indica a fc di saltare la modifica e continuare a eseguire il comando numero 2.
fc -s 2Lo screenshot seguente mostra il comando numero 2 eseguito da fc dalla cronologia dei comandi.
Conclusione
Questo articolo si propone di stuzzicare il tuo interesse per un comando utile ma spesso mancato e dimenticato chiamato fc. Hai imparato come usare fc per evitare di riscrivere comandi eseguiti in precedenza, il che può essere una perdita di tempo.
Con la conoscenza che hai ora di fc, pensi che utilizzeresti qualcosa? Oppure preferiresti comunque riscrivere i comandi nella shell? Fai una scelta saggia!










