Linuxin komentorivitulkin valitseminen. Komentorivin jäsennys, bash-suosikit. Jotkut tämän oppaan käytännöt

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äimetKuvaus
GSiirtyy tiedoston loppuun
gSiirtyy tiedoston alkuun
:50 Siirtyy tiedoston riville 50
qPoistu vähemmän
/hakusanaHakumerkkijono, joka vastaa hakutermiä alla nykyinen linja
/
?hakusanaHae riviä, joka vastaa sanaa "hakutermi" nykyisen rivin yläpuolelta
? Siirtyy seuraavaan vastaavaan hakutulokseen
ylösSiirtää yhden rivin ylöspäin
alasSiirtyy yhden rivin alaspäin
sivu ylösSiirtyy yhden sivun ylöspäin
sivu alasSiirtää 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.txt

Kuljettimet

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

NimiKuvaajaKuvaus
stdin0 Vakiotulo
stdout1 vakiolähtö
stderr2 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 ctrlaltF1 tai ctrlaltF2 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/bash

Jos 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 ctrlD, 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 /usr

Voimme sitten navigoida hakemistoon /usr/local/bin käyttämällä suhteellista polkua

\$ cd local/bin \$ pwd/usr/local/bin

Käyttö ".."

Suhteelliset polut voivat sisältää yhden tai useamman hakemiston «..» . ".." osoittaa työhakemistomme päähakemiston. Esimerkki:

\$ pwd/usr/local/bin\$ CD.. \$ pwd/usr/local

Kuten 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/share

Esimerkkejä 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/../bin

Työ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.

\$ ./myprog

Viimeisessä esimerkissä myprog on nykyisen hakemiston suoritettava tiedosto, joka suoritetaan.

cd ja käyttäjän kotihakemisto

Jotta voisi mennä kotihakemisto, sinun täytyy soittaa

\$ CD

Ilman 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.txt

Absoluuttisten 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.txt

Linux-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 src

Jos 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 ssl

Yksityiskohtainen 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/tmp

Ensimmä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/bin

Rekursiivinen 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 .tmp

Mitä 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/local

Kuten 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/local

Tä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 toe

Oletuskomento 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/ful

Voit 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/pie

Saat 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 copyme

Tiimi 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 tiedosto

Jos haluat kirjoittaa merkkijonon tiedostoomme, ohjaamme komennon tulosteen siihen kaiku:

\$ echo "firstfile" > copyme

Merkki > (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 copyme

kissa ja cp

Voit näyttää tiedoston sisällön päätteessä käyttämällä komentoa kissa:

\$ kissan kopio ensimmäinen tiedosto

Nyt 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 copiedme

Voimme 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 kopio

mv

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 movedme

Inode-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/user

Tiedosto 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.txt

Jos 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:

  1. Laajentaa aliaksia kohteelle pikakuvake yleisimmin käytetyt komennot.
  2. Laajentaa jokerimerkit tai jokerimerkit (*, ?, [, ], ~, (, )) etsiäkseen tiedostoja nimimallien perusteella.
  3. Korvaa muuttujat, joita kuori voi käyttää.
  4. Uudelleenohjaa yhden komennon lähdön syötteenä toiseen komentoon putken avulla.
  5. Suorittaa komentojen yhdistämisen.
  6. Suorittaa komennon, jos se on tulkin sisäänrakennettu komento, tai käynnistää prosessin, jos komento on ulkoinen.
  7. 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.

AsetustiedostoKuvaus
/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.
Muut sisäänrakennetut komennot toimivat ohjeina bash-komentokielelle.

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