GNU/Linux >> Linux Esercitazione >  >> Linux

Diversi modi per ripetere il tuo ultimo comando in Linux

Oggi ti insegnerò come ripetere il tuo ultimo comando in Linux. Non è necessario digitare nuovamente i comandi eseguiti in precedenza nella Shell. Ovviamente utilizziamo la freccia SU tasto per selezionare gli ultimi comandi eseguiti e premere INVIO per eseguirli. Tuttavia, ci sono anche altri modi per farlo. Potrebbero esserci molti modi per ripetere gli ultimi comandi in sistemi simili a Unix, ma questi sono gli unici modi di cui sono a conoscenza ora. Tutti questi comandi sono stati testati sul mio desktop Arch Linux e Ubuntu con la shell BASH.

Un avvertimento: Quando si provano i seguenti metodi, i comandi eseguiti in precedenza verranno eseguiti immediatamente. Solo assicurati che il tuo ultimo comando non sia stato dannoso come formattare una partizione o eliminare file, cartelle o altri dati importanti.

Ripeti l'ultimo comando in Linux

Eseguiamo alcuni comandi.

$ ls -l
$ pwd
$ date
$ uname -r

Come accennato in precedenza, possiamo eseguire l'ultimo comando semplicemente premendo il tasto SU freccia e premi INVIO chiave. Questo è il modo più comunemente utilizzato da molti utenti per eseguire il comando precedente. Questo metodo funzionerà su tutte le SHELL, indipendentemente dalla distribuzione Linux che utilizzi.

Tuttavia, come ho già detto, ci sono alcuni altri metodi per farlo.

Ora lascia che ti mostri come eseguire l'ultimo comando con alcuni esempi pratici.

Metodo 1:utilizzo dei punti esclamativi

Per eseguire l'ultimo comando eseguito, digita i doppi punti esclamativi e premi INVIO:

$ !!

Questo eseguirà l'ultimo comando. L'output di esempio sarebbe:

uname -r
5.3.0-40-generic

Aggiungi sudo davanti a !! per eseguire l'ultimo comando come root utente come di seguito.

$ sudo !!

Puoi anche usare quanto segue per eseguire il comando precedente come sudo utente:

$ su -c "!!"

Risultato di esempio:

su -c "uname -r"
Password: 
5.3.0-40-generic

Fantastico, vero? Non è necessario digitare completamente l'ultimo comando. Potrebbe essere utile quando hai già eseguito un comando molto lungo e non vuoi riscrivere nuovamente lo stesso comando.

Metodo 2 - Ripetere il comando N-esimo

Potresti aver eseguito così tanti comandi e voler ripetere un comando specifico. Cosa farai? Semplice! Puoi farlo digitando una parola specifica del comando precedente.

Per ripetere il comando precedente che inizia con una parola/lettera specifica, ad esempio un , digita:

$ !un

Il comando precedente eseguirà l'ultimo comando che inizia con le lettere "un" .

Risultato di esempio:

!un
uname -r
5.3.0-40-generic

Come vedi nell'esempio sopra, non è necessario digitare l'intero comando (ad esempio uname -r ). Invece, digita solo alcune lettere del comando e verrà eseguito qualsiasi comando precedente che contiene parole.

Inoltre, se conosci il nome completo del comando, digitalo come di seguito:

$ !uname

Eseguirà l'ultimo comando.

Cosa succede se non si desidera ripetere l'ultimo comando, ma semplicemente visualizzarlo. A volte, non vuoi eseguire un comando, ma semplicemente recuperarlo dalla cronologia. In tal caso, trova il numero di prefisso del comando che desideri eseguire:

$ history | grep -i "source"

Risultato di esempio:

1664 source googler_at
1678 source googler_at 
1685 source ~/.bashrc
2037 history | grep -i "source"

Supponiamo che tu voglia recuperare il 1685esimo comando, ma non vuoi eseguirlo immediatamente, aggiungi :p accanto al comando come di seguito.

$ !1685:p

Questo visualizzerà il 1685° comando dalla cronologia, ma non lo eseguirà.

Metodo 3:utilizzo della ricerca inversa

Un altro modo per farlo è cercare nella cronologia della riga di comando utilizzando CTRL+R . Premi CTRL+R chiave per cercare nella cronologia della riga di comando. Personalmente preferisco questo metodo. Cerca la cronologia in modo interattivo, cosa che ritengo più sicura rispetto all'esecuzione cieca dei comandi dalla cronologia di BASH.

Dai un'occhiata al seguente esempio. Nell'esempio seguente, ho cercato "ost" , che mostrava l'ultimo comando “sudo netctl restart ostechnixjio” nella storia che conteneva la parola "ost" . Quindi, premo INVIO per eseguire immediatamente il comando o il tasto freccia destra completa il comando e premo il tasto INVIO per eseguirlo.

(reverse-i-search)`ost': sudo netctl restart ostechnixjio

Per ogni evenienza, desideri modificare/modificare l'ultimo comando prima di eseguirlo, premi semplicemente il tasto freccia sinistra , quindi modifica l'ultimo comando e premi INVIO per eseguirlo. Alcuni comandi possono iniziare con le stesse lettere. In questi casi, continua a premere CTRL+R chiave per ripristinare il comando che volevi eseguire.

Metodo 4:utilizzare il simbolo del trattino con i numeri di prefisso dei comandi

Ecco un altro modo per eseguire il comando precedente.

$ !-1

Risultato di esempio:

uname -r
5.3.0-40-generic

Allo stesso modo, !-2 eseguirà il penultimo comando, !-3 eseguirà il terzultimo comando e così via.

Metodo 5:utilizzo di CTRL+p e CTRL+o

Non voglio digitare alcun comando manualmente. C'è un modo per ripetere un ultimo comando semplicemente premendo uno o più tasti particolari nella mia tastiera? Sì, certo!

Premi CTRL+P per passare all'ultimo comando, quindi premere CTRL+O per eseguirlo. Questo farà la meraviglia. Nessuna configurazione necessaria! Puoi usare CTRL+O tutte le volte che vuoi continuare a rieseguire gli ultimi comandi.

Metodo 6 - Utilizzo del comando fc

Questo è un altro modo per ripetere l'ultimo comando eseguito. Il fc comando viene utilizzato per elencare, modificare ed eseguire nuovamente il comando immesso in precedenza.

Per ripetere l'ultimo comando usando fc, esegui semplicemente:

$ fc -s

Risultato di esempio:

uname -r
5.3.0-40-generic

Lettura consigliata:

  • Il tutorial sul comando fc con esempi per principianti
  • Applica tag ai comandi Linux per recuperarli facilmente dalla cronologia
  • Richiama facilmente i comandi Linux dimenticati usando Apropos
  • Animale domestico:un semplice gestore di frammenti da riga di comando
  • Come salvare i comandi e usarli su richiesta
  • Segnalibro dei comandi di Linux per invocazioni ripetute più facili

Metodo 7:utilizzo del tasto ALT+punto

Come ha detto uno dei nostri lettori nella sezione commenti, possiamo anche usare ALT+. tasti (premere ALT+punto) per recuperare l'ultimo comando senza eseguirlo. Tuttavia, c'è una limitazione. Premendo ALT+. recupererà solo l'ultimo argomento nel comando. Ad esempio, se il tuo comando precedente è "uname -r" , riporterà solo il -r argomento, ma non l'intero comando.

E questo è tutto. Ora sai come ripetere il tuo ultimo comando senza digitarlo nel Terminale. Se vuoi visualizzare l'output dei tuoi ultimi comandi senza doverli effettivamente riscrivere, questi metodi ti aiuteranno.

Se conosci altri metodi, faccelo sapere nella sezione commenti qui sotto. Controllerò e aggiornerò la guida di conseguenza.

Ora sapevi come ripetere un comando eseguito in precedenza. Come si ripete un comando o un programma Linux finché non riesce? Bene, è facile! Fare riferimento alla seguente guida per maggiori dettagli.

  • Come ripetere un comando finché non riesce in Linux

Spero che questo aiuti.


Linux
  1. 2 modi per rieseguire gli ultimi comandi eseguiti in Linux

  2. Come gestire la cronologia dei comandi di Linux

  3. 5 modi per eseguire comandi UNIX/Linux (e script della shell) in background

  4. UNIX / Linux:esempi di comando bash history per ripetere gli ultimi comandi

  5. linux esegue il comando da remoto

5 modi rapidi per uccidere un processo in Linux

Semplici modi per riavviare Ubuntu Linux

Diversi modi per spegnere Ubuntu Linux usando la riga di comando

8 modi diversi per conoscere la versione del sistema operativo Linux

Nozioni di base su Linux:3 modi per trovare il tuo indirizzo IP locale in Debian 11

ultimi esempi di comandi in Linux