Produktivní.cz — rychleji každý den
Pro profesiUčiteléStudentiManažeřiMarketingVývojářiFreelanceřiRodiče

Tipy & triky · Zkratky · Všude · ~5 min denně · 2 min čtení

Ctrl+R v terminálu: napište kousek příkazu, historie ho najde

Naposledy ověřeno:

Ctrl+R

Ilustrace k článku: Ctrl+R v terminálu: napište kousek příkazu, historie ho najde

Šipka nahoru je nejpomalejší způsob, jak se vrátit k příkazu, který jste psali před dvěma dny — mezi vámi a ním stojí padesát jiných příkazů. Ctrl+R spustí zpětné vyhledávání v historii: začnete psát libovolný kousek hledaného příkazu (klidně ze středu) a shell okamžitě nabídne nejnovější příkaz, který ho obsahuje. Funguje v bashi, v zsh i v PowerShellu, takže je to jedna z mála zkratek, na kterou se můžete spolehnout na jakémkoli počítači.

Jak na to

  1. V terminálu stiskněte Ctrl + R — na řádku se objeví výzva zpětného vyhledávání (v bashi vypadá jako (reverse-i-search)).
  2. Pište libovolnou část hledaného příkazu — třeba jen migrate nebo název souboru. Nemusí to být začátek příkazu; hledá se kdekoli uvnitř.
  3. Shell rovnou ukazuje nejnovější odpovídající příkaz z historie. Když to není ten pravý, stiskněte Ctrl + R znovu — posunete se na starší shodu, a to klidně opakovaně.
  4. Enter nalezený příkaz rovnou spustí. Šipka doprava nebo Esc ho místo toho vloží na řádek k úpravě — hodí se, když chcete jen změnit parametr.
  5. Hledání zrušíte přes Ctrl + G (v PowerShellu Esc) a vrátíte se na prázdný řádek.

Vzorová situace

Vývojářka minulý týden spouštěla export databáze s pěti přepínači — přesnou kombinaci si samozřejmě nepamatuje. Místo listování šipkou nahoru nebo hledání v poznámkách stiskne Ctrl+R, napíše dump a příkaz se objeví celý, do posledního přepínače. Enter, hotovo, pět vteřin. Stejně funguje i „jak že se připojuju na ten testovací server“ — stačí si vzpomenout na jediné slovo z příkazu.

Časem se z toho stane návyk, který změní způsob práce: dlouhé příkazy přestanete opisovat z dokumentace, protože víte, že jednou napsaný příkaz už navždy najdete za pár úhozů. Historie shellu se tak promění z odpadkového koše v osobní kuchařku. A když nějaký příkaz přes Ctrl+R vytahujete den co den, je to spolehlivý signál, že si zaslouží vlastní zkratku — o tom je tip aliasy a skripty.

Co vám to přinese

Nejčastější terminálová činnost — „spusť znovu to, co už jsem někdy psal“ — se zkrátí z desítek vteřin listování na dva tři úhozy. Přestanete si dlouhé příkazy ukládat do textových souborů a lepit je myší. A protože zkratka funguje v bashi, zsh i PowerShellu, návyk se vám vrátí na každém stroji, na který se přihlásíte. Jediná podmínka: shell si musí historii ukládat — pokud vám Ctrl+R nachází jen pár posledních příkazů, zvětšete si v konfiguraci shellu limit historie (proměnné HISTSIZE a HISTFILESIZE), ať vám kuchařka sahá měsíce do minulosti.