Fórum Ubuntu CZ/SK

Ostatní => Tipy a triky pro Linux => Téma založeno: Martin Kiklhorn 17 Července 2008, 15:40:11

Název: Ovládání terminálu - klávesové zkratky
Přispěvatel: Martin Kiklhorn 17 Července 2008, 15:40:11
Nejedná se o příkazy bashe, ale o ovládání konzole, terminálu.
Nenašel jsem to zde v tipech, ani na wiki.

Doufám že se to bude hodit více lidem kteří pracují v terminálu, zejména pokud se nejedná jen o terminál v gnome ale o celoobrazovkový, kde jsem kdysi vůbec netušil že jde zobrazit "uteklé" řádky z obrazovky jinak a jednodušeji než přes "| more" nebo "| less" (které občas nefungovaly tak jak jsem si představoval, protože jsem netušil že existuje standardní a chybový výstup)

TABpro doplňování cesty a parametrů některých příkazů asi každý zná, pokud pípne a stisknu TAB ještě jednou tak vypíše možnosti.
Kód: [Vybrat]
ls /h TAB doplní na
Kód: [Vybrat]
ls /home/ (pokud tam není více folderů s názvem začínajícím "h". Pokud je tak pípne, pokud v tomto případě zmáčknu TAB znovu tak napíše možnosti)

Shift-PgUp
Shift-PgDn  Posun v obrazovce aby se daly přečíst i víceřádkové výpisy

šipka nahoru
šipka dolu  Listování mezi posledními příkazy

Ctrl-a     Přesun na začátek řádku (jako home)
Ctrl-e    Přesun na konec řádku (jako end)
Ctrl-b    Přesun zpět o jeden znak (šipka vlevo)

Alt-b            Přesun o jedno slovo zpět.
Ctrl-f    Přesun o znak dopředu. (šipka vpravo)
Alt-f            Přesun o jedno slovo dopředu.
Alt-] x    Kde x je nějaký znak, přesun vpřed na další výskyt znaku x.(tohle mi na české kl. nefunguje)
Alt-Ctrl-] x    Kde x je nějaký znak, přesun vzad na předchozí výskyt znaku x.(tohle mi na české kl. nefunguje)
Ctrl-u    Smazání od kurzoru do začátku řádku. (takový násobný backspace)
Ctrl-k    Smazání od kurzoru do konce řádku. (takový násobný delete)
Ctrl-w    Smazání od kurzoru do začátku slova. (násobný backspace)
Esc-Del    Smazání předchozího slova. (tohle mi na české kl. nefunguje)
Ctrl-y    Vloží text ze schránky. (většina "mazacích" příkazů uloží mazané do schránky - podobně jako v editorech ctrl+x - a toto je jako ctrl+v)
Ctrl-l      Smaže obrazovku, současný řádek ponechá jak je, přesune jej na první řádku obrazovky
Ctrl-x Ctrl-u    Undo poslední změny na aktuálním řádku, opakovatelné (Ctrl-_ dělá to samé)
Alt-r            Hromadné undo změn na řádku (např. dám šipku nahoru pro poslední příkaz, pak něco upravím, chci aby to tyto úpravy zapomnělo, použiji tuto zklratku)
Alt-Ctrl-e    Expanduje příkazovou řádku (vyhodnotí výrazy - např. následující posloupnost
 
Kód: [Vybrat]
echo
!! martin `uname -r`
po stisknutí enter by se příkaz vyhodnotil a vykonal. Pokud namísto stisknutí enter stisknu Alt-ctrl-e tak se právě editovaná řádka
Kód: [Vybrat]
!! martin `uname -r` vyhodnotí a změní se na
Kód: [Vybrat]
echo martin 2.6.24-19-generic a mohu ji dále editovat)

Ctrl-r Inkrementální hledání v historii. (Vím že jsem někdy v minulosti použil příkaz který obsahoval slovo martin, stisknu Ctrl-r, napíšu martin, zjistím že to není ten správný příkaz - sice slovo obsahuje, ale není to ten co hledám, zmáčknu opět Ctrl-r, ukáže se mi další výskyt. Přitom průběžně mohu hledaný výraz editovat.)

----------------
Práce s historií:

Kód: [Vybrat]
history vypíše pořadovanými čísly očíslovanou historii příkazů

!!    Vykoná znovu poslední příkaz v historii
!abc    Vykoná znovu poslední příkaz který začínal abc
!abc:p    Vypíše poslední příkaz začínající abc, nevykoná jej, jen jej přesune na konec historie (takže pokud je to ten u kterého jsem si byl jistý jen na 99% že jej potřebuji, stačí pro jeho vykonání nebo editaci stisknout šipku nahoru)
!n    Vykoná n-tý příkaz z historie (čísla viz výše "history")
!$    Poslední argument posledního příkazu (např.
Kód: [Vybrat]
ls `uname -r`
ls /lib/modules/!$
 !$ v druhém řádku se nahradí posledním parametrem předcházejícího příkazu, tedy `uname -r`. Je to tedy jako bych napsal druhý řádek
Kód: [Vybrat]
ls /lib/modules/`uname -r`
!^    První argument předchozího příkazu
^abc^xyz    Nahradí první výskyt řetězce abc řetězcem xyz v předchozím příkazu a vykoná jej.

Ctrl-s    Stopne přepis klávesnice na obrazovku stopnu, co dále píšu se nezobrazuje
Ctrl-q    Odblokuje přepis klávesnice na obrazovku odblokuji, co jsem od Ctrl-s napsal se vykoná. (jediné využití této kombinace mě napadá v případě že chci vykonat nějaký příkaz a nechci aby jej někdo viděl když mi kouká přes rameno. Ctrl-s píšu tajný příkaz, enter, Ctrl-l Ctrl-q. Nikdo to neuvidí, nicméně v historii to vidět je.)
Název: Re: Ovládání terminálu - klávesové zkratky
Přispěvatel: mrstevo 31 Července 2009, 18:51:12
Dala by sa historia editovat a uložit, aby som nemusel listovat zbytočne príkazy?
Název: Re: Ovládání terminálu - klávesové zkratky
Přispěvatel: Martin Kiklhorn 31 Července 2009, 20:08:42
myslíte uložit a editovat takto?
Kód: [Vybrat]
history >> mujsouborsprikazy
nano mujsouborsprikazy

edit: resp namísto history >> foo
použít
Kód: [Vybrat]
history -w foopro uložení bez čísel příkazů
Název: Re: Ovládání terminálu - klávesové zkratky
Přispěvatel: mrstevo 31 Července 2009, 20:18:39
To je vsetko OK, len dostať to späť do terminálu. čo ďalej s editovaným súborom?
Název: Re: Ovládání terminálu - klávesové zkratky
Přispěvatel: TIBOR 31 Července 2009, 20:24:24
Pre tych co by nevedeli a stava sa im ze v terminale pri dlhsom vypise sa im stratia prve riadky. Napriklad pri vypise
Kód: [Vybrat]
sudo lshwco je sposobene malou pamatou. Da sa tato pamat zvacsit tym ze si spustite terminal date upravit-profile preference a na karte historia zvacsite polozku scrollback na vyssiu hodnotu, napriklad 1024 lines.
Název: Re: Ovládání terminálu - klávesové zkratky
Přispěvatel: Martin Kiklhorn 31 Července 2009, 20:27:31
cat ~/.bash_history
Název: Re: Ovládání terminálu - klávesové zkratky
Přispěvatel: mrstevo 31 Července 2009, 20:34:22
Presne to som potreboval. dik
Název: Re: Ovládání terminálu - klávesové zkratky
Přispěvatel: mrstevo 31 Července 2009, 21:40:40
Možno sa stačilo pohrabať na disku a neotravovať. Ešte taký skriptíík na odmazanie duplicitných riadkov...  :)
To už by bola fakt lenivosť. :D
Název: Re: Ovládání terminálu - klávesové zkratky
Přispěvatel: Martin Kiklhorn 31 Července 2009, 21:55:07
cat ~/.bash_history | sort | uniq

a to jsem do tohoto threadu vůbec nechtěl tahat bash  ;D
Název: Re: Ovládání terminálu - klávesové zkratky
Přispěvatel: spynfo 18 Září 2009, 14:00:00
myslíte uložit a editovat takto?
Kód: [Vybrat]
history >> mujsouborsprikazy
nano mujsouborsprikazy

edit: resp namísto history >> foo
použít
Kód: [Vybrat]
history -w foopro uložení bez čísel příkazů

nejak mi to nejde...
history -w foo /media/sda8/terminal.history.txt
co zas delam spatne?
Název: Re: Ovládání terminálu - klávesové zkratky
Přispěvatel: Martin Kiklhorn 18 Září 2009, 14:09:04
http://en.wikipedia.org/wiki/Foo_bar
takže
Kód: [Vybrat]
history -w /media/sda8/terminal.history.txt
Název: Re: Ovládání terminálu - klávesové zkratky
Přispěvatel: Jurkax 25 Května 2011, 18:44:16
Asi jsem trochu natvrdlej, ale jak přeskočím v terminálu nějakou informaci, která končí (END) aby akce mohla pokračovat. Zkoušel jsem snad zmáčknout všechno a nepřišel jsem na to ???
Název: Re: Ovládání terminálu - klávesové zkratky
Přispěvatel: Martin Kiklhorn 25 Května 2011, 19:45:36
V jakém programu v terminálu? V less ? "q" jako quit