Tämä huijauslehti kattaa seuraavat aiheet: komentotulkin esittely, navigointi, peruskomennot, ympäristömuuttujat, liittimet, putket, I/O-uudelleenohjaus, käyttöoikeudet ja pikanäppäimet.
Bash Shellin esittely
Shell tai shell on ohjelma, meidän tapauksessamme nimeltä "bash", joka on lyhenne sanoista Bourne Again Shell. Shell ottaa komentosi ja välittää ne käyttöjärjestelmälle. Päätteitä, kuten gnome-terminal , eterm , nxterm jne. käytetään vuorovaikutukseen järjestelmän kanssa.
Navigointi
SISÄÄN linux tiedostot ja hakemistoilla on hierarkkinen organisaatio, eli on jokin alkuhakemisto, jota kutsutaan juuriksi. Se sisältää tiedostoja ja alihakemistoja, jotka puolestaan sisältävät tiedostoja ja niiden alihakemistoja.
pwd
pwd-komento, lyhenne sanoista tulostaa työhakemistoa, näyttää tämänhetkinen olinpaikka hakemistorakenteessa.
CD
cd-komennolla voit siirtyä kohtaan uusi katalogi.
mkdir
mkdir-komento luo uuden hakemiston nykyiseen hakemistoon.
Peruskomennot
mies
Man-komento näyttää komentooppaat. Esimerkiksi seuraava komento antaa sinulle kaikki tiedot cat-komennosta:
$ mies kissa
kissa
Cat-komento lukee argumenttina annetun tiedoston ja tulostaa sen sisällön tavallinen kanava ulostulo. Useiden tiedostojen välittäminen argumenttina tulostaa kaikkien tiedostojen ketjutetun sisällön.
kaiku
Kaiku-komento tulostaa argumenttinsa vakiotulosteeseen.
$ echo Hello World Hello World
Jos kutsut kaikua ilman argumentteja, se tulostuu tyhjä rivi.
pää
Head-komento lukee minkä tahansa tekstin ensimmäiset 10 riviä ja tulostaa ne vakioputkeen. Lähtörivien määrää voidaan muuttaa:
$ head -50 test.txt
häntää
Tail-komento toimii kuten head-komento, mutta lukee rivit lopusta:
$ tail -50 test.txt
Voit myös tarkastella tiedostoon lisättyjä rivejä reaaliajassa -f-lipulla:
$ häntä -f testi.txt
Vähemmän
Komennolla less voit selata siirrettyä tiedostoa tai tekstiä molempiin suuntiin.
$ vähemmän test.txt $ ps aux | Vähemmän
Lisätietoja symbolin tarkoituksesta | käsitellään alla historiakomentoosiossa.
Yleiset pikanäppäimet | Kuvaus |
---|---|
G | Siirtyy tiedoston loppuun |
g | Siirtyy tiedoston alkuun |
:50 | Siirtyy tiedoston riville 50 |
q | Poistu vähemmän |
/hakusana | Hakumerkkijono, joka vastaa hakutermiä alla nykyinen linja |
/ | |
?hakusana | Hae riviä, joka vastaa sanaa "hakutermi" nykyisen rivin yläpuolelta |
? | Siirtyy seuraavaan vastaavaan hakutulokseen |
ylös | Siirtää yhden rivin ylöspäin |
alas | Siirtyy yhden rivin alaspäin |
sivu ylös | Siirtyy yhden sivun ylöspäin |
sivu alas | Siirtää yhden sivun alaspäin |
totta
Tosi-komento palauttaa aina nollan poistumistilana osoituksena onnistumisesta.
väärä
Epätosi-komento palauttaa aina nollasta poikkeavan poistumistilan ilmoittaen epäonnistumisesta.
$?
$? on muuttuja, joka sisältää viimeisen komennon poistumistilan. Tila ymmärretään yleensä ohjelman palautuskoodiksi. 0 tarkoittaa ohjelman onnistunutta suorittamista, mikä tahansa arvo, joka on suurempi kuin 0, kuvastaa sitä, että suorituksen aikana tapahtui joitain virheitä. Muuten, tästä syystä bashissa tosi (true) pidetään 0:na ja kaikki mikä ei ole 0 on epätosi (false):
$ totta $ kaiku $? 0 $false $echo $? 1
grep
Grep-komento etsii annettua merkkijonoa määritetty tiedosto:
$ kissa käyttäjät.txt käyttäjä:opiskelijan salasana:123 käyttäjä:opettajan salasana:321 $ grep "opiskelija" tiedosto1.txt käyttäjä:opiskelijan salasana:123
grep voi myös hyväksyä useita tiedostoja ja säännöllisiä lausekkeita selventääksesi tekstin muotoa.
historia
Historia-komento näyttää komentorivin historian. Sitä käytetään yleensä yhdessä grep-komennon kanssa tietyn komennon etsimiseen. Esimerkiksi seuraava koodi löytää kaikki komennot, jotka sisältävät merkkijonon g++:
$ historia | grep g++ 155 g++ tiedosto1.txt 159 g++ tiedosto2.txt
Tässä käytetään myös |-symbolia. - tämä on niin kutsuttu kuljetin (putki). Sen ansiosta voit ohjata yhden komennon lähdön toisen syötteeseen - siis yllä olevassa esimerkissä koko tarina, joka normaalitila Historia-komennon tulos suoraan päätteen ulostulo ohjataan syötteeksi grep:iin. Emme näe historiakomennon tulosta, mutta näemme grep-komennon tulosteen.
Tätä voi olla melko vaikea ymmärtää ilman harjoittelua, joten kokeile itse esimerkiksi ls , history , ps-komennoilla (kuvattu alla) ohjaamalla niiden tuloste esimerkiksi grep , sed tai less .
viedä
Vientikomento asettaa ympäristömuuttujat välitettäväksi lapsiprosesseille. Esimerkiksi näin voit välittää muuttujan nimen opiskelija-arvon kanssa:
$ vientinimi=opiskelija
ps
ps-komento näyttää tietoja käynnissä olevat prosessit.
$ ps PID TTY TIME CMD 35346 pts/2 00:00:00 bash
Näytössä näkyy neljä kohdetta:
- Prosessitunnus (PID),
- päätetyyppi (TTY),
- käsittelyaika (TIME),
- prosessin aloittaneen komennon nimi (CMD).
awk
awk-komento etsii ja korvaa tekstin tiedostoista tietyllä kuviolla: awk "pattern (toiminto)" test.txt
wget
wget-komento lataa tiedostot verkosta ja sijoittaa ne nykyiseen hakemistoon.
$ wget https://github.com/mikeizbicki/ucr-cs100
nc
ping
Ping-komento testaa verkkoyhteyden.
$ ping google.com PING google.com (74.125.224.34) 56(84) tavua tietoa. 64 tavua osoitteesta lax17s01-in-f2.1e100.net (74.125.224.34): icmp_req=1 ttl=57 time=7.82 ms --- google.comin ping-tilastot --- 1 paketti lähetetty, 1 vastaanotettu, 0 % pakettihäviö = 0 % pakettihäviö / min.7a/8 ms 422/10 ,792/0,699 ms
Lopussa olevat tilastot osoittavat ennen komennon suorittamista tehtyjen yhteyksien määrän ja niiden valmistumiseen kuluneen ajan.
git
Ympäristömuuttujat
Ympäristömuuttujat ovat nimettyjä muuttujia, jotka sisältävät yhden tai useamman sovelluksen käyttämiä arvoja.
PATH-muuttuja sisältää luettelon hakemistoista, joista järjestelmä etsii suoritettavia tiedostoja.
HOME-muuttuja sisältää polun nykyisen käyttäjän kotihakemistoon.
Liittimet
Liitinten avulla voit suorittaa useita komentoja samanaikaisesti.
$ true && echo Hei Hei $ false || echo Hello Hei $ echo Hei ; ls Hei testi.txt tiedosto1.txt tiedosto2.txtKuljettimet
Putket tai putket mahdollistavat eri komentojen tulo- ja lähtökanavien yhdistämisen. Seuraavassa esimerkissä ls-komennon tulos putoaa head , jolloin vain ensimmäiset 10 kohdetta tulostetaan.
$ ls -l | pää
I/O-uudelleenohjaus
Tulostuksen uudelleenohjaus
Normaali lähdön uudelleenohjaus käyttää symboleja > ja >> .
Tämä koodi esimerkiksi ohjaa ls:n tulosteen tiedostoon näytön sijaan:
$ ls > tiedostot.txt $ kissa tiedostot.txt tiedosto1.cpp näyte.txt
Jos tiedostoa ei ole olemassa, se luodaan, ja jos on, se korvataan. Ylikirjoituksen välttämiseksi sinun tulee käyttää >>-komentoa - se liittää tiedot tiedoston loppuun.
Tulon uudelleenohjaus
Normaali lähdön uudelleenohjaus käyttää symbolia< . В следующем примере sort берет входные данные из файла, а не с клавиатуры:
$ cat files.txt c b $lajittele< files.txt b c
Lajittelukomento tulostaa tiedoston sisällön näytölle, koska emme ole ohjanneet tulosta. Tämä voidaan tehdä näin:
$lajittele< files.txt >files_sorted.txt
Edistynyt uudelleenohjaus
Lisääminen & kohteeseen > johtaa uudelleenohjauksen tykkäämiseen tavallinen stream lähtö ja virhevirta. Esimerkiksi tiedosto test.cpp tulostaa merkkijonon stdout arvoon cout ja merkkijonon stderr muotoon cerr .
$ g++ test.cpp $ ./a.out >& testi.txt $ cat test.txt stdout stderr
Jos haluat tulostaa tietyn tiedostokuvaaja, voit määrittää sen numeron > .
Nimi | Kuvaaja | Kuvaus |
---|---|---|
stdin | 0 | Vakiotulo |
stdout | 1 | vakiolähtö |
stderr | 2 | Normaali virhelähtö |
Jos haluat esimerkiksi ohjata stderr-tiedoston test.txt-tiedostoon, toimi seuraavasti:
$ g++ test.cpp $ ./a.out 2> test.txt stdout $ cat test.txt stderr
Käyttöoikeudet
Komento ls -l tulostaa paljon tietoa kunkin tiedoston käyttöoikeuksista:
chmod
Chmod-komento muuttaa tiedoston käyttöoikeuksia. Tässä on tyypillisiä lippuyhdistelmiä tiettyjen käyttäjien oikeuksien muuttamiseksi:
Voit kutsua chmodia kuvauksella siitä, mitä tehdä tietylle tiedostolle. Symboli - tarkoittaa oikeuksien poistamista, symboli + - lisäystä. Seuraava esimerkki tekee tiedostosta omistajan ja ryhmän luettavissa ja kirjoitettavissa:
$ chmod ug+rw testi.txt $ ls -l testi.txt -rw-rw---- 1 käyttäjäryhmä 1097374 26. tammikuuta 2:48 test.txt
Myös chmodia voidaan käyttää oktaalilukujen kanssa, joissa 1 on käyttöoikeudet ja 0 ei ole:
Rwx=111=7 rw-=110=6 r-x=101=5 r--=100=4
Seuraava komento toimii kuten edellinen.
Luettuasi tämän artikkelin tiedät, mikä on lyödä(tavallinen linux-kuori), opi käsittelemään vakiokomentoja: ls, cp, mv…ymmärrä inodien, kovien ja symbolisten linkkien ja muiden tarkoitus.
Tämä opetusohjelma on tarkoitettu niille, jotka ovat uusia Linuxin käyttäjiä ja haluavat käydä läpi tai parantaa ymmärrystään Linuxin peruskäsitteistä, kuten tiedostojen kopioimisesta ja siirtämisestä, linkkien luomisesta, Linuxin vakiokomentojen sekä uudelleenohjausten ja putkien käyttämisestä. Tästä artikkelista löydät monia esimerkkejä, jotka selittävät esitetyn materiaalin. Aloittelijoille suurin osa tiedoista on uutta, mutta edistyneemmille käyttäjille tämä materiaali voi olla erinomainen työkalu olemassa olevien tietojen ja taitojen yhteenvetoon.
Johdatus bashiin
Kuori
Jos käytät Linuxia, tiedät, että sisäänkirjautumisen jälkeen sinua tervehtii komentokehote. Esimerkiksi tämä:
\$Jos graafinen kuori ladataan sisäänkirjautumisen jälkeen, päästäksesi komentotulkkiin sinun on käynnistettävä pääteemulaattori (gnome-terminal, xfce4-terminal, konsole, xterm, rxvt ...) tai vaihdettava johonkin virtuaalipäätteistä painamalla ctrl–alt–F1 tai ctrl–alt–F2 jne.
Tietokoneen komentotulkkikehote voi poiketa esimerkissä esitetystä. Se voi sisältää käyttäjänimen, tietokoneen nimen ja nykyisen työhakemiston nimen. Mutta kaikista näistä eroista huolimatta tämän kehotteen tulostavaa ohjelmaa kutsutaan " kuori” (kuori), ja luultavasti kuoresi on ohjelma nimeltä lyödä.
Juoksetko bashia?
Voit tarkistaa, onko bash käynnissä seuraavalla komennolla:
\$ echo \$SHELL/bin/bashJos saat virheen tämän komennon suorittamisen seurauksena tai sen tulos poikkeaa esimerkistä, on mahdollista, että bashia ei käytetä komentotulkina järjestelmässäsi. Tästä huolimatta suurin osa materiaalista on merkityksellistä, mutta suosittelemme silti vaihtamaan bashiin. Tämä voidaan tehdä (jos bash on asennettu järjestelmään) komennolla:
\$ lyödäMikä on bash
Bash (lyhenne sanoista " B meidän- a saada SH ell") on tavallinen komentotulkki useimmissa Linux-järjestelmissä. Hänen tehtäviinsä kuuluu käsitellä ja suorittaa komentoja, joilla käyttäjä ohjaa tietokonetta. Kun olet suorittanut työsi, voit lopettaa shell-prosessin. Näppäimien painamisen jälkeen ctrl–D, komennot poistu tai kirjautua ulos komentotulkkiprosessi lopetetaan ja näyttö pyytää uudelleen käyttäjätunnusta ja salasanaa.
"cd" käyttäminen
Aloitetaan bashin käyttäminen tiedostojärjestelmässä liikkumiseen. Aloita kirjoittamalla seuraava komento:
$ cd /Tällä komennolla kerroimme bashille, että haluamme muuttaa juurihakemisto - / . Kaikki järjestelmän hakemistot on järjestetty puurakenteeseen ja / tämä on sen alku (tai juuri). Tiimi CD käytetään nykyisen työhakemiston vaihtamiseen.
tapoja
Saadaksesi selville missä tiedostojärjestelmä olet tällä hetkellä (nykyinen työhakemisto) -tyypissä:
\$ pwd /Yllä olevassa esimerkissä / - komentoargumentti CD- nimeltään polku. Tämä on tiedostojärjestelmän sijainti, johon haluamme siirtää. Tässä tapauksessa / - absoluuttinen polku, mikä tarkoittaa, että polku on suhteessa juurihakemistoon.
Absoluuttiset polut
Tässä on esimerkkejä absoluuttisista poluista
/dev /usr /usr/bin /usr/local/bin
Kuten olet ehkä huomannut, kaikkia näitä polkuja yhdistää se tosiasia, että ne alkavat / . Polun /usr/local/bin määrittäminen komennon argumentiksi CD käskemme sen menemään juurihakemistoon / , sitten usr-hakemistoon, sitten local ja bin. Absoluuttiset polut alkavat aina siitä /
Suhteelliset polut
Toista polkutyyppiä kutsutaan suhteelliseksi. lyödä, tiimi CD ja muut komennot laskevat nämä polut suhteessa nykyiseen hakemistoon. Suhteelliset polut eivät koskaan ala mistä / . Esimerkiksi jos olemme hakemistossa /usr
\$ cd /usrVoimme sitten navigoida hakemistoon /usr/local/bin käyttämällä suhteellista polkua
\$ cd local/bin \$ pwd/usr/local/binKäyttö ".."
Suhteelliset polut voivat sisältää yhden tai useamman hakemiston «..» . ".." osoittaa työhakemistomme päähakemiston. Esimerkki:
\$ pwd/usr/local/bin\$ CD.. \$ pwd/usr/localKuten näet komennon CD.."vie meidät korkeammalle tasolle".
Saa lisätä .. suhteelliselle polulle. Tämä siirtyy hakemistoon, joka on samalla tasolla kuin se, jossa olemme. Esimerkki:
\$ pwd/usr/local\$ cd ../osake \$ pwd/usr/shareEsimerkkejä suhteellisista poluista
Suhteelliset polut voivat olla melko hankalia. Tässä muutamia esimerkkejä. Komentojen suorittamisen tulosta ei näytetä, yritä määrittää, mistä hakemistosta löydät itsesi käyttämällä bashia.
\$ cd / bin \$ cd ../usr/share/zoneinfo \$ cd /usr/X11R6/bin \$ cd ../lib/X11 \$ cd /usr/bin \$ cd ../bin/../binTyöhakemisto "."
Ennen kuin lopetan puhumisen joukkueesta CD, muutama asia on vielä mainittava. Ensinnäkin on toinen erityinen hakemisto «.» , joka osoittaa nykyiseen hakemistoon. Tätä hakemistoa käytetään nykyisessä hakemistossa olevien suoritettavien tiedostojen suorittamiseen.
\$ ./myprogViimeisessä esimerkissä myprog on nykyisen hakemiston suoritettava tiedosto, joka suoritetaan.
cd ja käyttäjän kotihakemisto
Jotta voisi mennä kotihakemisto, sinun täytyy soittaa
\$ CDIlman argumenttia cd siirtää sinut kotihakemistoosi. Pääkäyttäjälle kotihakemisto on yleensä /root ja for tavallisia käyttäjiä- /koti/käyttäjänimi/. Mutta entä jos haluamme määrittää tietyn tiedoston, joka sijaitsee kotihakemistossa. Esimerkiksi argumenttina ohjelmalle "myprog"? Sinä voit kirjoittaa:
\$ ./myprog /home/user/omatiedosto.txtAbsoluuttisten tiedostopolkujen käyttäminen ei kuitenkaan aina ole kätevää. Sama operaatio voidaan tehdä ~ -tildet:
\$ ./myprog ~/omatiedosto.txt~ on erityinen nimi, joka osoittaa käyttäjän kotihakemistoon bashissa.
Muiden käyttäjien kotihakemistot
Mutta entä jos meidän on osoitettava tiedostoon toisen käyttäjän kotihakemistossa? Tätä varten sinun on määritettävä aaltoviivan jälkeen tämän käyttäjän nimi. Osoittaaksesi esimerkiksi tiedoston fredsfile.txt, joka sijaitsee käyttäjän kotihakemistossa fred:
\$ ./myprog ~fred/fredsfile.txtLinux-komennot
Johdatus ls
Tiedät varmaan jo joukkueen ls, jota kutsutaan ilman argumentteja ja näyttää luettelon työhakemistoon tallennetuista tiedostoista:
\$ cd /usr \$ ls X11R6 doc i686-pc-linux-gnu lib man sbin ssl bin gentoo-x86 sisältää libexec portage share tmp distfiles i686-linux info paikallinen portage.old srcJos määrität vaihtoehdon -a, voit nähdä kaikki tiedostot, myös piilotetut (jonkien nimet alkavat pisteellä).
\$ ls-a. bin gentoo-x86 sisältää libexec portage share tmp .. distfiles i686-linux info paikallinen portage.old src X11R6 doc i686-pc-linux-gnu lib man sbin sslYksityiskohtainen luettelo hakemistoista
Komennon jälkeen ls yksi tai useampi tiedosto tai hakemisto voidaan määrittää sen argumentiksi. Jos määrität tiedostonimen, niin komento ls näyttää tiedot vain kyseisestä tiedostosta. Ja jos määrität hakemiston nimen, ls näyttää kaiken sisällön. Vaihtoehto '-l' komentoja ls voi olla erittäin hyödyllinen, jos haluat tietää enemmän kuin tiedostonimiä yksityiskohtainen tieto niistä (tiedoston käyttöoikeudet, omistajan nimi, tiedoston viimeinen muokkausaika ja sen koko).
Seuraava esimerkki näyttää vaihtoehdon käytön '-l' näyttää tietoja /usr-hakemistoon tallennetuista tiedostoista
\$ ls -l /usr drwxr-xr-x 7 juurijuuri 168. 24. marraskuuta 14:02 X11R6 drwxr-xr-x 2 juurijuuri 14576 27. joulukuuta 08:56 bin drwxr-xr-x 2 juurijuuri 8856 26. joulukuuta 12:47 root2rwx dist. 0: 57 dokumenttia -> jaa/doc drwxr-xr-x 62 juurijuuri 1856 27. joulukuuta 15:54 gentoo-x86 drwxr-xr-x 4 juurijuuri 152 12. joulukuuta 23:10 i686-linux drwxr-xr-x 686-linux drwxr-xr-x 6v 6 7 root 4 kpl 6v 6 7 root 4 kpl 6v 8 nu drwx r-xr-x 54 juurijuuri 5992 24. joulukuuta 22:30 sisältää lrwxrwxrwx 1 juurijuuri 10. 22. 20. 57 info -> share/info drwxr-xr-x 28 juurijuuri 13552 26. joulukuuta 22. libx 3 0 root 2000:3r 3 juuri 00:3r 0:34 libexec drwxr-xr-x 8 juurijuuri 240 22. joulukuuta 20:57 paikallinen lrwxrwxrwx 1 juurijuuri 9. 22. 20:57 mies -> jaa/mies lrwxrwxrwx 1 juurijuuri 11. joulukuuta juuri 1864 8. joulukuuta 07:55 portage.old drwxr-xr-x 3 juurijuuri 3096 22. joulukuuta 20:57 sbin drwxr-xr-x 46 juurijuuri 1144 24. joulukuuta 15:32 share drwxr-xr-x 8 drwxr-xr-x 8 root0 x 6 juurijuuri 176. 24. marraskuuta 14:25 ssl lrwxrwxrwx 1 juurijuuri 10. 22. joulukuuta 20:57 tmp -> ../var/tmpEnsimmäinen sarake näyttää tietoja kunkin luettelon tiedoston käyttöoikeuksista. (Selitän hieman myöhemmin, mikä kirjain tarkoittaa mitä.) Seuraava sarake näyttää linkkien lukumäärän luettelon kuhunkin elementtiin. Kolmas ja neljäs sarake ovat vastaavasti tiedoston omistaja ja ryhmä. Viides sarake on koko. Kuudes on aika, jolloin tiedostoa on viimeksi muokattu ("viimeisen muokkauksen aika" tai mtime). Viimeinen sarake on tiedoston tai hakemiston nimi (jos tämä on linkki, sitten " –> "on sen kohteen nimi, johon se viittaa).
Kuinka tarkastella vain hakemistoja
Joskus on tarpeen tarkastella tietoja vain hakemistoista, ei koko niiden sisällöstä. Vaihtoehto auttaa tässä tehtävässä. '-d', joka käskee komennon näyttämään tiedot vain hakemistoista. Esimerkki:
\$ ls -dl /usr /usr/bin /usr/X11R6/bin ../share drwxr-xr-x 4 juurijuuri 96. 18. joulukuuta 18:17 ../share drwxr-xr-x 17 juurijuuri 576 24. joulukuuta 09:03 /usr drwxr-xr-x 2 juurijuuri 3192 26. joulukuuta 12:51 root 12r4/rootxwxr6 576 27. joulukuuta 08:56 /usr/binRekursiivinen lista ja inode-tiedot
Vaihtoehtotoiminto "-R" vastakkainen toiminta '-d'. Sen avulla voit näyttää tietoja hakemiston tiedostoista rekursiivisesti. Hakemiston sisältö näytetään ensin. huipputaso, sitten vuorostaan kaikkien alihakemistojen sisältö ja niin edelleen. Tämän komennon tulos voi olla melko suuri, joten emme anna siitä esimerkkiä, mutta voit kokeilla sitä itse kirjoittamalla ls -R'tai' ls-RL‘.
Ja lopuksi vaihtoehto '-minä' käytetään tulostamaan kunkin tiedostojärjestelmäobjektin inodit.
\$ ls -i /usr 1409 X11R6 314258 i686-linux 43090 libexec 13394 sbin 1417 bin 3892 portage 36737 ssl 70744 gentoo-x86 1585 lib 5132 portage .tmpMitä inodit ovat?
Jokaisella tiedostojärjestelmän objektilla (tiedosto, hakemisto ...) on oma yksilöllinen numeronsa, nimeltään inode(inodinumero). Nämä tiedot voivat tuntua merkityksettömiltä, mutta inodien toiminnan ymmärtäminen auttaa sinua ymmärtämään monia tiedostojärjestelmän toimintoja. Katsotaanpa esimerkiksi «.» Ja «..» kuten kussakin hakemistossa olevat linkit. Ymmärtääksesi mitä hakemisto on «..» , selvitä /use/local-hakemiston inode
\$ ls -id /usr/local 5120 /usr/localKuten näemme, /usr/local-hakemiston inode on 5120. Katsotaan nyt mikä inode /usr/local/bin/..-hakemistossa on:
\$ ls -id /usr/local/bin/.. 5120 /usr/local/bin/..Osoittautuu, että hakemistojen /usr/local ja /usr/local/bin/.. inodit ovat samat! Tämä tarkoittaa, että kaksi nimeä viittaa inode 5120:een: /usr/local ja /usr/local/bin/.. Eli nämä ovat kaksi eri nimeä samalle hakemistolle. Jokainen inode osoittaa tiettyyn kohtaan levyllä.
Jokaiseen inodiin voi liittyä useita tiedostojärjestelmän objektien nimiä. Tiedostojen 'synonyymien' määrä (yhdelle inodille viittaavat tiedostojärjestelmän objektit) näyttää numeron komennon tulosteen toisessa sarakkeessa. ls-l‘.
\$ ls -dl /usr/local drwxr-xr-x 8 juurijuuri 240. 22. joulukuuta 20:57 /usr/localTässä esimerkissä voit nähdä (toisessa sarakkeessa), että 8 eri tiedostojärjestelmäobjektia viittaa /usr/local-hakemistoon. Tässä heidän nimensä:
/usr/local /usr/local/. /usr/local/bin/.. /usr/local/games/.. /usr/local/lib/.. /usr/local/sbin/.. /usr/local/share/.. /usr/local/src/..
mkdir
Katsotaanpa käskyä mkdir. Sitä käytetään uusien hakemistojen luomiseen. Seuraava esimerkki osoittaa kolmen uuden hakemiston (tic, tac, toe) luomisen /tmp-hakemistoon
\$ cd /tmp $ mkdir tic tac toeOletuskomento mkdir ei voi luoda sisäkkäistä hakemistorakennetta. Siksi, jos sinun on luotava useita sisäkkäisiä hakemistoja ( ihana), sinun on kutsuttava tätä komentoa kolme kertaa peräkkäin:
\$ mkdir won/der/ful mkdir: ei voi luoda hakemistoa "won/der/ful": Ei tällaista tiedostoa tai hakemistoa \$ mkdir voitti \$ mkdir voitti/der \$ mkdir won/der/fulVoit yksinkertaistaa tätä toimintoa lisäämällä vaihtoehdon "-p" mkdir-komentoon. Tämän vaihtoehdon avulla voit luoda sisäkkäisen hakemistorakenteen:
\$ mkdir -p easy/as/pieSaat lisätietoja tämän apuohjelman ominaisuuksista lukemalla komennon kutsuman ohjeen mies mkdir. Apua on saatavana melkein kaikille tämän oppaan komentoille (esim. mies ls), paitsi CD, koska se on sisäänrakennettu bashiin (tällaisille komentoille apua kutsutaan seuraavasti: ohje cd)
kosketus
Siirrytään komentojen oppimiseen cp Ja mv, jota käytetään tiedostojen ja hakemistojen kopioimiseen, uudelleennimeämiseen ja siirtämiseen. Mutta ennen sitä luodaan tyhjä tiedosto /tmp-hakemistoon komennolla kosketus:
\$ cd /tmp \$ kosketa copymeTiimi kosketus päivittää kellonajan viimeinen pääsy tiedostoon (komennon lähdön kuudes sarake ls-l), jos se on jo olemassa, tai luo uuden tyhjän tiedoston, jos sitä ei vielä ole. Tämän toiminnon jälkeen meillä pitäisi olla tyhjä tiedosto /tmp/copyme.
kaiku
Nyt kun meillä on tyhjä tiedosto, kirjoitetaan siihen tekstimerkkijono komentoa käyttämällä kaiku, joka tulostaa sille välitetyn argumentin tavallinen laite lähtö (tekstipääte tässä tapauksessa).
\$ echo "ensimmäinen tiedosto" ensimmäinen tiedostoJos haluat kirjoittaa merkkijonon tiedostoomme, ohjaamme komennon tulosteen siihen kaiku:
\$ echo "firstfile" > copymeMerkki > (suurempi) käskee komentotulkkia ohjaamaan vasemmalla olevan komennon tulosteen oikealla olevaan tiedostonimeen. Jos samannimistä tiedostoa ei ole olemassa, se luodaan automaattisesti. Ja jos tällainen tiedosto on jo olemassa, se korvataan (kaikki sen sisältö poistetaan ennen rivimme kirjoittamista). Tiimi 's - minä' näyttää, että tiedostomme koko on nyt 10 tavua - yhdeksän tavua varaa sana "firstfile" ja yksi tavu on rivinvaihtomerkki.
\$ ls -l kopio-rw-r--r-- 1 juurijuuri 10. joulukuuta 28 14:13 copymekissa ja cp
Voit näyttää tiedoston sisällön päätteessä käyttämällä komentoa kissa:
\$ kissan kopio ensimmäinen tiedostoNyt voimme alkaa jäsentämään komennon perustoimintoja cp. Tämä komento vaatii kaksi argumenttia. Ensimmäinen on jo olemassa olevan tiedoston nimi ('copyme'), toinen on sen uuden kopion nimi, jonka haluamme tehdä ('copyme').
\$ cp copyme copiedmeVoimme varmistaa sen uusi kopio tiedostolla on eri inode-numero (tämä tarkoittaa, että saimme todella uuden erillisen tiedoston, eikä vain linkkiä vanhaan)
\$ ls -i copyme kopioinut minut 648284 kopiomv
Otetaan nyt komento käyttöön mv nimetäksesi tiedoston uudelleen ("copiedme" -> "movedme"). Inodin numero tämän toiminnon jälkeen ei muutu, mutta vain tiedoston nimi muuttuu.
\$ mv kopioi-minua-siirsi-minua \$ Muutin minua 648284 movedmeInode-numero ei muutu vain sillä ehdolla, että uudelleennimetty tiedosto pysyy tiedostojärjestelmässä, jossa se sijaitsi alkuperäinen tiedosto. Tarkastellaan lähemmin, kuinka tiedostojärjestelmät on järjestetty tämän opetusohjelman myöhemmässä osassa.
Tiimi mv voit paitsi nimetä tiedostoja uudelleen, myös siirtää niitä. Esimerkiksi tiedoston siirtäminen /var/tmp/omatiedosto.txt hakemistoon /koti/käyttäjä sinun täytyy antaa komento:
\$ mv /var/tmp/omatiedosto.txt /home/userTiedosto siirretään käyttäjän kotihakemistoon käyttäjä vaikka se olisi eri tiedostojärjestelmässä (tässä tapauksessa tiedosto kopioidaan uuteen paikkaan ja alkuperäinen poistetaan). Kuten olet ehkä jo arvannut, tiedoston siirtäminen toiseen tiedostojärjestelmään muuttaa sen inodin. Tämä johtuu siitä, että jokaisella tiedostojärjestelmällä on omat inode-sarjansa.
On huomattava, että on mahdollista, että uusi annettu inodinumero voi olla sama kuin vanha, mutta se on erittäin pieni.
Jos haluat siirtää useita tiedostoja samanaikaisesti yhteen hakemistoon, sinun on kirjoitettava:
\$ mv /var/tmp/myfile1.txt /var/tmp/myfile2.txt /home/user \$ mv -t /home/user /var/tmp/omatiedosto1.txt /var/tmp/omatiedosto2.txtJos lisäät vaihtoehdon "-v", näytölle tulee raportti suoritetusta toimenpiteestä:
\$ mv -vt /home/user /var/tmp/myfile1.txt /var/tmp/omatiedosto2.txt"/var/tmp/omatiedosto1.txt" -> "/home/user/omatiedosto1.txt" "/var/tmp/omatiedosto2.txt" -> "/home/user/omatiedosto2.txt"Useimmissa Linux-käyttöjärjestelmissä bash on oletuskomentorivin tulkki. Määritä nykyinen tulkki antamalla seuraava komento:
$ echo $SHELL
/bin/bash
Tämä esimerkki käyttääkomentorivin tulkki lyödä. On monia muita komentotulkkeja. Aktivoidaksesi toisen tulkin, voit kirjoittaa sen nimen komentoriville (ksh, tcsh, csh, sh, bash jne.).
Useimmat täysin varustetut Linux-käyttöjärjestelmät tarjoavat kaikki tässä kuvatut komentotulkit. Pienemmissä käyttöjärjestelmissä voidaan kuitenkin tarjota yksi tai kaksi tulkkia.
Tarkastetaan kiinnostuneen henkilön saatavuustulkkikomentorivi
Helpoin tapa tarkistaa kiinnostavan kuoren saatavuus on kirjoittaa sen nimi komentoriville. Jos tulkki on alkanut, se on käytettävissä.
Vaihtoehtoisten kuorien valitsemiseen on useita syitä.
- Tapana työskennellä System V UNIX -järjestelmissä (joista monet käyttävät oletuksena ksh-tulkkia) tai Sun Microsystemsissä ja muissa Berkeley UNIX -pohjaisissa järjestelmissä (jotka käyttävät usein csh:ta). Tässä tapauksessa näiden tulkkien käyttökomentorivitulee olemaan kätevämpää.
- Tarve suorittaa komentosarjat, jotka on luotu tietylle kuorelle.
- Vaihtoehtoisia kuoriominaisuuksia voidaan suosia. Esimerkiksi yksi Linux-käyttäjäryhmän jäsen käyttää mieluummin ksh:ta, koska hän ei pidä tavasta, jolla aliaksia luodaan bashissa.
Vaikka useimmat käyttäjät haluavat työskennellä yhdessä kuoressa, saadut taidot auttavat heitä oppimaan työskentelemään muissa.tulkit komentorivi välillä katsomassa viiteopas(esimerkiksi käyttämällä manbash-komentoa). Useimmat käyttävät bashia, koska ei ole mitään syytä vaihtaa toiseen tulkkiin.
Käyttämällä bashia ja ch
Nimi bash on lyhenne sanoista Bourne Again SHell. Tämä lyhenne osoittaa, että bash perii Bourneshell-tulkin (sh-komennon), jonka on luonut Steve Bourne AT&TBell Labsista. Brian Fox Freeiltä Software Foundation loi bashin osana GNU-projektia. Jatkokehitys siirtyi Chet Rameyn käsiin Case Western Reserve -yliopistossa.
Bash-tulkki sisältää ominaisuuksia, jotka kehitettiin tuolloin sh- ja ksh-tulkeille varhaiset versiot UNIX, sekä useita csh-tulkin ominaisuuksia.
Voidaan odottaa, että useimmissa Linux-järjestelmissä, paitsi erikoistuneissa järjestelmissä (esimerkiksi sulautettu tai käynnistetty ulkoinen asema), bash-tulkkia käytetään oletuksena. Erikoisjärjestelmät voivat vaatia pienemmän kuoren, mikä merkitsee rajoituksia.
Suurin osa esimerkeistä tässäartiklasuunniteltu bashiin.
Bash-tulkkia voidaan käyttää useissa yhteensopivuustiloissa, mikä jäljittelee muiden komentotulkkien käyttäytymistä. Se voi jäljitellä Bourne-kuoren (sh) tai POSK-yhteensopivan komentotulkin (bash -posix).
Tämän seurauksena bash-tulkki pystyy todennäköisemmin lukemaan konfiguraatiotiedostoja ja suorittamaan erityisesti muille komentotulkeille kirjoitettuja komentosarjoja.
Kaikki toimitetut Linux-käyttöjärjestelmät käyttävät oletuksena bash-tulkkia, lukuun ottamatta käyttöjärjestelmiä, jotka on ladattu irrotettava tietoväline, jotka käyttävät oletuksena tuhkatulkkia.
tcsh:n (ja aikaisemman csh-tulkin) käyttäminen
Tcsh-komentotulkki on Cshell (csh) -tulkin avoimen lähdekoodin toteutus. Bill Joy loi csh-tulkin, ja sitä käytetään oletuksena melkein kaikissa Berkeley UNIX -järjestelmissä (sellaisia järjestelmiä jakeli Sun Microsystems).
Monet csh:n ominaisuuksista, kuten komentorivimuokkaus ja komentohistorian hallintamenetelmät, on toteutettu tcsh-kuoressa ja muissa komentotulkeissa. Aivan kuten sh-komento käynnistää bash-tulkin sh-yhteensopivuustilassa, csh-komento käynnistää tcsh-tulkin csh-yhteensopivuustilassa.
Ash tulkin käyttö
Ash-tulkki on kevyt versio Berkeley UNIX sh -tulkista. Se ei sisällä monia perusominaisuuksia eikä tarjoa ominaisuuksia, kuten komentohistoria.
Ash-tulkki soveltuu hyvin käytettäväksi sulautetuissa järjestelmissä, joissa järjestelmäresurssit ovat rajalliset. FedoraCore 4:ssä ash-tulkki on suuruusluokkaa pienempi kuin bash-tulkki.
Käyttämällä zsh
Zsh-tulkki on toinen sh-tulkin klooni. Se on POSIX-standardin mukainen (kuten bash), mutta siinä on muita ominaisuuksia, kuten oikeinkirjoituksen tarkistus ja erilainen lähestymistapa komentorivimuokkaukseen. Zsh-tulkki oli oletustulkki varhaisissa käyttöjärjestelmissä. macOS-järjestelmät X mutta sisään nykyaikaiset järjestelmät bash-tulkkia käytetään oletuksena.
Tärkein käyttäjän prosesseista on komentotulkki (se on myös komentotulkki tai yksinkertaisesti komentotulkki). Hän tarjoaa käyttäjän vuorovaikutuksen järjestelmän kanssa tekstitilassa, jolloin voit kirjoittaa komentoja. Se toimii, kun kirjaudut sisään tekstikonsoliin, ja tarjoaa sinulle komentoriviliittymän.
Ei tarvetta, mukavuudet vievät mukanaan GUI, aliarvioi komentorivi. Ensinnäkin monet hallinnolliset tehtävät voidaan suorittaa vain sieltä; toiseksi komentorivi on kätevin tapa automatisoida rutiinitoimenpiteet. Linuxissa komento on kaikki mitä voidaan suorittaa: suoritettavat tiedostot, sisäänrakennetut komentotulkkikomennot, komentoaliakset, käyttäjän määrittämät funktiot, komentosarjatiedostot (skriptit) - valmiiksi valmistetut komentosarjat tekstimuodossa.
Täten, komentojen tulkki on ohjelma, jolla on omat sisäänrakennetut komennot, oma muuttuva ympäristö (ympäristö) ja jonka avulla voit myös suorittaa järjestelmässä olevia ulkoisia komentoja.
Shell hyväksyy käyttäjän toimittamat komennot, käsittelee tarvittaessa niiden argumentit, lähettää komennot suoritettaviksi, hyväksyy niiden palautusarvot ja suorittaa tiettyjä toimintoja näiden arvojen perusteella. Lisäksi kuoressa on sisäänrakennettu ohjelmointikieli (komentokieli), jonka avulla voit kirjoittaa monimutkaisia haarautuneita komentosarjoja. Se on komentokieli, joka erottaa eri kuoret toisistaan, ja siitä käyttäjät aloittavat valitessaan komentotulkoja.
Linux on Unixin kaltainen käyttöjärjestelmä. Linuxin kehitti alun perin Linus Torvalds Helsingin yliopistossa (Suomi) pohjautuen Andry Tanenbaumin luomaan Minixiin, pieneen UNIX-järjestelmään. Varhainen kehitys Linux oli ensisijaisesti huolissaan 80386 suojatun tilan tehtävänvaihto-ongelmasta. Ja Linus "alkoi vakavasti harkita maanisen ajatusta kuinka tehdä Minixistä itseään parempi."
UNIX-järjestelmien komentotulkki oli jo olemassa, se oli "Bourne shell" (Bourne shell tai yksinkertaisesti shell). Hieman myöhemmin UNIX-järjestelmät kehittivät C-kuoren, joka käyttää erilaista syntaksia, joka muistuttaa hieman C-ohjelmointikielen syntaksia.
Monet kuoret on kehitetty Linuxille. Pääasiallinen oletusarvo on "Bash", joka on kehitetty kuoripohjainen ja nimeltään "New Shell of Bourne" (Bourne Again Shell). Siten Bash on vanhan kuoren evoluutio, joka lisää monia hyödyllisiä ominaisuuksia, jotka löytyvät osittain C-kuoresta. Koska Bashia voidaan pitää vanhan komentotulkkisyntaksin superjoukkona, minkä tahansa vanhalla hyvällä Bourne-kuorella kirjoitetun ohjelman pitäisi toimia Bashissa.
On kuitenkin huomattava, että Linux ei ole UNIX-järjestelmä, koska sen koodi kirjoitettiin kokonaan uudelleen, alun perin Linus, myöhemmin monien UNIX-ohjelmoijien ja Internetin harrastajien avulla, joilla on tarpeeksi taitoja ja kykyjä kehittää järjestelmää.
Linux-ydin ei käytä UNIX-koodeja tai mitään muuta omaa lähdettä, ja useimmat Linux-ohjelmat kehitetty Free Software Foundationin GNU-projektissa Cambridgessa, Massachusettsissa. Mutta ohjelmoijat kaikkialta maailmasta myös osallistuivat siihen.
Tässä ovat yleisimmät Linux-komentotulkit:
- Bourne-kuori - Bourne-kuori, vakiona monissa UNIX-tyyppisissä järjestelmissä;
- bash - Bourne Again -kuori, "uusi Bourne-kuori" (käytetään oletuksena Linuxissa);
- csh - C-kuori, C-kuori: sen komentokielen syntaksi on samanlainen kuin C-kielen;
- tcsh - pieni C-kuori, minimaalinen C-kuori;
- pdksh - julkinen Korn-kuori, julkinen Korn-kuori;
- sash - erillinen kuori, voidaan käyttää, kun ohjelmistokirjastoja ei ole saatavilla.
Luettelo kaikista järjestelmään asennetuista shell-ohjelmista on /etc/shells-tiedostossa.
Jokaisen käyttäjän ensimmäinen komentotulkki, joka käynnistetään hänelle kirjautuessaan järjestelmään, on määritetty /etc/passwd-tiedostossa. Se ei välttämättä ole kauheaa. Ylläpitäjä voi tietyt käyttäjät estää kirjautumisen määrittämällä /sbin/nologin rekisteröinnin jälkeen ladatuksi "shelliksi". Tai jopa määritä erityisesti suunniteltu komentosarja, jonka avulla voit tarkastella esimerkiksi toga-lokeja (lokeja).
Voit muokata /etc/passwd-tiedostoa Linuxissa erityinen joukkue vipw , joka tarkistaa, onko muokkaus oikein (komento on vain järjestelmänvalvojan käytettävissä).
Jatkossa, kun työskentelet oletuskuoressa, voit muuttaa nykyisen kuoren mihin tahansa asennetuista (tarkemmin sanottuna syöttämällä alikuoren). Poistuaksesi siitä ja palataksesi pääkuoreen kirjoittamalla exit-komento. Alkukuoressa tämä komento päättää istunnon.
Missä tahansa komentotulkissa voit suorittaa komentosarjoja, jotka koostuvat toisen komentotulkin komennoista: kunkin komentosarjan ensimmäinen rivi määrittää, missä komentotulkissa se tulee suorittaa, ja nykyinen komentotulkki käynnistää sille aliprosessiksi määritetyn komentosarjan.
Kuten sanoin, oletuksena uudelle käyttäjälle on määritetty bash-kuori. Se on loistava kuori, joka sisältää monia parannuksia ja parhaita ominaisuuksia muista kuorista, enkä suosittele sen vaihtamista. Tulevaisuudessa, kun sanon "kuori", tarkoitan bashia.
2. Komentorivin jäsentäminen, bash-suosikit
Tulkki, saatuaan komentorivin, suorittaa siihen useita muunnoksia käyttämällä tehokkaita toimintojaan tähän, nimittäin:
- Laajentaa aliaksia kohteelle pikakuvake yleisimmin käytetyt komennot.
- Laajentaa jokerimerkit tai jokerimerkit (*, ?, [, ], ~, (, )) etsiäkseen tiedostoja nimimallien perusteella.
- Korvaa muuttujat, joita kuori voi käyttää.
- Uudelleenohjaa yhden komennon lähdön syötteenä toiseen komentoon putken avulla.
- Suorittaa komentojen yhdistämisen.
- Suorittaa komennon, jos se on tulkin sisäänrakennettu komento, tai käynnistää prosessin, jos komento on ulkoinen.
- Uudelleenohjaukset vakiotulo/päätelmä.
Kolme viimeistä toimintoa vaativat erikoisoperaattoreita. Katsotaanpa kaikkia näitä ominaisuuksia.
2.1. Aliakset
Komentoaliakset on suunniteltu tarjoamaan tehokkaampaa komentotulkkikomentojen kirjoittamista. Aliaksen avulla lähes minkä tahansa monimutkainen komento voidaan korvata mielivaltaisella merkkijonolla. Jos haluat tarkastella aliasluetteloa ja tarvittaessa lisätä siihen uuden aliaksen, käytä alias-komentoa.
Esimerkiksi:
$ export HELLO="Terve ympäristöstä!" # välilyönti tulee merkitä lainausmerkeillä
Ympäristömuuttujat
Ympäristö on joukko muuttujia, joiden arvot voivat muuttaa kuoren käyttäytymistä.
Kun kuori käynnistyy, se asettaa muutaman ympäristömuuttujat. Heidän nimensä ovat vakioita. Ohjelmat ja komentosarjat voivat kysellä arvojaan sen sijaan, että yrittäisivät selvittää tarvitsemansa tiedot itse.
Siten kuori määrittää ympäristömuuttujat, joita käytetään nykyisessä istunnossa. Jokainen syötetty uusi komento käynnistetään itse asiassa pääprosessin aliprosessina, joka tässä tapauksessa on bash-kuori. Ympäristömuuttujat ovat erilaisia vaihtelevia aiheita että ne ovat sekä vanhempien että lasten prosessien saatavilla. Ympäristömuuttujien automaattinen tunnistus tapahtuu käyttäjän todennuksen jälkeen järjestelmässä. Jos todennusprosessi on suoritettu onnistuneesti, kirjautumisohjelma määrittää /etc/passwd-tiedoston perusteella, mitä komentotulkkia käytetään tämän käyttäjän istunnossa. Kun komentotulkki on määritetty, istunto konfiguroidaan alla olevien asetustiedostojen mukaisesti.
Asetustiedosto | Kuvaus |
---|---|
/etc/profile |
Määrittää ympäristömuuttujat kaikille järjestelmän käyttäjille. Tämä tiedosto suoritetaan ensimmäisen sisäänkirjautumisen yhteydessä ja sisältää tärkeimmät ympäristömuuttujat, kuten PATH-komennon sijaintihakumuuttujan, HOSTNAME hostname-muuttujan ja HISTSIZE-komentohistorian kokomuuttujan. Lisäksi tämä tiedosto luo ylimääräisiä ympäristömuuttujia /etc/profile.d-hakemistossa olevista asetustiedostoista. |
/etc/bashrc |
Suoritetaan kaikille käyttäjille aina kun bash-kuori käynnistetään. Tämä tiedosto määrittää PS1-muuttujan arvon sekä muut komentoaliakset (aliakset). Alias on lyhennetty mielivaltaisesti annettu nimi komennosta tai komentosarjasta, jonka avulla voit suorittaa monimutkaisia komentosarjoja kirjoittamatta niitä näppäimistöltä, vaan kutsumalla niitä kutsumalla vastaavaan aliakseen. Tässä tiedostossa määritetyt muuttujat voidaan ohittaa samankaltaisella käyttäjätiedostolla -/.bashrc, jolla on korkeampi prioriteetti. |
-/.bash-profiili |
Käytetään tiedostona, joka sisältää yksittäisiä käyttäjäasetuksia. Toimii vain kerran, kun käyttäjä kirjautuu sisään. Lisäksi tämä tiedosto käynnistää tiedoston -/.bashrc |
~/.bashrc | Tämä tiedosto sisältää ympäristömuuttujia ja aliaksia käyttäjän asentama. Se suoritetaan aina, kun käyttäjä kirjautuu sisään tai avaa uuden bash-istunnon. Tämä tiedosto sopii parhaiten mukautettujen muuttujien ja aliasten määrittämiseen. |
~/.bash_logout | Tämä tiedosto suoritetaan aina, kun kirjaudut ulos tai poistut viimeisestä bash-istunnosta. Oletuksena tämä tiedosto sisältää komennon päätteen näytön tyhjentämiseksi. |
/etc/inputrc | Tämä tiedosto sisältää kuvauksen eri näppäinyhdistelmien tulkinnasta ja sisältää myös erityisiä näppäinyhdistelmiä, joiden painaminen suorittaa määritettyjä komentoja. |
Ympäristömuuttujat ovat melko kätevä tapa tallentaa tietoja, joita käytetään usein nykyisessä istunnossa järjestelmän kanssa. Tarvittaessa käyttäjä voi luoda melkein mitä tahansa ympäristömuuttujia (yritä olla muuttamatta jo käytössä olevien ympäristömuuttujien arvoja) ja lukea niiden arvot koko kuoren keston ajan. Jos haluat luoda väliaikaisen ympäristömuuttujan, kirjoita sen nimi ja anna sille sopiva arvo. Esimerkiksi,
vienti AB=/usr/dog/contagious/ringbearer/grind
SISÄÄN tämä esimerkki tilapäinen ympäristömuuttuja AB asetetaan polulle hakemistoon, joka sijaitsee "riittävän syvällä" tiedostojärjestelmän hakemistohierarkiassa. Vientikomento määrittää, että muuttujan AB arvo tulee viedä komentotulkkiin, jotta se olisi muiden nykyisen järjestelmäistunnon aikana avattavien komentotulkkien käytettävissä. Yllä olevaan hakemistoon pääsee nyt suorittamalla cd $AB
Väliaikaisten ympäristömuuttujien ainoa haittapuoli on, että ne tuhoutuvat automaattisesti, kun nykyinen istunto järjestelmän kanssa päättyy. Pysyvän (tilapäisen) ympäristömuuttujan luomiseksi se on lisättävä .bashrc-komentotulkin määritystiedostoon.
Sinun on oltava pääkäyttäjä, jotta voit muokata /etc/profile- ja /etc/bashrc-määritystiedostoja.
Tavalliset käyttäjät voivat muokata kotihakemistoissaan olevia ~/.bash_profile-, ~/.bashrc- ja ~/.bash_Iogout-määritystiedostoja. Nämä määritystiedostot voivat sisältää muuttujiensa asettamisen ympäristössä export-komennolla ja käyttää niitä missä tahansa istunnossa.
Yksi useimmin vaihdetuista ympäristömuuttujista on PATH-muuttuja. Voit myös ohittaa PATH-ympäristömuuttujan tai lisätä siihen asetustiedosto~/.bashrc.
tässä esimerkissä PATH-muuttuja sisältää sen nykyisen arvon sekä kotihakemiston suoritettavien tiedostojen hakupoluksi.
Jotta nämä muutokset voidaan ottaa käyttöön nykyisessä shell-ympäristössä, sinun on suoritettava lähdekoodi.bashrc-komento
Yleisimmät shell-ympäristömuuttujat ovat:
- BASH - Sisältää täysi polku Vastaanottaja bash-komento(yleensä tämän muuttujan arvo on /bin/bash).
- BASH_VERSION - bash-versionumero.
- DIRSTACK - Joukko, joka sisältää nykyisen hakemistopinon arvon.
- EDITOR on oletustekstieditori.
- EUID – Nykyisen käyttäjän numeerinen voimassa oleva tunnus.
- FUNCNAME - nimi nykyinen toiminto käsikirjoituksessa.
- RYHMÄT - Matriisi, joka sisältää luettelon ryhmistä, joihin nykyinen käyttäjä kuuluu.
- HISTFILE - komentohistoriatiedoston sijainti. Tyypillisesti komentohistoria tallennetaan ~/.bash_history-tiedostoon.
- HISTFILESIZE - Historiatiedostoon tallennettavien komentorivien määrä. Kun tämä määrä on saavutettu, uudet komentorivit kirjataan historiaan poistamalla aikaisimmat komentorivit. Viimeksi käytettyjen komentojen oletusluettelo on 1000 riviä.
- HOME - Käyttäjän kotihakemisto.
- HOSTNAME - Nimi Tämä tietokone(solmu).
- HOSTTYPE - Tietokonetyyppi.
- LANG – Nykyinen oletuskieli.
- LC_CTYPE on sisäinen muuttuja, joka määrittää merkkikoodauksen.
- MAIL - Postilaatikon tiedostojen sijainnit Sähköposti käyttäjä. Tyypillisesti tämä on /var/spool/mail-hakemistossa oleva tiedosto, jonka nimi on sama kuin käyttäjän kirjautumisnimi.
- MAILCHECK - Postin tarkistusten välinen aika minuuteissa.
- OLDPWD - Hakemisto, joka oli voimassa ennen hakemiston viimeistä muutosta.
- OSTYPE - Nykyinen käyttöjärjestelmä.
- PATH - Kaksoispisteillä eroteltu luettelo hakemistoista suoritettavien tiedostojen etsimiseksi. Järjestys, jossa hakemistojen nimet tutkitaan, on kriittinen. Kun komentoja suoritetaan, tässä muuttujassa luetellut hakemistot tarkistetaan peräkkäin vasemmalta oikealle. Siten /bin- ja /usr/bin-hakemistoissa olevan komennon foo suorittaminen suorittaa /bin-hakemistossa olevan komennon. Suorittaaksesi /usr/bin-hakemistossa olevan foo-komennon vastaavassa tilanteessa, sinun on joko määritettävä koko polku tähän komennossa tai muutettava hakemistojen nimien järjestystä PATH-ympäristömuuttujassa. Nykyinen hakuhakemisto on määritettävä eksplisiittisesti ("."), komentotulkki ei oletuksena etsi nykyisestä hakemistosta. Suoritettavien ohjelmien etsiminen nykyisestä hakemistosta on mahdollisesti vaarallista tahattoman suoritusmahdollisuuden vuoksi vaarallinen ohjelma, joten PATH-muuttuja alustetaan yleensä ilman "." Jos haluat lisätä polun omiin shell-komentoihin tai skripteihin PATH-muuttujaasi, sijoita ne kotihakemistosi /bin-alihakemistoon, joka lisätään automaattisesti PATH-muuttujaan. Ei kaikki suoritettavat komennot sijaitsevat PATH-ympäristömuuttujan hakemistoissa. Jotkut komennot on rakennettu suoraan kuoreen. Muut komennot voidaan määrittää uudelleen käyttämällä aliaksia, jolloin voit korvata komennot lähes minkä tahansa monimutkaisilla parametreilla (syntaksin suhteen) yhdellä yksinkertaisella nimellä. Lisäksi on mahdollista luoda toimintoja, jotka tallentavat koko sarjan komentoja.
- PPID- Tunnusnumero prosessi, joka vastaa komentoa, joka käynnisti nykyisen komentotulkin (esimerkiksi prosessi, joka synnytti komentotulkin).
- PS1, PS2, PS3, PS4 - Muuttujat, jotka määrittävät kuorikehotteen ulkoasun.
Muuttujat PS1 ja PS2 asettavat ensisijaiset ja toissijaiset komentotulkkikehotteet.
Toissijainen kehote (PS2) tulee näkyviin, jos napsautit Enter-näppäin, ilman syntaktista komentosyöttöä.
Tämä muuttuja sisältää pienen kehotteen, joka ilmenee monirivisen tekstin muokkauksen tai epätäydellisen komennon syöttämisen yhteydessä. Oletuksena se on merkitty >.
PS3. Tämä muuttuja sisältää sisällä olevan kehotteen valitse lausunto, jota käytetään interaktiivisten konsolin valikkojen järjestämiseen. Oletusarvoisesti valintalausekkeen PS3-kehote on #?.
PS4. Tätä muuttujaa käytetään ensisijaisesti shell-skriptien virheenkorjauksessa, ja se sisältää oletusarvoisesti merkkijonoarvon "++".
Esimerkiksi get-komennon suorittaminen DNS-tiedot:
#nslookup>
- PWD - Käyttäjän nykyinen työhakemisto. Tämä arvo muuttuu aina, kun vaihdat hakemistoa cd-komennolla.
- SECONDS - skriptin ajoaika (sekunteina).
- SHELL - Nykyinen komentojen tulkki.
- SHELLOPTS - Luettelo mukana olevista tulkkivaihtoehdoista.
- SHLVL - komentotulkin uusien kopioiden käynnistysten määrä.
- UID - Nykyisen käyttäjän numeerinen tunnus.
- KÄYTTÄJÄ - Nykyisen käyttäjän nimi.
- $# - Skriptille välitettyjen parametrien kokonaismäärä.
- $* - Kaikki argumentit välitetään nyt komentosarjalle (näytetään merkkijonona).
- $@ - Sama kuin edellinen, mutta parametrit näytetään sarakkeessa.
- $! - Viimeisimmän taustalla käynnissä olevan prosessin PID.
- $$ - itse skriptin PID.
Jos haluat tarkastella kaikkien nykyisen istunnon muuttujien, sekä määrittelemiesi muuttujien että ympäristömuuttujien arvoja, anna set-komento ilman valintoja tai env printenv .
Voit poistaa muuttujan unset-komennolla.
2.4. Korvaukset ja komentojen välisen vuorovaikutuksen organisointi
Ympäristömuuttujan korvaaminen nykyinen istunto järjestelmän kanssa voidaan tehdä käyttämällä dollarimerkin ($) metamerkkiä. Tämän seurauksena kuori korvaa muuttujan nimen automaattisesti arvollaan. Esimerkiksi,
Aritmeettisen lausekkeen laskennan tuloksen korvaaminen
Aritmeettisen lausekkeen arvioinnin tuloksen korvaamiseen on kaksi syntaktista muotoa: $[lauseke] ja $((lauseke)). Esimerkiksi,
echo "Olen $ vuotta vanha."
Komennon korvaaminen
Komentokorvaus antaa sinun käyttää yhden komennon tulostetta toisen komennon sisältävällä komentorivillä. Voidaan käyttää kahta vaihtoehtoista korvausmuotoa: $(komento) tai "komento" (yksittäiset takalainausmerkit). Esimerkiksi,
Tilde-merkin laajentaminen
Aaltoviivamerkin (~) avulla voit syöttää nopeasti hakemistojen nimiä.
~ Käyttäjän kotihakemiston nimi ~/alihakemisto Yhden alihakemiston nimi kotihakemisto käyttäjätunnus ~+ Nykyisen hakemiston nimi ~- Edellinen hakemiston nimi
Avaavat kiharat olkaimet
Aaltosulkeiden avulla voit syöttää yhden komennon useiden samantyyppisten komentojen sijaan. Suluissa tulee olla luettelo, jonka osat on erotettava pilkuilla. Tulkki lukee elementit yksitellen ja muodostaa jokaisesta niistä erillisen komennon, jonka se sitten suorittaa. Esimerkiksi komento
mkdir kulut/(tam, helmi, maaliskuu) vastaa mkdir kulut/tamm mkdir kulut/helmikuu mkdir kulut/maal
Kanavat
Putken metamerkki (|) ilmaisee tarpeen organisoida komentojen välinen vuorovaikutus käyttämällä toisen komennon suorituksen (tulosta) tulosta komennon syötteenä (syöte). Toisin sanoen kanavan (pipeline) avulla ensimmäisen komennon tulokset voidaan välittää syötteenä toiselle komennolle. Esimerkiksi,
cat /etc/passwd | lajitella | pää-3
Komentosarjat ja ryhmät
Sekvenssien ja komentoryhmien avulla voit syöttää useita komentoja yhdelle riville.
komento1;komento2 Suorita ensin komento 1, sitten komento 2 (komento1;komento2) Suorita erillinen kopio tulkki, jossa komennot 1 ja 2 suoritetaan peräkkäin ( komento1;komento2 ) Suorita komennot 1 ja 2 peräkkäin nykyisessä tulkin komento1 && komento2 Suorita komento 2 vain jos komento 1 komento1 || komento2 Suorita komento 2 vain, jos komento 1 epäonnistuu
Minkä tahansa komennon suorittamisen tulos (eli vastaavan prosessin lopettamisen tulos) on poistumiskoodi. Onnistuneen suorittamisen koodi on 0, epäonnistuneen koodi on 1. Onko suorituskoodin arvo määritetty ennalta määritetylle muuttujalle? (kysymysmerkki). Esimerkiksi echo $?
Suorita komentoja uudelleen
Shellissä on mahdollisuus kutsua aikaisempia komentoja ja muokata niitä. Historia (historia) shell-komennot on luettelo aiemmin käytetyistä komennoista. Tätä luetteloa voi tarkastella historiakomennolla.
Kun olet kirjoittanut komentorivin, komentotulkki sijoittaa sen komentohistoriaan. Aiemmin käytettyjen komentojen luettelo tallennetaan tiedostoon, jonka avulla voit milloin tahansa kutsua siitä mitä tahansa komentoriviä uudelleen suorittamista varten. Kun komentoriviä on kutsuttu uudelleen, sitä voidaan muokata. Komentohistoria tallennetaan .bash_history-tiedostoon, joka sijaitsee käyttäjän kotihakemistossa. Oletusarvoisesti komentotulkki voi "muistaa" jopa 1000 komentoriviä.
Jos haluat nähdä luettelon aiemmin käytetyistä komennoista, suorita historiakomento. Sitä voidaan käyttää joko ilman parametreja tai parametrin kanssa, joka määrittää näytettävien komentojen määrän. Jokaisella komentorivillä on oma numeronsa komentohistoriassa.
Historian laajennussyntaksi: !n Suorita komento annetulla numerolla!! Suorita edellinen komento!merkkijono Suorita viimeisin komento alkaen annetusta merkkijonosta!?merkkijono? Suorita viimeisin komento, joka sisältää annetun merkkijonon
Sen sijaan, että komentohistoriassa oleva komentorivi suoritettaisiin suoraan, sitä voidaan kutsua myöhempää muokkausta varten. Käytä kohdistinnäppäimiä nuoli ylös ja alanuoli selata komentohistoriaa ja valita tarvittava komentorivi.
3. Sisäänrakennetut bash-komennot
Luettelo sisäänrakennetuista komennoista bash-kuoret voidaan saada help-komennolla tai ne löytyvät man-sivulta SHELL BUILTIN COMMANDS -osiosta.Tässä on joitain hyödyllisiä sisäänrakennettuja komentoja:
- echo [argumentit] - Tuo argumentit näytölle.
- enable - Saa komentotulkin suorittamaan samannimisen suoritettavan tiedoston sisäänrakennetun komennon sijaan. Hyödyllinen, jos sinulla on oma skripti nimeltä echo.
- eval [argumentit] - Komennon muodostaminen lennossa määritetyistä argumenteista ja sen lähettäminen suoritettaviksi.
- anna - Ilmaisun arviointi.
- - Lue ja suorita tiedoston sisältämät komennot. Käytetään käyttäjän muuttujien määrittämiseen. ja toimintoja.
- basename - Paikallisen nimen korostaminen.
- expr - Lausekkeen arviointi.
- read - Syötä muuttujan arvo.
- shift - Vaihtoluettelo parametreista.
- testi - kunnon tarkistaminen.
Moskovan valtion elektroniikkainstituutti
(teknillinen korkeakoulu)
Integroidun elektroniikan ja mikrojärjestelmien laitos
LABORATORIO TYÖPAJA
KURSSI:
“KÄYTTÖJÄRJESTELMÄLinux”
Kokoanut: apulaisosasto. IEMS Kozlov A.V.
Moskova, 2007
Laboratorio on tarkoitettu ensisijaisesti tekniikan ja teknologian maisteriopiskelijoille suunnan 210100.68 ensimmäisen vuoden Synopsys-opiskelijoille Red Hat Enterprise Linux (RHEL) 4.0 -käyttöjärjestelmän hallitsemiseksi. Se on tarkoitettu myös FreeScale-opiskelijoille ja kaikille käyttäjille, joilla on aloittelija tai ei Linux-taustaa ja jotka haluavat oppia Linux-komentoympäristön ja sen ydinsovellukset, joita käyttäjä tarvitsee työskennelläkseen tietokoneavusteisten suunnittelujärjestelmien kanssa.
Tämä työpaja koostuu kahdeksasta laboratoriotyöstä, joiden avulla käyttäjä voi hallita tehokkaasti komentotulkin komentoja sekä asteittain oppia kirjoittamaan tiedostoja - Shell-, Gawk-, Perl- ja Tcl-skriptejä. Jokainen laboratoriotyö sisältää seuraavat osat: työn nimi, tehtävä ja tarkoitus; teoreettista tietoa ohjauskysymyksillä; esimerkki laboratoriotyöstä; laboratoriotyön suorittamismenettely; laboratoriotehtävä ja työraporttilomake. Komentotulkin komentojen kirjoittamisen syntaksi vaihtoehtojen, parametrien, toimintojen, lausekkeiden ja polkujen kanssa on suunniteltu BASH-komentoympäristöön. Laboratoriotyöpajan lopussa on luettelo referensseistä.
Moskovan osavaltion elektroniikkatekniikan instituutti (TEKNINEN YLIOPISTO)
LAB #1
KURSSILLA "LINUX-KÄYTTÖJÄRJESTELMÄ"
Bash shell -komentojen oppiminen Linuxissa
KUVAUS TEKIJÄ: A. V. KOZLOV |
MOSKVA 2007
Lab #1 Bash shell -komentojen oppiminen Linux-käyttöjärjestelmässä
Työn tavoite : perustuu BASH-komentotulkkiin hallitsemaan taidot työskennellä komentojen kanssa Red Hat Enterprise Linux 4.0 -käyttöjärjestelmässä.
Työaika - 4 tuntia
Teoreettista tietoa
käyttöjärjestelmä Linux kehitettiin alun perin ilmaiseksi, joustavaksi, monikäyttöiseksi, monen käyttäjän ja korkean suorituskyvyn alustaksi, joka on suunniteltu palvelemaan ja ratkaisemaan tutkijoiden ongelmia ympäri maailmaa. "Tieteellisen suuntautumisen" vuoksi sellaisella alustalla ei alun perin ollut laajennettua graafista käyttöliittymää, jota käytetään laajalti kotitaloustehtävien ratkaisemisessa - tietokonepelit, Internet, interaktiiviset ohjelmat käyttäjien kommunikointiin sekä toimistoongelmien ratkaisemiseen - tietokantajärjestelmien kanssa työskentely, kaavioiden ja histogrammien piirtäminen. Usein tutkijoiden työ Linux-käyttöjärjestelmän kanssa pelkistettiin yksinkertaisesti käyttäjän (tietokoneella työskentelevän henkilön) tavanomaiseen vuorovaikutukseen konsolin kanssa (pääteikkuna näytön näytöllä tekstitiedoilla). Käyttäjän Linuxissa antamien komentojen ymmärtämiseksi on kehitetty komentokulkeja, jotka kääntävät ihmisille ymmärrettäviä komentoja käyttöjärjestelmän ytimelle ymmärrettäviksi ohjaussignaaleiksi. Käyttöjärjestelmän päätehtävänä on välittää komentojen siirtoa henkilöltä tietokoneelle. Ja huolimatta siitä, että nykyään Linux-käyttöjärjestelmää käytetään kaikkialla paitsi instituuteissa, suunnittelukeskuksissa, tietokonekeskuksissa, myös koti- ja toimistotarkoituksiin, konsolit (pääteikkunat) ovat edelleen laajalti käytössä, ja monille ne näyttävät vieläkin kätevämmiltä verrattuna hiiren ja piktogrammien (kuvakkeet Linuxissa) käyttöön graafisessa ympäristössä.
komentojen tulkki on merkkijonointeraktiivinen käyttöliittymä, jossa on komentorivikehote käyttäjän ja käyttöjärjestelmän välillä. Käyttäjä kirjoittaa komentoja komentoriville, komentotulkki "hyväksyy" ne ja lähettää ne ohjeina käyttöjärjestelmä teloitusta varten. Komentojen tulkin avulla voit paitsi syöttää komentoja, myös ohjata komentorivitietojen syöttöä ja ulostuloa sekä suorittaa toimintoja tausta, jolloin käyttäjä voi tehdä muita tehtäviä samanaikaisesti.
Linuxille on kehitetty useita kuoria: Bourne Again -kuori (BASH), Public Domain -kuori (PDKSH), TCSH-tulkki ja Z-kuori. Vaikka BASH on oletustulkki, mitä tahansa muuta ympäristöä voidaan käyttää. Jokapäiväisessä tilassa työskentelyn helpottamiseksi vain yksi komentotulkki riittää. Red Hal Linux sisältää kaikki tärkeimmät kuoret, mutta BASH-kuori on asennettu ja sitä käytetään oletuksena. Tämä tarkoittaa, että tämä käyttöjärjestelmä käyttää BASH:ia komentorivitoimintoihin, ellei toisin mainita.
Komentorivi. Komentoliittymä linux-merkkijonot koostuu yhdestä rivistä, jolle syötetään komennot vaihtoehtoineen ja parametreineen. BASH-kuoressa komentorivin alku on yleensä merkitty kutsu dollarimerkkinä ($); muut Linux-järjestelmän kuoret voivat käyttää erilaista kehotetta. Kehotteen jälkeen käyttäjä voi syöttää joko yksittäisen komennon tai komennon vaihtoehtoineen ja parametreineen. Jos käyttäjällä ei ole tarpeeksi kokoa komentokehotteeseen, sitä voidaan rajoittaa "/"-merkillä. Komento kirjoitetaan näppäimistöltä ja syöttö tapahtuu näppäimellä. Esimerkiksi tulostamiseen järjestelmän päivämäärä ja järjestelmän aika, käyttäjä voi käyttää komentoa Päivämäärä .
$ päivämäärä
pe 8. kesäkuuta 15:42:35 MSD 2007
Tai esimerkiksi, jos haluat näyttää nykyisen kuukauden kalenterin, käytä cal-komentoa.
$cal
kesäkuuta 2007
Su Ma Ti Ke To pe Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Shellin pääkäyttöliittymä on komentoriviliittymä, joka tulkitsee syötetyt komennot ja lähettää ne järjestelmään. Komentoriville annettujen komentojen on noudatettava tiettyjä syntaksisääntöjä. Yleissääntö komentojen syöttämisessä on, että ensimmäisen komentoriville kirjoitetun sanan on oltava komennon nimi; seuraavat sanat ovat komennon valinnat ja parametrit. Jokainen komentorivin sana on erotettu muista sanoista yhdellä tai useammalla välilyönnillä tai sarkaimella.
Vaihtoehto - on yhdysviivaa edeltävä yksi- tai monikirjaiminen koodi, joka muuttaa komennon suorittaman toiminnon tyyppiä. Tässä on esimerkki komennosta vaihtoehtoineen ls . Kun tätä komentoa käytetään ilman valintoja, se listaa kaikki nykyisen hakemiston tiedostot ja hakemistot. Tässä luettelossa ei ole mitään muuta kuin tiedostonimiä tunnisteella ja ilman. Esimerkiksi kun annat komennon ls vaihtoehdon kanssa - l tiimi ls tuottaa rivi riviltä tiedot jokaisesta tiedostosta, nimittäin sen koon, päivämäärän ja viimeisen muokkauksen ajan. Seuraavassa esimerkissä käyttäjä antaa komennon ls vaihtoehdon kanssa - l. Tavuviiva ennen vaihtoehtoa on pakollinen. Näin Linux-järjestelmä erottaa vaihtoehdon parametrista.
$ ls - l
yhteensä 28
-a-valinnan avulla voit näyttää kaikki nykyisen hakemiston tiedostot, mukaan lukien ns piilotetut tiedostot. Asetustiedostot ovat usein piilossa. Piilotetut tiedostojen nimet alkavat aina pisteellä, joten niitä kutsutaan usein taltattutiedostot. Useimmissa tapauksissa vaihtoehdot yhdistetään. Tässä tapauksessa yksi yhteinen tavuviiva asetetaan vaihtoehtoryhmän eteen. Esimerkiksi -al-vaihtoehto antaa tietoja kaikista nykyisen hakemiston tiedostoista, mukaan lukien piilotetut tiedostot. Uusi ttt-tiedosto tulee näkyviin.
$ ls -al
yhteensä 40
Parametri on sana, joka kirjoitetaan komentoriville vaihtoehtojen jälkeen. Tiedostokomennot käyttävät yleensä tiedostonimiä parametreina. Jos esimerkiksi haluat tietoja vain yhdestä gauss.plx-tiedostosta, määritä sen nimi valitsimen -l jälkeen:
$ ls -l gauss.plx
Käyttäjän työ alkaa BASH-kuoriympäristössä, joka ladataan oletuksena. Se sisältää erityisiä komentorivin muokkausominaisuuksia, jotka voivat olla erittäin hyödyllisiä Linux-käyttöjärjestelmän oppimisessa. Ennen komentojen suorittamista ne voidaan korjata siirtämällä osoitinta komentorivillä ja lisäämällä tai poistamalla merkkejä. Tämä on erityisen hyödyllistä käytettäessä erittäin monimutkaisia komentoja. Muokkaustoimintojen avulla voit korjata virheen komentoa kirjoitettaessa. Käyttämällä näppäintä |ylös| voit poistaa näytön juuri suoritetun komennon. Voit sitten suorittaa komennon uudelleen tai muokata sitä suorittaaksesi muokatun komennon. Tämä ominaisuus on erittäin kätevä toistettaessa joitain toimintoja useita kertoja, esimerkiksi kun muokkaat yhtä ja sama tiedosto.
Komentotulkin tarkoitus on työskennellä tiedostojen kanssa: tietojen luominen, kopioiminen, uudelleennimeäminen, siirtäminen, poistaminen ja muokkaaminen. Vaikka käyttäjä ei työskentele suoraan konsolin kanssa, vaan käyttää graafisia sovelluksia, nämä tiedostotoiminnot tapahtuvat hänestä riippumatta.
Luo tiedostoja ja hakemistoja. Linuxissa tiedostot ja hakemistot ovat kahdenlaisia tietoja, joten ne luodaan käyttämällä eri joukkueita. Hakemiston (hakemisto, kansio) luomiseen käytetään Linuxissa varattu komento mkdir ("make directory" - luo hakemisto). Seuraavassa esimerkissä luomme uuden hakemiston nykyiseen hakemistoon. Käytä tätä varten komentoa mkdir ja välilyönnillä erotettuna uuden hakemiston nimeä.
$ mkdir Uusi
Hakemisto on luotu. Joskus on kuitenkin luotava kokonainen sisäkkäinen rakenne, kun jo luodun kansion sisällä pitäisi olla toinen ja sen sisällä toinen ja niin edelleen. Tätä tarkoitusta varten mkdir-komento käyttää -p sisäkkäisasetusta. Seuraava esimerkki luo alikansioita yhdellä komennolla: ensimmäinen kansio 1, kansion 2 sisällä ja kansion 3 sisällä.
$ mkdir -p 2.1.3
Voit luoda tiedostoja komennoilla sekä käyttämällä sisäänrakennettuja ja ulkoisia Linux-tekstieditoreja, kuten kedit, nedit, gedit ja niin edelleen. Kuitenkin luetellut editorit vaativat graafisen kuoren työtä ja siten graafisen järjestelmän työtä. Sen puuttuessa voit käyttää esimerkiksi tekstieditoria VIM tai analogeja, jotka eivät vaadi grafiikkajärjestelmän toimintaa. Voit myös luoda tiedostoja käyttämällä tekstipohjaisia tiedostonhallintaohjelmia, kuten Midnight Commander (mc-komento). Käyttäjä (suunnittelija) tarvitsee usein tekstitiedostoja tallentaa tekstitietoa, joka liittyy integroidun piirin laskentaprosessiin tai esimerkiksi simuloidun puolijohdelaitteen sähköfysikaalisiin parametreihin. Ja sitä tarvitaan myös vastaanotettujen tietojen käsittelyyn (poistamiseen, lisäämiseen, lajitteluun, jakamiseen). Tällaiset toiminnot suoritetaan myös Linux-komennoilla. Yksi yksinkertaisimmista komennoista tekstitiedoston luomiseen on komento kissa.
cat-komennolla ei ole omaa käyttöliittymää, joten kun olet syöttänyt cat-komennon uudelleenohjaussymbolin (katso alla) ja uuden tiedoston nimen kanssa, voit kirjoittaa tekstitietoja välittömästi siirtymällä riviltä toiselle Enter-näppäimellä. Poistu kissaeditorista (suodattimesta) painamalla Ctrl-D. Seuraavassa on esimerkki tiedoston luomisesta cat-komennolla.
$ kissa > Uusi _ tiedosto
Vastaanotetun tiedoston katselu tapahtuu cat-komennolla ja tiedoston nimellä välilyönnillä erotettuna.
$ kissa Uusi _ tiedosto
Tai esimerkiksi tekstitietojen tallentaminen konsolista komentoa suoritettaessa ls-a-vaihtoehdolla tiedostoon r, voit käyttää tietojen uudelleenohjaustoimintoa (katso alla) ja komentoa tee-a-vaihtoehdolla.
$ ls -l | tee -a r
Tiedostojen ja hakemistojen kopiointi. Tiedostojen ja hakemistojen kopiointi suoritetaan cp-komennolla, jonka jälkeen kopioitava kohde osoitetaan suhteellisella tai absoluuttisella polulla välilyönnillä erotettuna, ja myös tämän objektin kopion uusi kohde erotetaan välilyönnillä. Seuraava esimerkki kopioi gauss.plx-tiedoston nykyisestä hakemistosta alihakemistoon 1, joka on nykyisessä hakemistossa.
$ cp Gauss . plx 1
Jos sinulla on käyttöoikeudet Linux-objekteihin (laboratoriotyö #2), voit myös kopioida tämän tiedoston käyttäjälle Alexille, jonka työhakemistossa on seuraava absoluuttinen polku /home/alex , käyttämällä seuraavaa komentoa.
$ cp Gauss . plx / Koti / Alex
Jos samanniminen tiedosto on jo olemassa kohteessa, kun tiedosto kopioidaan, se korvataan. Tämä voi johtaa tarvittavien tietojen menetykseen. Tämän välttämiseksi käytä cp-komentoa vaihtoehdon -i kanssa, jolloin Linux kysyy joka kerta käyttäjältä, haluaako hän todella korvata tiedoston. Viimeisen komennon uusi näkymä näyttää tältä.
$ cp -i gauss.plx /home/alex
Hakemistot kopioidaan samalla tavalla kuin tiedostot. Kuitenkin kopioitaessa hakemistoja, joissa on tiedostoja ja alihakemistoja, -R-vaihtoehtoa käytetään osana cp-komentoa. Kun olet hakemistossa /home/antonk/111, kopioidaan laba2-hakemisto korkeammalle tasolle, ts. hakemistoon /home/antonk. Kaksi pistettä osoittavat hierarkian tason yhden askeleen korkeammalle.
$ cp - R laba 2 ..
Nimeä ja siirrä tiedostoja ja hakemistoja uudelleen. Tiedostojen ja hakemistojen uudelleennimeäminen tapahtuu mv-komennolla, jonka jälkeen nimetään uudelleennimettävä kohde välilyönnillä erotettuna ja objektin uusi nimi erotettuna toisella välilyönnillä. Hakemistojen uudelleennimeäminen on sama asia kuin tiedostojen uudelleennimeäminen. Nimetään gauss.plx-tiedosto uudelleen uudeksi tiedostoksi nimeltä gauss2.plx . Jos tässä hakemistossa on jo tiedosto, jolla on sama nimi kuin uudelleennimetyn tiedoston uusi nimi, uudelleennimetyn tiedoston sisältö korvaa sen. Tämän estämiseksi käytä myös vaihtoehtoa -i. Muuten, Linuxissa laajennuksien käyttöä ei vaadita. Niitä käytetään vain tiedostojen ja suoritettavien ohjelmien yhdistämiseen.
$ mv -i gauss.plx gauss2.plx
Tiedostojen ja hakemistojen poistaminen. Tiedostojen ja hakemistojen poistaminen Linuxissa tapahtuu rm-komennolla, jossa poistettavien tiedostojen nimet on eroteltu välilyönnillä. !!! Ole varovainen, kun työskentelet tämän komennon kanssa, voit poistaa tarvittavat tiedot. Käytä cp-komennon tapaan -i-vaihtoehtoa rm-komennon kanssa. Tällä valinnalla varustettu komento pyytää vahvistusta jokaisen tiedoston ja hakemiston poistamiseksi. Seuraavassa esimerkissä poistamme tiedoston Gauss 2. plx , pyytää vahvistusta poistamiselle .
rm –i gauss2.plx
ryhmän symbolit. Joskus komentotulkin kanssa työskennellessäsi sinun on löydettävä tai yhdistettävä tiedostoja kuvion mukaan. Tiedät esimerkiksi vain tiedostonimen ensimmäisen kirjaimen ja haluat löytää kaikki kyseisellä kirjaimella alkavat tiedostot työhakemistosta. Tai tiedät useiden kirjainten sekvenssin tiedoston nimessä tai tunnisteessa ja sinun on löydettävä se useiden satojen muiden tiedostojen joukosta. Tässä tapauksessa sinun on käytettävä Linuxin erikoismerkkejä. Komentojen tulkki käyttää sarjaa erikoismerkit, joita kutsutaan jokerimerkeiksi, joita voidaan käyttää tiedostonimien etsimiseen, yhdistämiseen ja luetteloimiseen. Nämä merkit ovat tähti, kysymysmerkki ja hakasulkeet (*, ?, ). Jos tiedostonimi on osittainen, komentotulkki käyttää näitä merkkejä mallina etsiäkseen ja luodakseen luettelon löydetyistä tiedostonimistä. Parametri, jolla on määrittelemätön tiedostonimi, korvataan vastaavien tiedostonimien luettelolla. Tätä nimiluetteloa voidaan käyttää parametrina komentoissa, jotka toimivat useilla tiedostoilla (esim. ls). Shellin yleismerkit on lueteltu taulukossa 1. 1.
Taulukko 1. Shell-erikoismerkit
Yleiset symbolit |
Tarkoitus |
Erottelee komennot samalla komentorivillä |
|
"tiimi" |
Komennon suoritus |
Vertailu tiedostonimien mahdollisten merkkien luokkaan |
|
Määritä seuraava hahmo erityiseksi. Käytetään osoittamaan ohjausmerkkejä |
|
Liitä yhden komennon stdout toisen komennon syötteeksi |
|
Komennon suorittaminen taustalla |
|
Komento, jolla työskentelet aiemmin syötettyjen komentojen luettelon kanssa |
|
Jokerimerkit |
Hakemuksen tulos |
Vastaa mitä tahansa tiedostonimien merkkijoukkoa |
|
Vastaa mitä tahansa erillinen symboli tiedostonimissä |
|
Uudelleenohjaussymbolit |
Hakemuksen tulos |
Uudelleenohjaukset vakiolähtö tiedostoon tai laitteeseen. Tässä tapauksessa, jos tiedostoa ei ole olemassa, se luodaan, jos tiedosto on olemassa, se korvataan. |
|
Huutomerkki saa tiedoston päälle, jos se on olemassa. Tämä merkki ohittaa vaihtoehdon, joka estää korvaamisen olemassa olevia tiedostoja |
|
Ohjaa vakiosyötteen tiedostosta tai laitteesta ohjelmaan |
|
Ohjaa vakiotulosteen tiedostoon tai laitteeseen liittämällä tulosteen tiedoston loppuun |
|
Uudelleenohjaussymbolit |
Tulos vakiovirhetulosteen soveltamisesta |
Uudelleenohjaa ja lisää vakiovirhetulosteen tiedostoon tai laitteeseen |
|
Uudelleenohjaa normaalin virheviestin lähdön vakiotuloon |
|
Ohjaa vakiovirhetulosteen tiedostoon tai laitteeseen |
|
Putket virheilmoitusten vakiotulostuksen toisen komennon tuloon |
Esimerkiksi tähtimerkkiä (*) voidaan käyttää viittaamaan tiedostoihin, joiden nimet alkavat tai päättyvät tietyllä merkkiyhdistelmällä. Esimerkki näyttää, kuinka tähtimerkkiä (*) käytetään missä tahansa merkkiyhdistelmässä.
$ls
docl doc2 document docs mydoc maanantai tiistai
Näyttää täydellisen luettelon työhakemiston tiedostoista.
$ ls doc*
docl doc2 dokumenttiasiakirjat
Tässä esimerkissä näytettiin, kuinka "suodatimme pois" tiedostonimet tähtimerkillä, jotka eivät ala kirjainyhdistelmällä "doc". Vain tiedostonimet, jotka sisältävät yhdistelmän "doc", näytetään. Tässä tapauksessa jäljellä olevia tiedostoja ei poisteta, niitä ei yksinkertaisesti näytetä käyttäjälle.
$ ls *päivä
maanantai t tiistai
Täällä olemme näyttäneet tiedostonimet, jotka päättyvät yhdistelmään "päivä".
$ ls [ mt ] * d *
maanantai tiistai
Ja tässä olemme näyttäneet tiedostojen nimet, joissa ensimmäinen merkki on kirjain "m" tai "t", seuraavat merkit ovat mielivaltaisia, sitten kirjain "d" ja jälleen mielivaltaisia merkkejä.
Ole varovainen, kun käytät tähteä yhdessä rm-komennon kanssa, koska tämä voi johtaa tietojesi menetykseen. Seuraava komento poistaa nykyisen kansion kaiken sisällön.
rm *
$ ls *päivä
docl doc2 asiakirjoja
Kysymysmerkki (?) tarkoittaa vain yhtä määrittelemätöntä merkkiä tiedostonimessä.