Ajattelin että jospa kouliintuneet käyttäjät antaisivat hieman vinkkejä meille vähemmän osaaville miten komentorivityötä voi helpottaa. Aloitan itse ketjun näin;
1. Kaikkea ei tarvitse kirjoittaa aina uudestaan sillä komentorivihistorian saa näkyviin komennolla " history ". Komennot on numeroitu suoritusjärjestyksessä ja jos haluat ajaa jonkun pitkän komennon menneisyydestä katso sen numero ja kirjoita se huutomerkin kera esim. " !213 " jolloin ko. komento ajetaan uudestaan. Ja esim. " !make " ajaa komentohistoriassa viimeksi käytetyn make-alkuisen komennon uudestaan.
2. Opettele käyttämään aliaksia, alias luodaan näin " alias imuri='cd /home/koti/lataus | ls' jolloin komentoriville syöte " imuri " siirtää sinut hakemistoon lataus ja tulostaa sisällön näytölle. Itselläni firefox siis lataa netistä tuon nimiseen kansioon. Pelkkä " alias " tulostaa käytössä olevat aliakset näytölle. Kotihakemistossa joutuu kuitenkin hieman muokkaamaan .bashrc -tiedostoa ja luomaan .bash_aliases -nimisen tekstitiedoston ellei sitä ole, muutoin aliakset ovat voimassa vain kunnes komentorivi-istunto päättyy. Huomaa aliaksen luomislauseessa sanojen välit tai niiden puute!
Tässä pari esimerkkiä miten töitä voi keventää, esitelkääpä lisää miten hoidatte hommia.
Vinkkejä komentoriveille
17
1155
Vastaukset
- 654654
toinen näppärä juttu on kun näppäilee "uparrow" eli nuoli ylös -näppäintä, jolla saa edellisen komennon, ja taas uusiksi näpäyttämällä sitä edellisen, jne.
- Pärsereikä
Että jos oikeasti tulee mieleen joitakin pikku vinkkejä joita itsekin käytätte, jotka nopeuttavat/yksinkertaistavat tavallisia puuhia. Manuaaleja lukemalla tietysti oppii mutta hain niinkun käyttäjien omia mielipiteitä siitä mitä oikopolkuja tulee käytettyä.
Tietysti ongelma on se että ne jotka osaavat hyödyntää tehokkaasti ominaisuuksia eivät sitä itse tajua tai toisinpäin, eivät ymmärrä miten työlästä komentorivieditointi on aloittelijoille.
Yhdistäen/soveltaen aloitussäiettä, luo alias " alias h='history' jolloin saat komentohistorian näytölle pelkästään iskemällä " h " . Kunhan historia alkaa olemaan 500 rivin pituinen niin vanhempien pitkien komentojen kaiveleminen on taatusti nopeampaa kuin nuolinäppäilemällä hakeminen.- niksi
Pistäppä seuraavat kaksi bind-riviä .bashrc-tiedostoosi:
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
Ota nuo muutokset käyttöön vaikkapa uudella komentorivi-ikkunalla.
Huomaat, että nuolinäppäimillä löytää aiemmat komennot tosi nopeasti! Kokeile vaikka seuraavaa: kirjoita komentoriville vanhan komennon pari ekaa merkkiä ja sitten nuoli ylös tai alas... - Pärsereikä
niksi kirjoitti:
Pistäppä seuraavat kaksi bind-riviä .bashrc-tiedostoosi:
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
Ota nuo muutokset käyttöön vaikkapa uudella komentorivi-ikkunalla.
Huomaat, että nuolinäppäimillä löytää aiemmat komennot tosi nopeasti! Kokeile vaikka seuraavaa: kirjoita komentoriville vanhan komennon pari ekaa merkkiä ja sitten nuoli ylös tai alas...Hienoa, juuri tällaistä mä odottelin. Kokeilen hyvinkin pian, tätä ominaisuutta en edes muistanut.
Entäpä tämä; Lyö mikä tahansa kirjain tai kirjainyhdistelmä ja paina TAB (tai 2xTAB) niin saat tulosteen kaikista kirjainyhdistelmän edellyttämistä komennoista jotka ovat käytettävissä.
- bash-funktio
.bashrc-tiedostoon voit kirjoittaa myös funktioita aliasten lisäksi. Funktiot ovat vähän monipuolisempia kuin aliakset.
Kokeile esim. seuraavaa:
em()
{
emacs $* &
}
Tuolla saat emacsin käynnistymään uuteen ikkunaan vaikkapa:
em teksti.txt- Pärsereikä
Jos teillä on lisää tällaisia yksinkertaisia funktioita niin antaakapa palaa, näistä on monelle lukijalle varmasti paljon hyötyä! Komentoeditoriahan oppii käyttämään oikeasti vain juuri näiden kautta ja kynnys kokeilemiseen on taatusti matalampi kun saa vähän esimerkkiä alkuun. Helppoja tietysti, ei mitään sivun pituisia skriptejä heh. Kunhan pääsee alkuun niin tunnetusti nälkä kasvaa syödessä ja kun motivoituu niin jaksaa jo itsekin tutkia manuskoja tarkemmin, lisäksi kaikki esimerkit luovat kokemuspohjaa joita voi käyttää apuna.
- tässä hei
Pärsereikä kirjoitti:
Jos teillä on lisää tällaisia yksinkertaisia funktioita niin antaakapa palaa, näistä on monelle lukijalle varmasti paljon hyötyä! Komentoeditoriahan oppii käyttämään oikeasti vain juuri näiden kautta ja kynnys kokeilemiseen on taatusti matalampi kun saa vähän esimerkkiä alkuun. Helppoja tietysti, ei mitään sivun pituisia skriptejä heh. Kunhan pääsee alkuun niin tunnetusti nälkä kasvaa syödessä ja kun motivoituu niin jaksaa jo itsekin tutkia manuskoja tarkemmin, lisäksi kaikki esimerkit luovat kokemuspohjaa joita voi käyttää apuna.
Pärsereiälle terveisiä, tuo on perhanan hyvä homma minkä alotit ei tuollaisia kikkakolmosia tietäis olevan olemassakaan ellei niitä täältä lukisi.
- Pärsereikä
>>Funktiot ovat vähän monipuolisempia kuin aliakset.
Todellakin, funtiot vastaavat jonkin asteista ohjelmointia ja rajana on vain mielikuvitus. Tarkoitus on kuitenkin hyödyttää "tavallisia" käyttäjiä joilla ei yleensä ole valmiuksia/haluja opetella "c-ohjelmointia" joten aliakset ovat yksinkertaisempina parempia. Tietenkin YKSINKERTAISET funktiot käyvät yhtä hyvin.
Kuitenkin, tässä yksi alias vaikkapa varmuuskopiointiin eli tämä luo toiselle levyosiolle pakatun arkiston omasta kotihakemistosta; alias varmistakoti='echo "VARMUUSKOPIOINTI KÄYNNISSÄ!!" && sudo tar czf /omalevy2/kotikopio.tar.gz /home/koti && echo "VALMIS!"'
Tämän toimii vain manuaalisesti sillä se pyytää root-salasanaa eli ei voi ajaa cronilla ajastettuna. Tai siis mä en osaa sulloa sitä salasanaa tuohon sekaan. - Pärsereikä
Pärsereikä kirjoitti:
>>Funktiot ovat vähän monipuolisempia kuin aliakset.
Todellakin, funtiot vastaavat jonkin asteista ohjelmointia ja rajana on vain mielikuvitus. Tarkoitus on kuitenkin hyödyttää "tavallisia" käyttäjiä joilla ei yleensä ole valmiuksia/haluja opetella "c-ohjelmointia" joten aliakset ovat yksinkertaisempina parempia. Tietenkin YKSINKERTAISET funktiot käyvät yhtä hyvin.
Kuitenkin, tässä yksi alias vaikkapa varmuuskopiointiin eli tämä luo toiselle levyosiolle pakatun arkiston omasta kotihakemistosta; alias varmistakoti='echo "VARMUUSKOPIOINTI KÄYNNISSÄ!!" && sudo tar czf /omalevy2/kotikopio.tar.gz /home/koti && echo "VALMIS!"'
Tämän toimii vain manuaalisesti sillä se pyytää root-salasanaa eli ei voi ajaa cronilla ajastettuna. Tai siis mä en osaa sulloa sitä salasanaa tuohon sekaan.Niin mitä se oikein tekikään.. echo eli kaiuta = näyttää tekstin "VARMUUSKOPIOINTI KÄYNNISSÄ!" ja sen jälkeen rootina (sudo) tar-apuohjelma arkistoi tiedostoksi /omalevy2/kotikopio.tar.gz oman kotihakemiston /home/koti. tar käyttää parametreja czf eli -c luo tiedosto -z käytä gzip-pakkausta ja -f arkistoi ja lopuksi kaiuttaa (echo) että homma on "VALMIS". && tarkoittaa siis loogista "JA" sanaa.
- Pärsereikä
tässä hei kirjoitti:
Pärsereiälle terveisiä, tuo on perhanan hyvä homma minkä alotit ei tuollaisia kikkakolmosia tietäis olevan olemassakaan ellei niitä täältä lukisi.
Kiitän. Juuri tämän vuoksi halusin tämän aloittaa.. että joku saisi ideoita ja oppia miten edetä linuxin kanssa. Komentoeditori on oikeasti aivan äärettömän tehokas työkalu jos sitä osaa käyttää. Sen takia olisi suotavaa/mukavaa että tehokäyttäjät kertoisivat näitä vinkkejä miten homma hoidetaan oikein. Ei kai ihan kaikea tarvi itse opiskella? Sen takia kai tämä palstakin on olemassa että saadaan apuja? Hyödyttää linuxia ja linux-käyttäjiä?
- hoitaa seuraavasti
Pärsereikä kirjoitti:
>>Funktiot ovat vähän monipuolisempia kuin aliakset.
Todellakin, funtiot vastaavat jonkin asteista ohjelmointia ja rajana on vain mielikuvitus. Tarkoitus on kuitenkin hyödyttää "tavallisia" käyttäjiä joilla ei yleensä ole valmiuksia/haluja opetella "c-ohjelmointia" joten aliakset ovat yksinkertaisempina parempia. Tietenkin YKSINKERTAISET funktiot käyvät yhtä hyvin.
Kuitenkin, tässä yksi alias vaikkapa varmuuskopiointiin eli tämä luo toiselle levyosiolle pakatun arkiston omasta kotihakemistosta; alias varmistakoti='echo "VARMUUSKOPIOINTI KÄYNNISSÄ!!" && sudo tar czf /omalevy2/kotikopio.tar.gz /home/koti && echo "VALMIS!"'
Tämän toimii vain manuaalisesti sillä se pyytää root-salasanaa eli ei voi ajaa cronilla ajastettuna. Tai siis mä en osaa sulloa sitä salasanaa tuohon sekaan.1) kirjoita tiedosto esim. /root/bu.bash, jonka sisältönä on aliaksesi sisältö ilman sudo-sanaa
2) katso man 5 crontab:sta apuja. Komenna roottina
crontab -e
ja kirjoita editoriin jotain seuraavaa:
# run five minutes after midnight, every day
5 0 * * * /root/bu.bash >> /root/bu.log 2>&1
ja sulje editori.
3) huomaa kuinka varmuuskopiosi tulevat siististi joka yö.
- jepjee
Tabulaattorin käyttö täydentämään on myös mainio juttu. Siis kirjoita pari ensimmäistä kirjainta ja tarjoa tabulaattoria, jos herjaa eli on useita vaihtoehtoja, kirjain lisää ja taas tab jne jne.
- tipsejä taivaasta
.bashrc-tiedostoon:
alias mv='mv -i'
alias cp='cp -i'
alias rm='rm -i'
tarvittaessa nuo oletukset voi ohittaa komentorivillä:
rm -f *- sana.
Tuota rm -f * ei aloittelijoiden pidä mennä kokeilemaan jos ei tiedä mitä on tekemässä.
En ymmärrä mitä liikkuu tällaisten kieroilujen postaajien korvien välissä. - mitä ymmärrät
sana. kirjoitti:
Tuota rm -f * ei aloittelijoiden pidä mennä kokeilemaan jos ei tiedä mitä on tekemässä.
En ymmärrä mitä liikkuu tällaisten kieroilujen postaajien korvien välissä.se lienee paljon helpompaa.
Bash-shellissä on oletuksena sidottu ctrl-r aiempien komentojen hakemiseen:
Esim. jos tyypillinen sessio menisi näin:
@host 20:17:43 ~>man ls
...
...
Ja sitten jossain vaiheessa haluat hakea viimeisimmän man-komennon, niin painaa ctrl-r ja alkaa kirjoittamaan osaa siitä aiemmasta komentorivistä, esim. kun alkaa kirjoittamaan "man ", niin todennäköisesti ensin löytynyt rivi on tuo "man ls".
(reverse-i-search)`man': man ls
Returnilla löytynyt rivi ajetaan. Jos haettu rivi ei ollut se, mitä haluttiin, niin voi painaa ctrl-r uudelleen tai kirjoittaa enemmän haettavasta rivistä.
Aiemmin mainitut aliakset on myös kannattavaa opetella. Ne voi tietysti lisätä tiedostoon ~/.bashrc (joka siis käynnistetään ajettaessa aina bash, ks. man bash), mutta sen ylläpitäminen voi ajanmittaan käydä työlääksi. Itse tein tiedoston ~/.aliases (jonka jokaisella rivillä on samanlaiset aliakset kuin mitä lisättäisiin .bashrc:een, ali alias joku=jotain), jonka luen .bashrc:stä bashin komennolla source (source ~/.aliases). Source-komennolla on myös saman asian tekevä alias ".", eli ". ~/.aliases".
Aliaksen käytön voi myös estää väliaikaisesti laittamalla rivin alkuun \:n, ja aliaksen voi poistaa käynnissä olevan komentotulkin ympäristöstä komennolla unalias, eli "unalias jokualias".
Myös aiemmin mainitut funktiot ovat käteviä. Itse käytän toistuvasti bash-funktiota, joka kutsuu grepiä tietyillä optioilla ja annetulla parametrilla:
ga ()
{
if [ -z "$1" ]; then
echo "no args";
return;
fi;
grep "$1" -ri --exclude=*.o --exclude=*.ko --exclude=*~ .
}
ga on funktio, joka etsii nykyisestä hakemistosta ja sen alihakemistoista (rekursiivisesti, -r) annettua merkkijonoa välittämättä isojen ja pienten kirjaimien rosta (-i). Niitä tiedostoja, jotka ovat muotoa *.o, *.ko tai *~ ei oteta mukaan hakuun. Käyttö on siis tyyliin "ga hakusana".
Tästä päästäänkin toiseen asiaan, eli putkitusten käyttöön. Joskus tulostetta on niin paljon, ettei kaikki mahdu näytölle. "ga hakusana | less" pelastaa.
Muutenkin putkitusten luovalla käytöllä saa tehtyä kaikkea hämärää tehokkasti ja helposti.
Seuraava projekti tästä on opetella usein käytettyjä komentoja esim. mitä nyt hakemistojen /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin yms. varrelta löytyykään. Sitten vielä todo-listalle shelliskriptien tekeminen, niin sitten selviää jo aika pitkälle.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornosta
https://www.kymensanomat.fi/paikalliset/8081054 Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornon hallussapi1353479Vanhalle ukon rähjälle
Satutit mua niin paljon kun erottiin. Oletko todella niin itsekäs että kuvittelet että huolisin sut kaiken tapahtuneen382733Olen tosi outo....
Päättelen palstajuttujen perusteella mitä mieltä minun kaipauksen kohde minusta on. Joskus kuvittelen tänne selkeitä tap302525Maisa on SALAKUVATTU huumepoliisinsa kanssa!
https://www.seiska.fi/vain-seiskassa/ensimmainen-yhteiskuva-maisa-torpan-ja-poliisikullan-lahiorakkaus-roihuaa/15256631212475Nurmossa kuoli 2 Lasta..
Autokolarissa. Näin kertovat iltapäivälehdet juuri nyt. 22.11. Ja aina ennen Joulua näitä tulee. . .382445- 1161865
Mikko Koivu yrittää pestä mustan valkoiseksi
Ilmeisesti huomannut, että Helenan tukijoukot kasvaa kasvamistaan. Riistakamera paljasti hiljattain kylmän totuuden Mi3151537Hommaatko kinkkua jouluksi?
Itse tein pakastimeen n. 3Kg:n murekkeen sienillä ja juustokuorrutuksella. Voihan se olla, että jonkun pienen, valmiin k1741498Aatteleppa ite!
Jos ei oltaisikaan nyt NATOssa, olisimme puolueettomana sivustakatsojia ja elelisimme tyytyväisenä rauhassa maassamme.3131390- 661248