Terminaaliniksi bashiin: ctrl+r hakee historiasta

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ä.
24450
Äänestä

Muut lukivat myös

Vastaukset 24

Vanhimmat

HIENOA
Olet oikealla asialla, jakaessasi Bash Shell komentotulkin käyttötietoutta.

Äänestä

Jos haluat ettei suoritettu komentorivi kirjaudu "history" tiedostoon, aloita se välilyönnillä.

Äänestä

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

Äänestä
  • 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

    Äänestä

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.

Äänestä
  • Sama toimii myös hakemistopoluissa, jos niitä on tarjolla enemmän kuin yksi.

    Äänestä

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

Äänestä
  • "ctrl d: poista yksi merkki kohdistimen kohdasta"

    Tuo on myös logout / terminaalin sulku.

    Äänestä

  • Anonyymi kirjoitti:

    "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.

    Äänestä

  • Anonyymi kirjoitti:

    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.

    Äänestä

  • Anonyymi kirjoitti:

    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.

    Äänestä

  • Anonyymi kirjoitti:

    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.

    Äänestä

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;

Äänestä
  • Hienoa
    Nyt joutuu vahakin muistiota täydentämään.

    Äänestä

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

Äänestä

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.

Äänestä

Ylläpito on hyvä ja ottaa tästä: vitun

Sen jälkeen on hyvä, ja vetää sen päähänsä.

Kiitos.

Äänestä

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.

Äänestä
  • 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.

    Äänestä

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?

Äänestä

Onhan näitä oikoteitä, mutta kun niitä ei sitten koskaan muista kun niistä olisi suurin hyöty.

Äänestä
  • Pitää paikkansa.

    Äänestä

Jaa tuohonko oli jo valmis säätö, itse säätänyt tuon vastaavan Ctrl P

Äänestä
  • Ctrl P on jo ennestään varattu, joten pilasit jotain samalla.

    Äänestä

Ketjusta on poistettu 3 sääntöjenvastaista viestiä.

Kommentoi aloitusta


Anonyymi kirjoitti:

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ä.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu