Tipy & triky · Workflow · Všude · ~2 min denně · 2 min čtení
Dva vykřičníky zopakují poslední příkaz — i se sudo před ním
Naposledy ověřeno:

Každý, kdo pracuje s terminálem, zná ten moment: spustíte příkaz, terminál odpoví Permission denied — a vy víte, že jste zase zapomněli sudo. Místo šipky nahoru, skoku na začátek řádku a dopisování stačí napsat sudo !!. Dvojice vykřičníků se v bashi a zsh rozbalí na celý předchozí příkaz, takže se spustí totéž, jen tentokrát s právy správce. Vykřičníková historie umí ještě jeden trik, který se hodí denně: !$ znamená „poslední argument předchozího příkazu“ — typicky cesta k souboru, kterou tak nemusíte psát podruhé.
Jak na to
- Spustíte příkaz, který selže na oprávnění — třeba zápis do systémové složky. Napište
sudo !!a stiskněte Enter: shell nejdřív vypíše, co se skutečně spustí, a provede předchozí příkaz sesudona začátku. !!funguje i jinde než se sudo:echo !!vám předchozí příkaz jen vypíše, což se hodí pro kontrolu, než ho někam vložíte.!$vloží poslední argument minulého řádku. Pomkdir ~/projekty/novy-webstačícd !$— a jste uvnitř právě vytvořené složky. Pols -l /dlouha/cesta/k/souboru.confotevřete tentýž soubor přesnano !$.- Když si nejste jistí, co se rozbalí, přidejte na konec
:p—!!:ppříkaz jen vytiskne a zařadí do historie, ale nespustí. Interaktivní obdoba: Alt + . vkládá poslední argument přímo na řádek a opakovaným stiskem listuje staršími. - Vykřičníky patří bashi a zsh — na Windows je máte v Git Bashi nebo ve WSL, v PowerShellu tato zkratka není.
Vzorová situace
Správce instaluje balíček: apt install htop, odpověď „are you root?“. Napíše sudo !!, hotovo — rychlejší než jakékoli klikání či přepisování. O minutu později rozbaluje archiv do nové složky: mkdir /opt/aplikace/v2 a hned cd !$, tar -xzf balik.tar.gz. Dlouhou cestu psal jedinkrát, pak už za něj pracovaly vykřičníky. Za den se takových momentů nasbírá tucet — a každý znamená jeden nepřepsaný (a nepřeklepnutý) řádek.
Jedno varování k opatrnosti: vykřičník se rozbaluje i uvnitř uvozovek, takže když píšete text s vykřičníky (třeba commit zprávu nadšeného ladění), použijte apostrofy — git commit -m 'Konečně funguje!' projde, s uvozovkami by se shell pokusil ! rozbalit jako historii. Tohle je mimochodem nejčastější zdroj záhadné hlášky event not found.
Co vám to přinese
Nejčastější drobná selhání v terminálu — zapomenuté sudo a dvakrát psaná cesta — se smrsknou na pár znaků. Méně překlepů, protože dlouhé argumenty píšete jen jednou. A dobrá zpráva na závěr: tyhle zkratky fungují na každém serveru, kam se přihlásíte, bez jakékoli instalace či konfigurace.
Chcete jít do hloubky? V příručce najdete kapitolu Základní systémy: inbox, priority, revize.
Podobné tipy
Pohyb v textu na Macu: Option a Cmd se šipkami
Option+→
Option se šipkou skáče po slovech, Cmd na začátek a konec řádku. Kdo přešel z Windows, píše na Macu bez těchto zkratek s ruční brzdou.
Mac: přesun souborů přes Cmd+Option+V
Cmd+Option+V
Mac nemá pro soubory Ctrl+X: zkopírujte Cmd+C a vložte Cmd+Option+V — soubor se přesune. Uvnitř: skok do složky přes Cmd+Shift+G a vrácení Cmd+Z.
Screenshot přesně té části obrazovky, kterou chcete
Cmd+Shift+4
Cmd+Shift+4 promění kurzor v zaměřovač. Vyberete oblast a snímek je na ploše — nebo rovnou ve schránce.
Pomohlo vám to?
Líbil se vám tip?
Každý týden posílám jeden takový do e-mailu. Dvě minuty čtení, hodiny úspor.
E-book Top 30 tipů zdarma — pošlu vám ho hned.
Pak 1 tip týdně · žádný spam · odhlášení jedním klikem
Radši systém než jednotlivé tipy? E-mailový kurz zdarma — sedm dní, sedm e-mailů, každý den jedna dovednost.