-
Bash-komentotulkin käyttö
Bash-komentotulkin käyttö
bash sisältää useita ominaisuuksia, jotka tekevät komentorivin käytöstä helpompaa
ja tehokkaampaa. Koko komentoriviä ei tarvitse aina kirjoittaa
merkki merkiltä. Kun kirjoitat komentoa, voit siirtyä
taakse- ja eteenpäin käyttämällä vasenta ja oikeaa nuolinäppäintä.
Kohdistimen vasemmalla puolella olevan merkin voi poistaa Backspace-näppäimellä.
Ctrl-d:n tai Delete-näppäimen painaminen poistaa kohdistimen kohdalla olevan
merkin. Näiden komentorivin perusmuokkaustoimintojen lisäksi
voit käyttää alla olevassa taulukossa lueteltuja pikanäppäimiä.
| Command | Function |
|---|---|
Ctrl-a |
Siirrä kohdistin komentorivin alkuun |
Ctrl-e |
Siirrä kohdistin komentorivin loppuun |
Ctrl-k |
Leikkaa kaikki kohdistimen oikealla puolella olevat merkit |
Ctrl-y |
Liitä merkit komentoriville (leikattu komennolla Ctrl-k) |
bashissa suoritetut komennot tallennetaan käyttäjän kotihakemistoon
tiedostoon nimeltä .bash_history. Jos haluat nähdä täydellisen luettelon
viimeksi suoritetuista komennoista, anna komento history. Komentorivillä
voit selata aiempien komentojen luetteloa ylä- ja alanuolinäppäimillä.
Tilanteissa, joissa sinun täytyy antaa samankaltaisia komentoja useita kertoja, on
usein kätevää hakea jokin aiempi komento komentoriville
nuolinäppäimellä. Tämän jälkeen voit muokata vanhaan komentoon vain tarvittavat
muutokset ja suorittaa muokatun komennon painamalla Enter.
Komentohistoriasta on mahdollista hakea. Paina Ctrl-r ja kirjoita sitten
hakemasi teksti. Sinun ei tarvitse kirjoittaa koko hakua, sillä hakutulokset
päivittyvät jokaisen painetun merkin myötä.
Voit siirtyä hakutulosten välillä ylä- ja alanuolinäppäimillä.
Suorita komento painamalla Return-näppäintä. Jos haluat
muokata hakutulosta ennen komennon suorittamista, käytä
vasenta nuolinäppäintä ja muokkaa sitten komentoa.
Automaattinen Tab-täydennys
Jos painat Tab-näppäintä, bash-komentotulkki yrittää täydentää kirjoittamaasi komentoa tai
argumenttia. Täydennys tehdään niin pitkälle kuin mahdollista
käytettävissä olevien komentojen ja tiedostojen luettelon perusteella. Automaattisen täydennyksen
käyttöä suositellaan lämpimästi, sillä se säästää käyttäjän vaivalta kirjoittaa kaikkia komennon tai
argumentin merkkejä ja myös varmistaa, ettei komentoihin tule kirjoitusvirheitä.
Oletetaan esimerkiksi, että olemme hakemistossa, jossa on kaksi tiedostoa:
final_research_report_old.pdf ja final_research_report_new.pdf.
Vinkki
Tämä säästää paljon kirjoittamista ja kirjoitusvirheitä!
Esimerkiksi jälkimmäisen tiedoston tyypin tarkistamiseksi voisimme kirjoittaa komennon:
Pitkien tiedostonimien kirjoittaminen on hidasta ja altista virheille. Tab-täydennyksen avulla sinun tarvitsee kirjoittaa vain riittävästi merkkejä tiedoston tunnistamiseksi. Kirjoita ensin komento ja tiedostonimen ensimmäinen kirjain:
Kun nyt painat Tab-näppäintä, täydennysprosessi tarkistaa, mitä f:llä alkavia tiedostoja on saatavilla. Tässä tapauksessa niitä on kaksi, ja koska näiden kahden tiedostonimen alku on sama merkkijono, komento voidaan nyt täydentää muotoon:
Nyt sinun tarvitsee vain kirjoittaa tiedostonimen loppuun yksi n erottaaksesi tiedoston old-versiosta,
Kun Tab-näppäintä painetaan nyt uudelleen, on olemassa vain yksi vaihtoehto, joka vastaa kirjoitetun argumentin alkua, ja näin komento täydentyy ja on valmis suoritettavaksi:
Ohjelmien pysäyttäminen ja ohjelmien suorittaminen taustalla
Linuxissa graafiset käyttöliittymät ja komennot, jotka eivät ole vuorovaikutteisia käynnistyttyään, voidaan suorittaa taustaprosesseina. Kun komento suoritetaan taustaprosessina, komentotulkki ei odota komennon valmistumista. Sen sijaan se pysyy aktiivisena ja antaa käyttäjän antaa uusia komentoja samalla kun taustalla oleva komento suoritetaan. Huomaa kuitenkin, että CSC:n laskentaklustereissa raskaita laskentatehtäviä ei tule suorittaa taustaprosesseina, vaan ne tulee lähettää eräjono järjestelmään.
Tavallisessa vuorovaikutteisessa käytössä voit käynnistää taustalla
suoritettavan komennon lisäämällä komennon loppuun merkin &. Esimerkiksi komento
avaisi feh-kuvankatseluohjelman (vaatii X-term-yhteyden)
taustalle niin, että komentotulkkia voitaisiin
edelleen käyttää, vaikka feh-komento on yhä käynnissä. Taustaprosessi
voidaan muuttaa tavalliseksi edustaprosessiksi komennolla
fg. Kun komento tai ohjelma on käynnissä vuorovaikutteisesti eli
komentotulkki odottaa suorituksen päättymistä, voit keskeyttää
suorituksen painamalla Ctrl-c. Toinen mahdollisuus on
pysäyttää ohjelma painamalla Ctrl-z. Kun komento (tai prosessi) on
pysäytetty, sitä voidaan jatkaa komennolla fg tai muuttaa
taustaprosessina suoritettavaksi komennolla bg.
Yhä käynnissä oleva komento voidaan lopettaa kill-
komennolla. Jotta voit käyttää kill-komentoa, sinun täytyy tietää
lopetettavan komennon prosessitunnus (PID). Voit
tarkistaa aktiiviset prosessisi eli parhaillaan suorittamasi komennot
komennolla ps. Esimerkiksi:
$ ps
PID TTY TIME CMD
385 pts/12 00:00:00 bash
2001 pts/12 00:00:00 feh
2003 pts/12 00:00:00 gconfd-2
2203 pts/12 00:00:00 ps
Oletusarvoisesti ps-komento näyttää vain ne prosessit, jotka on
käynnistetty siitä komentotulkista, jota parhaillaan käytät. Jos haluat nähdä kaikki
prosessisi palvelimella, jolle olet kirjautunut, anna komento:
Kun olet tunnistanut oikean prosessinumeron, voit lopettaa prosessin komennolla:
Esimerkiksi komento
lopettaisi feh-prosessin, joka on lueteltu edellisen ps-
esimerkin tulosteessa. Voit lopettaa vain prosesseja, jotka ovat oman käyttäjätilisi omistamia.
Joskus, kun haluat lopettaa virheellisesti toimivan prosessin, tavallinen
kill-komento ei välttämättä pysty lopettamaan prosessia. Tällaisissa
tapauksissa voit yrittää lopettaa prosessin lisäämällä valitsimen -9
kill-komentoon: