Jak ryba w terminalu

Im bardziej nie chcemy używać terminala w Linuksie, tym częściej natrafiamy na ciekawostki które sprawiają, że powoli przestajemy wierzyć w sens życia bez terminala pod ręką. Choćby – skróty klawiszowe. Starzy wyjadacze uśmiechną się z politowaniem i przekąsem, ale czy uwierzycie, że żyją dzisiaj na świecie ludzie którzy nadal nie są świadomi takich rzeczy jak dopełnienie w terminalu komend za pomocą klawisza TAB lub poruszanie się po historii wpisywanych poleceń przy użyciu strzałek ↑ ↓?

Matki już od kołyski straszą przyszłych adeptów Linuksa żmudnym wklepywaniem poleceń w magicznym okienku z literkami. Tymczasem demonizowany niesłusznie terminal posiada wiele cech, które nie tylko czynią żmudne wpisywanie poleceń niepotrzebnym, ale i pozwalają oszołomić gawiedź podczas np. spotkań rodzinnych. Wujkom „Dobra Rada” kotlet spadnie z powrotem do talerza gdy ujrzą nas pływających wśród klawiszy, które wedle naszej woli zgrabnie ułożą się w najprzydatniejsze skróty.

A oto kilka sztuczek na sprawną współpracę z terminalem:

Cios specjalny Efekt
Ctrl-a przenosi kursor na początek linii
Ctrl-e przenosi kursor na koniec linii
Ctrl-] x przenosi kursor do następnego wystąpienia znaku ‘x’
Alt-Ctrl-] x przenosi kursor do poprzedniego wstąpienia znaku ‘x’
Ctrl-u wycina ciąg znaków od pozycji kursora do początku linii
Ctrl-k wycina ciąg znaków od pozycji kursora do końca linii
Ctrl-w wycina słowo od pozycji kursora wstecz
Alt-d wycina słowo od pozycji kursora do przodu
Ctrl-y wstawia uprzednio wycięty tekst
Ctrl-l czyści ekran i pozostawia aktualną linię
Shift-Ctrl-_ cofa poprzednią operację
Alt-r przywraca linię do stanu sprzed edycji
Ctrl-r przeszukiwanie historii wpisanych komend
Alt-p przeszukiwanie historii wpisywanych komend do tyłu
Alt-n przeszukiwanie historii wpisywanych komend do przodu
Alt-t zamienia miejscami dwa słowa wstecz od pozycji kursora
Ctrl-g zaniechanie wyszukiwania
!! wykonuje ostatnią komendę z historii
!abc wykonuje ostatnią komendą z historii zaczynającą się od ‘abc’
!n wykonuje n-tą komendę z historii
^abc^xyz zamienia abc na xyz w ostatniej komendzie z historii i wykonuje ją ponownie

Czyż to nie piękne? To oczywiście 1/3 kombinacji jakimi można naginać terminal do swoich wymagań. Ambitni bez problemu znajdą kolejne ciekawe skróty ułatwiające pracę z komendami w trybie tekstowym. A co najważniejsze – to wszystko działa niezależnie od użytkowanej dystrybucji. Z odrobiną wprawy w tym temacie z pogardą będziecie prychać na żałosnych niewolników klikania „dalej”, „dalej”, „ok”.
 

16 komentarzy

  1. “Matki już od kołyski straszą przyszłych adeptów Linuksa żmudnym wklepywanie poleceń”
    chyba wklepywaniem 😉

    Wielkie dzięki za artykuł, trochę się dowiedziałem, dotychczas znałem tylko tab, strzałki, nawigację kursora i historię poleceń.
    Jakoś nie potrafię sobie wyobrazić korzystania z pozostałych skrótów (w ogóle nawet nauczenia się ich, chociaż pewnie samo by weszło podczas używania), dla mnie to trochę taki przerost formy nad treścią.
    Ale może niektórym się przydaje 🙂

  2. Skróty klawiszowe powstały w czasach wolnego internetu (naprawdę wolnego, pamięta ktoś czasy modemu 19200 bps? A były i wolniejsze) po to, aby praca na zdalnych maszynach była w miarę… No w ogóle możliwa. Zamiast 20 naciśnięć strzałki przesyłało się jeden kod skoku na koniec linii… Kapitalna sprawa 🙂

    A dzisiaj i owszem… Większość z tego może się nie przydać, ale sprawne poruszanie się choćby w obrębie słów w linii (parametrów poleceń) to spore udogodnienie.

    A właśnie, zapomniałem o tym – ctrl + strzałka lewo/prawo lub alt + f/b 🙂

  3. Zarąbiste! Ostatnio jakoś rzadko siedzę w konsoli, ale dwa pierwsze skróty już zapamiętałem!
    …choć nie, teraz kiedy uczciwie nad tym pomyślałem i prześledziłem historię poleceń, to okazuje się że odpalam konsolę jakieś 4 – 5 razy dziennie. Po prostu pewne operacje robię tam automatycznie, bo to wygodniejsze i szybsze niż grzebanie myszą w menu.

    A może @salvadhor:disqus-ze znasz też podobne triki do EasyStroke? Uzależniłem się od tego cholerstwa i teraz nawet konsolę odpalam skrótem pod gestem myszy. 😉

  4. Nie no wszystko fajnie, ale napisz konkretnie że chodzi o bash’a albo jakieś inne cudo, bo jak ktoś korzysta (jak ja) z ksh i dodatkowo ustawia sobie set -o vi (to samo można ustawić w bash’u) to wygląda to zupełnie inaczej.

  5. “sens życie”, prawie początek drugiej linijki. BTW błąd na tym blogu? Szok i niedowierzanie. :p Co do samego wpisu to wielu się przyda, jeden mój znajomy nie znał Ctrl + S, więc… Trza ludzi edukować, nie? EDIT: Sorki za pisanie tu w odpowiedzi, ale odruchowo uznałem ten komentarz za początek nitki z błędami i tak jakoś wyszło. :/

  6. Konsola jest chyba największą przewagą wszystkich systemów uniksowych nad Windowsem. Pokładam pewne nadzieje w Power Shellu, może uczyni Windę w miarę użyteczną, bo dla mnie to klikanie wszędzie myszą jest męczące i czasochłonne. BTW zabawnie patrzy się na miny moich znajomych gdy odruchowo zaczynam klepać coś w terminalu i nie wiedzą o co chodzi. :p

  7. Żaden problem, jako wieloletni grammarnazi mam odruch wyłapywania takich błędów. Dlatego przeglądanie takiego osworld,pl bywa mordęgą (choć portal sam w sobie niezły). A ten blog jest prawie doskonały. Szczerze mówiąc wchodzę tu raczej czytać ładnie napisane teksty niż o Linuksie (o którym trudno mi dowiedzieć się czegoś zarazem nowego jak i interesującego) czy zupełnie obcej mi fotografii. 🙂

  8. GNU Readline to biblioteka używana do sprawniejszego operowania tekstem w aplikacjach linii poleceń. Aplikacje korzystające z niej to m.in. bash, bc, ftp, gnuplot, gpg, ksh, mysql, psql, python, smbclient, xmllint, zsh.
    Wystarczy wygooglać “Readline Cheat Sheet” w celu poznania przydatnych skrótów.
    Na YT jest fajne wystąpienie pt. “Readline: Your Other Editor”
    Wg mnie szczególnie przydatne jest przywołanie z ostatnio wykonanego polecenia ostatniego parametru, czyli np. wykonujemy polecenie:
    echo co gdzie kiedy
    i w celu przywołania ostatniego parametru wciskamy Meta i _ (czyli w przypadku klasycznej klawiatury wciskamy klawisz Esc i po nim podkreślnik) co dla powyższego przykładu przywołuje parametr “kiedy”.
    Przywołanie przedostatniego parametru (2giego):
    Wciskamy po sobie: Esc 2 i następnie Ctrl Esc . (control, escape i kropkę)

  9. W Terminal GNOME lewy Alt jest traktowany jako klawisz Meta więc dla:
    echo co gdzie kiedy
    przywołanie ostatniego parametru to (lewy) Alt + kropka.
    2giego:
    Alt + 2, Alt + .
    (łatwiejsze do zapamiętania niż kombinacje z klawiszem Esc jako Meta).

  10. Użytkownicy fvwm i kde mają gesty myszy w standardzie 😉 od co najmniej dekady. Swego czasu w czytelni ubuntu.pl był artykuł o EasyStroke i jak mnie pamięć nie myli Gestikk.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Post comment

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.