Jos ei jaksa selata nuolinäppäimillä vanhoja loitsuja, niin voi painaa ctrl r ja kirjoittaa sitten hieman sitä vanhaa, niin löytyy nopeasti. Lopuksi huitaisee enter, ja se on siinä.
Terminaaliniksi bashiin: ctrl+r hakee historiasta
Anonyymi
24450
0Äänestä
Muut lukivat myös
Ketjusta on poistettu 3 sääntöjenvastaista viestiä.
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 24
Vanhimmat
HIENOA
Olet oikealla asialla, jakaessasi Bash Shell komentotulkin käyttötietoutta.
Jos haluat ettei suoritettu komentorivi kirjaudu "history" tiedostoon, aloita se välilyönnillä.
Eniten käyttämäsi komennot selviää näin:
history | awk 'BEGIN {FS="[ \t] |\\|"} {print $3}' | sort | uniq -c | sort -nr | head
Minulla oli hiukan yllättävä lista:
62 hae
60 sudo
44 cd
43 echo
24 date
20 wget
19 uniq
12 curl
11 tar
11 aria2c
Tämmönen täällä:
208 kubectl
137 sudo
103 cd
68 docker
66 ls
65 ssh
60 npm
27 git
24 rm
18 node
Linux komentoja on useita tuhansia, niitä ei voi aina muistaa. Seuraavan kerran kun tulee tilanne ettet muista kuin alkukirjaimen, kirjoita se ensimmäinen kirjain ja kaksi kertaa tab -näppäintä perään saat listan kaikista mahdollisista.
Sama toimii myös hakemistopoluissa, jos niitä on tarjolla enemmän kuin yksi.
Ohjausnäppäinyhdistelmät
ctrl a: siirrä kohdistin rivin alkuun
ctrl e: siirrä kohdistin rivin loppuun
ctrl k: poista kaikki merkit kohdistimesta rivin loppuun
ctrl u: poista kaikki merkit kohdistimesta rivin alkuun
ctrl w: poista edellinen sana
ctrl t: siirtää kaksi edellistä merkkiä
ctrl d: poista yksi merkki kohdistimen kohdasta
ctrl h: poista yksi merkki kohdistimen edessä
ctrl f: siirry eteenpäin (tai käytä oikeaa nuolta)
ctrl b: siirry taaksepäin (tai käytä vasenta nuolta)
ctrl r: etsi merkkijono historiasta
ctrl g: paeta valmiustilasta
"ctrl d: poista yksi merkki kohdistimen kohdasta"
Tuo on myös logout / terminaalin sulku.
Terminaalin sulkeutumisen ctrl d:llä voi estää komennolla
set -o ignoreeof
Jonka jälkeen sen voi sulkea enää exit-komennolla.
Ympäristömuuttujalla IGNOREEOF voi määrittää kuinka monta kertaa ctrl d:tä pitää painaa, ennen kuin terminaali laitetaan kiinni.
export IGNOREEOF=3
Yllä olevan komennon jälkeen peräkkäiset ctrl d painallukset aiheuttavat kolme kertaa ilmoituksen, että terminaali sulkeutuu komennolla exit, mutta neljännen painalluksen jälkeen se kuitenkin lopulta menee kiinni.
Tämä oli uutta, en vain keksi mihin tarvitaan.
Lähinnä sillä voi estää vahingossa terminaalin sulkemisen. Esimerkiksi jos on kirjautunut monen ssh-yhteyden läpi ja pakittelee liian innokkaasti ctrl-d:llä, niin voi vahingossa sulkea viimeisen terminaalin, vaikkei olisi tarkoitus.
Ajatellaanpa että sinun pitää tarjota käyttäjälle valittavaksi joku kansion sisältämistä *.txt tiedostoista. Aivan uskomattoman helppo valikko tähän tuskaan:
select f in *.txt; do break; done && cat $f;
Hienoa
Nyt joutuu vahakin muistiota täydentämään.
Kannattaa myös muistaa alias-komento, sillä voi tehdä esim. yllä olevasta top-10 esimerkistä komennon top10 tai vaikka ssh:lle
$ alias rousku='ssh -Y -l username rousku.netti.fi'
Tuo on erittäin kätevä ssh:n agentin kanssa käytettynä, joka siis tekee loginin rsa-salausavaimeen perustuen:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
$ rousku
-ja ssh-yhteys aukeaa!
ja pysyväksi aliaksen saa kirjoittamalla sen ~/.bashrc tiedostoon.
Tuosta vielä tietoa, miten noita avaimia saa tuotettua ssh:lle, jos aiempaa avainta ei ole luotuna:
https://www.ssh.com/academy/ssh/keygen
Komento "watch" on usein myös hyödyllinen, jos haluaa seurata jotain tulosteita säännöllisesti päivitettynä. Watch siis suorittaa komennon säännöliisesti, ja näyttää sen vierittämättä ruutua. Sopii hyvin siis monitorointiin. Oletuksena päivitysväli on 2 sekuntia.
Jos vaikka haluaa nähdä auki olevan hakemiston tuoreimmat tiedostot yksityiskohtaisesti parin sekunnin välein, niin ajaa hakemistossa komennon:
watch 'ls -lAtr | tail -n $(($LINES-3))'
Tail-viritelmällä saadaan näkymään tulosteen viimeiset rivit, ja se skaalautuu myös terminaalin rivimäärän mukaisesti. Oletuksena watch näyttää vain niin monta riviä alusta mitä mahtuu.
Toki tuossa hakemistoesimerkissä voidaan muuttaa ls-komento muotoon 'ls -lAt', jolloin uusin tiedosto näkyy ensin, ja tail-putkitusta ei tarvita. Vaan hyvä silti tietää, kuinka saa komennon viimeiset rivit tarvittaessa näkyviin.
Ylläpito on hyvä ja ottaa tästä: vitun
Sen jälkeen on hyvä, ja vetää sen päähänsä.
Kiitos.
Ehkä vähemmän hyödyllisiin kuuluu myös alt c, joka muuttaa kursorin kohdalla olevan kirjaimen suuraakkoseksi ja siirtää kursorin seuraavaan välilyöntiin tai rivin loppuun.
No melkein se toimii noin, mutta oikeasti jos sinulla on rivin alku näin:
ALLA
se muuttuu Alla, kun kursori en ensimmäisen A kohdalla.
Aika hyvä tuo ctrl r. Aikaisemmin olen käyttänyt ihan komentoa history | grep xxx. Antaa listan komennoista. Siitä sitten voi ajaa kirjoittamalla '!numero', esim jos 'ls -Alf' on 2005, niin sitten kirjoittaa '!2005' ja saa ajettua komennon. Kaikki varmaan tiesikin jo tämän?
Onhan näitä oikoteitä, mutta kun niitä ei sitten koskaan muista kun niistä olisi suurin hyöty.
Pitää paikkansa.
Jaa tuohonko oli jo valmis säätö, itse säätänyt tuon vastaavan Ctrl P
Ctrl P on jo ennestään varattu, joten pilasit jotain samalla.