GNU/Linux >> Znalost Linux >  >> Linux

Oblíbený hack příkazového řádku systémového správce v historii Linuxu

Stejně jako mnoho lidí pracujících s linuxovými stroji preferuji používání rozhraní příkazového řádku, když je to možné a když to dává smysl. V některých případech je snazší najít, zkontrolovat a upravit některé konfigurace pomocí prstů, protože prostě „znají“ příkazy, které potřebujete napsat, a je to rychlejší než otevřít GUI a hledat sekvenci nabídek, které potřebujete klikněte.

Jistě, jsou některé případy, kdy je používání GUI rychlejší a tento úkol děláte jen jednou nebo dvakrát, takže koho to zajímá, že? Ale pokud je to něco, co budete muset udělat vícekrát, možná s určitými obměnami, váš mozek systémového administrátora přemýšlí:"Můžu to zautomatizovat?" V mnoha případech bude odpověď ano, ale snaha o automatizaci úkolu se v jiných situacích nevyplatí.

[ Také by se vám mohlo líbit: Linuxový terminálový trik:Hackněte příkaz cd, abyste si zapamatovali, kde jste byli]

Kdybych mohl znovu použít poslední příkazy, které jsem napsal.

Historie

Nejjednodušší možností, pokud jde o obnovení posledních příkazů, které jste zadali v konzole Linuxu, je použít history . V tomto příkladu pracujete se serverem HTTP a opakovaně zastavujete službu a upravujete soubor httpd.conf a poté restartujte httpd pro kontrolu výsledků v prohlížeči.

Následující příkaz vám zobrazí posledních 10 použitých příkazů:

❯ history | tail -10
10057  systemctl stopt httpd.service
10058  systemctl stop httpd.service
10059  sudo systemctl stop httpd.service
10060  sudo systemctl start httpd.service
10061  systemctl status httpd.service
10062  history
10063  systemctl status httpd.service
10064  ps -ef|grep httpd
10065  man httpd.conf
10066  view /etc/httpd/conf/httpd.conf

Odtud můžete buď zkopírovat a vložit řádek (pokud potřebujete příkaz upravit nebo jej použít v jiném terminálu), nebo zadat vykřičník následovaný posloupností příkazu v historii:

> !10061

Tento řádek vyvolává příkaz systemctl status httpd.service z historie a pak už jen stisknete ENTER (nebo před opětovným provedením příkaz upravte).

Není to špatné, ale stále musíte zadat sekvenci nebo zkopírovat a vložit pomocí myši. Není velký dohodu, ale chcete se soustředit na svůj hlavní úkol.

Některé dobré alternativy

Předchozí příkazy z historie můžete vyvolat pomocí UP klávesa šipky. Procházejte seznam pomocí NAHORU a DOLŮ klíče.

Tento přístup je v pořádku, ale co když chcete obnovit něco, o čem víte, že jste to použili před 15 minutami? To bude určitě v seznamu historie, ale možná budete muset provést nějakou těžbu.

Můžete například použít history , odešlete výstup do grep a uveďte pouze ty příkazy, které odpovídají vašim potřebám. V tomto příkladu zobrazím všechny příkazy v history které zahrnují http řetězec:

> history | grep http
10544* systemctl status httpd.service
10545* systemctl stopt httpd.service
10546* systemctl stop httpd.service
10547* sudo systemctl stop httpd.service
10548* sudo systemctl start httpd.service
10549* systemctl status httpd.service
10551* systemctl status httpd.service
10552* ps -ef|grep httpd
10553* man httpd.conf
10554* view /etc/httpd/conf/httpd.conf
10561* systemctl status httpd.service

Takže odtud můžete znovu použít vykřičník a pořadové číslo. Například:!10546

Ale můžete si myslet:„To je v pořádku, ale moje spojení mezi mozkem a prsty je tak rychlé, že nechci být rozptylován. Vím to přesně příkaz, který hledám."

Dobře, i na to existuje řešení.

Když váš mozek a prsty vědí, co hledají

Pokračováním v tomto příkladu si chcete vyvolat příkazy související s httpd rychle.

Možností pro vás je použít CTRL+R , který vás vyzve k zadání podřetězce. Použijte jej k vyvolání posledního příkaz, který jste zadali a který obsahuje tento řetězec.

Při psaní řetězce z příkazu se zobrazí poslední příkaz, který tento řetězec použil. Pokud je příkaz to, co hledáte, stiskněte ENTER a bude proveden.

Pokud v tomto okamžiku budete stále tisknout CTRL+R , předposlední zobrazí se příkaz, který obsahuje tento vyhledávací řetězec, což je v tomto příkladu view /etc/httpd/conf/httpd.conf příkaz.

Můžete přejít zpět (CTRL+R ) a vpřed (CTRL+S ).

[ Chcete si vyzkoušet své schopnosti správce systému? Proveďte hodnocení dovedností ještě dnes. ] 

Sbalit

Když znáte část příkazu, který jste nedávno provedli, můžete si ji rychle vyvolat pomocí zde probíraných zkratek. To může být užitečné zejména v případě, že jste příkaz použili již dávno a stále je v historii shellu, ale vaše prsty si ho „pamatují“.

Je zřejmé, že existují efektivnější způsoby provádění každodenních úkolů než psaní:Vytváření aliasů pro příkazy, které často používáte, vytváření skriptů, automatizace atd. Ale když je psaní nezbytné, je lepší to dělat efektivně.


Linux
  1. Příkaz historie Linuxu

  2. Příklady příkazů služby v Linuxu

  3. Příklady příkazů chkconfig v Linuxu

  1. Jak vymazat historii příkazového řádku BASH v Linuxu

  2. Příkaz historie v Linuxu Vysvětleno do hloubky

  3. Příklady příkazů httpd v Linuxu

  1. Mých 5 oblíbených nástrojů pro správu systému Linux

  2. 15 Příklady pro zvládnutí historie příkazového řádku Linuxu

  3. Služba operačního systému Linux „httpd“