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”.
“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 🙂
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 🙂
Faktycznie, o takim zastosowaniu nie pomyślałem.
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. 😉
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.
TAB i …Display all 2806 possibilities? 🙂
“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. :/
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
Dzięki za czujność… Nikt nie jest doskonały 🙂
EasyStrole sam w sobie jest niezłym trickiem 🙂
Ż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. 🙂
Dlatego pomyślałem żeby go tu może przybliżyć tym co nie znają? 😉
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ę)
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).
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.
Ja konsole odpalam klawiszem f12