GNU/Linux >> Znalost Linux >  >> Linux

Různé způsoby opakování vašeho posledního příkazu v Linuxu

Dnes vás naučím, jak zopakovat váš poslední příkaz v Linuxu. Nemusíte znovu zadávat dříve provedené příkazy ve vašem Shellu. Samozřejmě používáme šipku NAHORU vyberte poslední provedené příkazy a stiskněte ENTER pro jejich provedení. Existuje však také několik dalších způsobů, jak toho dosáhnout. V systémech podobných Unixu by mohlo být mnoho způsobů, jak zopakovat poslední příkazy, ale toto jsou jediné způsoby, o kterých nyní vím. Všechny tyto příkazy byly testovány na mém desktopu Arch Linux a Ubuntu s BASH shell.

Upozornění: Když vyzkoušíte následující metody, dříve provedené příkazy se spustí okamžitě. Jen se ujistěte, že váš poslední příkaz nebyl škodlivý jako je formátování oddílu nebo mazání souborů, složek nebo jiných důležitých dat.

Opakujte poslední příkaz v Linuxu

Spusťte několik příkazů.

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

Jak jsem již uvedl, poslední příkaz můžeme provést pouhým stisknutím UP šipku a stiskněte ENTER klíč. Toto je nejběžněji používaný způsob mnoha uživatelů k provedení předchozího příkazu. Tato metoda bude fungovat na všech SHELL, bez ohledu na distribuci Linuxu, kterou používáte.

Nicméně, jak jsem již řekl, existuje několik dalších metod, jak toho dosáhnout.

Nyní vám dovolte, abych vám ukázal, jak provést poslední příkaz, na několika praktických příkladech.

Metoda 1 – Použití vykřičníků

Chcete-li provést jakýkoli poslední provedený příkaz, zadejte dvojité vykřičníky a stiskněte ENTER:

$ !!

Tím se provede poslední příkaz. Ukázkový výstup by byl:

uname -r
5.3.0-40-generic

Přidejte sudo před !! pro provedení posledního příkazu jako root uživatel jako níže.

$ sudo !!

Následující příkaz můžete také použít k provedení předchozího příkazu jako sudo uživatel:

$ su -c "!!"

Ukázkový výstup:

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

Skvělé, že? Poslední příkaz nemusíte zadávat úplně. Může to být užitečné, když jste již provedli velmi dlouhý příkaz a nechcete znovu zadávat stejný příkaz.

Metoda 2 – Opakujte N-tý příkaz

Možná jste spustili tolik příkazů a chcete zopakovat konkrétní příkaz. Co budeš dělat? Jednoduchý! Můžete to udělat zadáním konkrétního slova předchozího příkazu.

Chcete-li zopakovat předchozí příkaz, který začíná konkrétním slovem/písmenem, například un , stačí napsat:

$ !un

Výše uvedený příkaz provede poslední příkaz, který začíná písmeny "un" .

Ukázkový výstup:

!un
uname -r
5.3.0-40-generic

Jak vidíte ve výše uvedeném příkladu, nemusíte zadávat celý příkaz (tj. uname -r ). Místo toho stačí napsat několik písmen příkazu a spustí se jakýkoli předchozí příkaz, který obsahuje slova.

Také, pokud znáte celý název příkazu, zadejte jej následovně:

$ !uname

Provede poslední příkaz.

Co když poslední příkaz nechcete opakovat, ale pouze jej zobrazit. Někdy nechcete spustit příkaz, ale pouze jej načíst z historie. Pokud ano, najděte předčíslí příkazu, který chcete spustit:

$ history | grep -i "source"

Ukázkový výstup:

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

Řekněme, že chcete načíst 1685. příkaz, ale nechcete jej spouštět okamžitě, přidejte :p vedle příkazu jako níže.

$ !1685:p

Zobrazí se 1685. příkaz z historie, ale neprovede se.

Metoda 3 – Použití zpětného vyhledávání

Dalším způsobem, jak toho dosáhnout, je prohledat historii příkazového řádku pomocí CTRL+R . Stiskněte CTRL+R pro prohledávání historie příkazového řádku. Osobně preferuji tuto metodu. Interaktivně prohledává historii, což je podle mě bezpečnější než slepé provádění příkazů z historie BASH.

Podívejte se na následující příklad. V následujícím příkladu jsem hledal "ost" , který zobrazil poslední příkaz “sudo netctl restart ostechnixjio” v historii, která obsahovala slovo "ost" . Poté jsem zmáčkl ENTER pro okamžité provedení příkazu nebo pravou šipkou příkaz dokončil a zmáčkl ENTER pro jeho provedení.

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

Pro případ, že byste chtěli upravit/upravit poslední příkaz před jeho provedením, stačí stisknout klávesu se šipkou doleva , poté upravte poslední příkaz a stisknutím klávesy ENTER jej spusťte. Některé příkazy mohou začínat stejnými písmeny. V takových případech pokračujte stisknutím kláves CTRL+R klávesou vrátíte příkaz, který jste chtěli spustit.

Metoda 4 – Použijte symbol pomlčky s čísly předpony příkazu

Zde je další způsob, jak spustit předchozí příkaz.

$ !-1

Ukázkový výstup:

uname -r
5.3.0-40-generic

Podobně !-2 spustí předposlední příkaz, !-3 spustí třetí poslední příkaz a tak dále.

Metoda 5 – pomocí CTRL+pa CTRL+o

Nechci zadávat žádný příkaz ručně. Existuje nějaký způsob, jak zopakovat poslední příkaz pouhým stisknutím konkrétní klávesy (kláves) na mé klávesnici? Ano, samozřejmě!

Stiskněte CTRL+P přepněte na poslední příkaz a poté stiskněte CTRL+O provést to. Tohle udělá zázrak. Není potřeba žádná konfigurace! Můžete použít CTRL+O tolikrát, kolikrát chcete, opakovat poslední příkazy.

Metoda 6 – Použití příkazu fc

Toto je další způsob, jak zopakovat poslední provedený příkaz. fc příkaz se používá k výpisu, úpravě a opětovnému spuštění dříve zadaného příkazu.

Chcete-li zopakovat poslední příkaz pomocí fc, jednoduše spusťte:

$ fc -s

Ukázkový výstup:

uname -r
5.3.0-40-generic

Doporučené čtení:

  • Výukový program příkazu fc s příklady pro začátečníky
  • Použijte značky na příkazy systému Linux, abyste je snadno získali z historie
  • Snadné vyvolání zapomenutých příkazů Linuxu pomocí Apropos
  • Pet – jednoduchý správce úryvků příkazového řádku
  • Jak ukládat příkazy a používat je na vyžádání
  • Uložte si příkazy Linuxu do záložek pro snadnější opakované vyvolání

Metoda 7 – Použití ALT+tečka

Jak řekl jeden z našich čtenářů v sekci komentářů, můžeme také použít ALT+. (stiskněte ALT+tečka) pro načtení posledního příkazu bez jeho spuštění. Existuje však jedno omezení. Stiskněte ALT+. načte pouze poslední argument v příkazu. Pokud je například váš předchozí příkaz "uname -r" , vrátí pouze -r argument, ale ne celý příkaz.

A to je vše. Nyní víte, jak zopakovat svůj poslední příkaz, aniž byste jej museli psát do terminálu. Pokud chcete zobrazit výstup vašich posledních příkazů, aniž byste je museli přepisovat, pomohou vám tyto metody.

Pokud znáte nějaké další metody, dejte mi prosím vědět v sekci komentářů níže. Příručku podle toho zkontroluji a aktualizuji.

Nyní jste věděli, jak zopakovat dříve provedený příkaz. Jak zopakujete linuxový příkaz nebo program, dokud neuspěje? No, to je snadné! Další podrobnosti naleznete v následující příručce.

  • Jak opakovat příkaz, dokud v Linuxu neuspěje

Doufám, že to pomůže.


Linux
  1. 2 způsoby, jak znovu spustit poslední provedené příkazy v Linuxu

  2. linux spustit příkaz vzdáleně

  3. Opakujte příkaz automaticky v Linuxu

  1. Jak spravovat historii příkazů Linuxu

  2. UNIX / Linux :Příklady příkazů historie bash pro opakování posledních příkazů

  3. Linuxový příkaz pro opakování řetězce nkrát

  1. 3 zajímavé způsoby použití linuxového příkazu cowsay

  2. 5 způsobů, jak rozdělit terminál Linux

  3. 5 způsobů, jak spouštět příkazy UNIX / Linux (a skripty Shell) na pozadí