PWD
pwd - trükib ekraanile aktiivse kataloogi täieliku nime - koos
täieliku kataloogiteega (path)
LS
ls [võtmed] [failid]
trükib ekraanile kataloogide sisu. Kui faili või kataloogi nime pole antud, siis aktiivse kataloogi sisu (s.t. selle kataloogi, milles parajasti oled).
ls / - trükib juurkataloogi sisu
ls ~ trükib Sinu kodukataloogi sisu
Võtmed:
-1 - trükib kõik ühte veergu
-a - trükib kõik failid, ka peidetud failid
-d - näitab kataloogide nimed, aga mitte sisu
-f - näitab kataloogi sisu sorteerimata, kataloogi nimele lisab /
ja täidetava faili nimele *
-l - pikk formaat, näitab suuruse, kuupäeva, loalipud
-m - trükib kõik failid komadega eraldatult üsteise
järele, igale reale niipalju, kui mahub
-t - sordib vanuse järgi - väga kasulik programmeerimisel
uuemate versioonide kindlakstegemiseks
-r - sordib tagurpidi järjekorras
-R - rekursiivne - loendab ka alamkataloogide sisu
-S - sordib suuruse järgi
> - suuna käsu tulemus faili, ekraanile ei tule midagi
ls > kataloog - käsuga ls saadav failide loetelu kirjutatakse faili nimega 'kataloog'
CP
cp [võtmed] fail1 fail2 - teeb failist 'fail1' samasse kataloogi
koopia nimega 'fail2'
Kui teiseks nimeks on kataloog, siis kopeeritakse fail endise nimega sinna
kataloogi.
cp [võtmed] fail1 kataloog - kopeerib faili 'fail1' kataloogi 'kataloog'
Võtmed:
-a - säilitab atribuudid kui võimalik
-b - sellest failist, mis oleks muidu üle kirjutatud, teeb varukoopia
-f - kirjutab olemasoleva faili üle
-i - interaktiivne, s.t. küsib, kas asendada olemasolev fail
-l - faili kopeerimise asemel teeb tugeva seose (hard link)
-p - säilitab kogu olemasoleva info faili kohta - omanik, grupp,
kuupäev, loalipud
-r - kopeerib kataloogid rekursiivselt, s.t. kogu kataloogide puu
nimetatud kataloogist allapoole
-s - kopeerimise asemel teeb sümbolseose
-u - update, s.t. asendab, kui on uuem, muidu jätab muutmata.
LN
ln [võtmed] fail1 fail2 - tekitab fail1 ja fail2 vahel tugeva seose
(hard link) st. kui ühte faili muuta, siis muutub ka teine ja vastupidi
Kui teiseks failiks on kataloog, siis tekib uus fail sinna kataloogi (sama
nimega mis esimene fail) ja see uus fail on seostatud esimese failiga. Kui
viimane fail on kataloog, siis võib lähtefaile olla rohkem kui üks
Võtmed:
-b - teeb koopiad nendest failidest, mis muidu üle kirjutatakse
-f - kirjutab olemasolevad failid üle
-i - küsib, kas kirjutada vanad failid üle
-s - tekitab tugeva seose asemel sümbolseose
RM
rm [võtmed] fail(id) - kustutab fail(id)
Võtmed:
-d - kustutab kataloogi, isegi kui ta pole tühi
-f - kustutab ka ilma kirjutamisloata failid ilma küsimata
-i - interaktiivne - küsib, kas ikka kustutada
-r, -R - rekursiivne, kui 'fail' on kataloog, siis kustutab selle tühjaks
rmdir - kustutab kataloogi (ainult tühja)
MV
mv [võti] nimi1 nimi2 - muudab faili või kataloogi nime
või asukoha.
Kui nimi1 on fail ja nimi2 ei ole olemas, siis muudab faili nime
nimi1 -> nimi2
Kui nimi1 on fail ja nimi2 - kataloog, siis viiakse fail nimi1 kataloogi nimi2.
Võtmed:
-b - sellest failist, mis oleks muidu üle kirjutatud, teeb varukoopia
-f - kirjutab olemasoleva faili üle
-i - interaktiivne, s.t. küsib, kas asendada olemasolev fail
-u - update, s.t. asendab, kui on uuem, muidu jätab muutmata.
MKDIR
mkdir [võtmed] dirnimi - teeb uue alamkataloogi 'dirnimi'
Võtmed:
-m - juurdepääsu mood
näiteks käsk
mkdir -m 444 alam
teeb read-only alamkataloogi 'alam'
TOUCH
touch [võtmed] fail - muudab faili juurdepääsu ja muutmise
aega
Uueks ajaks pannakse hetkeaeg
Kui faili ei ole olemas, siis tekitatakse tühi fail
Võtmed:
-a - muudab ainult faili juurdepääsu aega
-c - kui faili pole olemas, siis uut ei tekita
-d uus_aeg - kasutab hetkeaja asemel 'uut_aega'
-m - muudab ainult faili muutmise aega
-r fail - kasutab hetkeaja asemel faili 'fail' aegasid
-t MMDDhhmm[[CC]YY][.ss] - kasutab hetkeaja asemel antud aega (kuu, päev,
tunnid, minutid, [[sajand] aasta], [sekundid])
MTOOLS
mtools - näitab kõiki võimalikke mtööriistu
mtööriistu (mtools) kasutatakse dos-i failidega tegelemiseks. Enamasti
kasutatakse mtööriistu flopide käsitsemiseks, aga neid
võib kasutada ka dos-i kõvaketaste jaoks. Võimalikud
mtööriistad on
mattrib, mbadblocks, mcd, mcopy, mdel, mdeltree, mdir, mformat, mkmanifest,
minfo, mlabel, mcd, mmount, mmove, mpartition, mrd, mread, mren, mtooltest,
mtype, mwrite, mzip, xcopy
Mread ja mwrite on üsna ebatäiuslikud ja seetõttu soovitatakse nende asemel kasutada mcopy-t
Kuna neid on nii palju, siis ma kirjutan ainult vajalikumatest,
ülejäänusid võib vajaduse korral vaadata käsuga
man mtools
Unixi/linuxi arvutist flopile ja vastupidi saad kirjutada ainult arvutis
endas olevale kettaseadmele. Kui failinimedele ei ole lisatud ketta nime,
siis mtööriistad oletavad enamasti, et peab pöörduma
a: ketta poole, faili $HOME/.mcwd olemasolul selles kirjas oleva ketta ja
kataloogi poole. Kui failis $HOME/.mcwd on kirjas näiteks
A:/kataloog1
siis käsk
mcopy fail1 a:
kopeerib faili 'fail1' kataloogi a:/kataloog1
käsk
mcopy fail1 a:kataloog2
kopeerib faili 'fail1' kataloogi a:/kataloog1/kataloog2 olemasolul sinna,
muidu kataloogi a:/kataloog1 'kataloog2' nime alla
käsk
mcopy fail1 a:/kataloog2
kopeerib faili 'fail1' kataloogi a:/kataloog2
mattrib [võtmed] fail(id) - muudab ja näitab dos-failide atribuute
Võtmed:
a - arhiiv
r - read-only
s - system
h - hidden
Kui tahetakse vastav atribuut lisada, siis pannakse võtme ette +
kui tahetakse ära võtta, siis -
kui ühtegi võtit ei ole antud, siis näitab failil juba
olemasolevaid atribuute
mcd kataloog - muudab dos-i kettal töötamise kataloogi
Uus kataloog kirjutatakse faili $HOME/.mcwd ja edaspidi
pöördutakse ketta ja kataloogi nime puudumisel enamasti failis
$HOME/.mcwd kirjas oleva kataloogi poole. Pärast töö
lõppu on kasulik see fail ära kustutada.
mcopy [võtmed] fail1 fail2 - kopeerib dos-i faili fail1 fail2-ks
mcopy [võtmed] fail(id) kataloog - kopeerib dos-i fail(id)
kataloogi
Kui ei ole näidatud ketta nime, siis mcopy eeldab, et faili otsimistee
algab käesolevast unixi kataloogist
Kui ketta nime taga ei ole näidatud faili nime, siis mcopy eeldab, et
sealt tuleb kopeerida kõik failid
Kui on antud ainult üks fail, siis mcopy eeldab, et fail2, so. uus
fail peab tekkima käesolevasse unixi kataloogi
Võtmed:
-t - tekstifaili kopeerimine. Olenevalt kopeerimise suunast kas lisab
või jätab ära CR-id. DOS-is on reavahetuseks CR LF, unixis
ainult LF
-n - ei hoiata kui sama nimega fail on enne olemas
-v - verbose - 'jutukas'
-m - säilitab faili muutmise kuupäeva
mdel fail(id) - kustutab dos-i faile
mdeltree kataloog(id) - kustutab dos-i katalooge (ka siis, kui need ei ole tühjad)
mdir [võtmed] kataloog - näitab dos-i kataloogi sisu
Võtmed:
-w - näitab ainult failinimed, muutmise kuupäeva jms. ei
näita
-a - näitab ka peidetud failid
-f - kiire, ei arvuta ketta vaba ruumi, flopide puhul pole see oluline, aga
suure kõvaketta vaba ruumi arvutamine võib päris kaua
aega võtta
mformat [võtmed] ketas: - formaadib dos-i ketast
Võtmed:
-t radade_arv - määrab radade arvu kettal
-h peade_arv - määrab peade (heads) arvu
-s sektorite_arv - määrab sektorite arvu raja kohta
-l ketta_nimi - määrab ketta nime
-n seerianumber - määrab ketta seerianumbri
mkmanifest fail(id)
mkmanifest tekitab sellise shelli skripti, mis taastab muudetud failinimed. Kui kopeerida unixi faile, milles on keelatud süboleid, mitu punkti, mis on pikemad kui 8 tähte või mille laiendid on pikemd kui 3 tähte, siis nad muudetakse dos-i standarditele vastavaks. mkmanifestiga on võimalik muudetud nimedest uuesti originaalnimed teha. Näiteks kui Sa tahad järgmised failid kopeerida flopile (kasutades mcopy käsku)
very_long_name
2.many.dots
illegal:
good.c
prn.dev
siis mcopy muudab need dos-i standarditele vastavaks
very_lon
2xmany.dot
illegalx
good.c
xprn.dev
Käsk
mkmanifest very_long_name 2.many.dots illegal: good.c prn.dev > manifest
tekitab järgmise skripti
mv very_lon very_long_name
mv 2xmany.dot 2.many.dots
mv illegalx illegal:
mv xprn.dev prn.dev
Kuna good.c vastab dos-i standarditele, siis seda pole mcopy ära muutnud ja seetõttu pole teda vaja ka tagasi muuta. Kui nüüd failid unixi masinasse tagasi kopeerida ja see skript käima lasta, siis muudetakse dos-i nimed uuesti unixi nimedeks.
minfo ketas: - annab infot ketta kohta (radade arv, peade arv, sektorite
arv raja kohta jne.)
minfo näitab ka ketta formaatimiseks sobilikku käsku
(mformat võtmed)
mlabel [võtmed] ketas:[uus_nimi] - paneb kettale uue nime, kui uut nime pole antud, siis küsib seda, kui ikka uut nime ei pane, siis lihtsalt kustutab vana nime
Võtmed:
-c - kustutab vana nime, ilma kasutajalt küsimata
-s - näitab vana nime
mmd kataloog(id) - tekitab uue dos-i kataloogi
mmove fail1 fail2 - nimetab dos-i faili fail1 ümber fail2-ks ja
kui kataloog on märgitud, siis tõstab ta vastavasse
kataloogi
mmove fail(id) kataloog - tõstab dos-i faile ühest kohast
teise
mrd kataloog(id) - kustutab dos-i katalooge (ainult tühjasid)
mren fail1 fail2 - nimetab dos-i faili fail1 ümber fail2-ks, mren-ga saab über nimetada ka katalooge. Kui fail2 ei sisalda kaldkriipse ega kooloneid, siis nimetatakse fail1 über samas kataloogis, kus ta asub (mitte ei tõsteta käesolevasse kataloogi, nagu seda teeb mmove)
mtype [võtmed] fail(id) - trükib dos-i faili sisu ekraanile
Võtmed:
-t - tekstifaili vaatamine, CR LF muudetakse LF-ks
mzip [võtmed] - spetsiaalsed zip-kettaseadme käsud
Kuna selliseid kettaseadmeid ei liigu just väga palju, siis ma ei
hakka siin võtmeid üles lugema, neid võib ise vaadata
käsuga
man mtools
NB! Sellel käsul ei ole midagi pistmist zip-iga pakitud failidega
xcopy kataloog1 kataloog2 - kopeerib dos-i katalooge
Kui kataloog2 pole olemas, siis see tehakse, kui on olemas, siis kataloog1
failid kopeeritakse otse kataloog2-e, mitte ei tekitata kataloog2-e
alamkataloogi kataloog1
CHMOD
chmod [võtmed] moodid failid - muudab faili(de)
juurdepääsulubasid.
Seda käsku saab kasutada ainult failide omanik või privilegeeritud kasutaja (süsteemiadministraator). Mood võib olla antud numbrilise koodiga või sümbolkujul kes_+/-_luba
Võtmed:
-c - trükib, milliste failide lippe muudeti
-f - töötab vaikselt, ilma selle võtmeta hoiatab kui ei
saa lippe muuta
-v - 'jutukas' - trükib info iga faili kohta, et kas muutis või
jäi samaks
-R - rekursiivne - muudab lipud ka kõigis alamkataloogides
Sümbolkujul moodid kes_+/-_luba
kes:
u - user (kasutaja)
g - group (grupp)
o - other (teised)
a - all (kõik), see on vaikimisi
operatsioon:
+ lisab loa
- keelab
= omistab nimetatud väljale loa ja kõrvaldab
ülejäänud
load:
r - read (lugemisluba)
w - write (kirjutamis-/kustutamisluba)
x - execute (täitmis-/käivitamisluba)
s - seab kasutaja või grupi ID
t - sticky bit
u - kasutaja praegune luba
g - grupi praegune luba
o - teiste praegune luba
l - kohustuslik lukustamine
Paar näidet:
Lubasid saab näha 'ls -l' -ga. Oletame, et Sul on fail
-rw-rw-r-- | 12353 Dec 31 14:29 esch2.xpm |
Pärast käsu
chmod go-rw esch2.xpm
täitmist on Sul fail
-rw------- | 12353 Dec 31 14:29 esch2.xpm |
Kui Sa soovid, et Sinu mingi kataloogi kõigil failidel oleks lugemisluba,
pead Sa andma käsu
chmod go+r *
Kui samas kataloogis tahad hoida mõnda faili, mida teised ei peaks
nägema, siis käsk
chmod go-r failinimi
muudab ta teistele loetamatuks
Lubasid saab anda ka kolmekohalise 8-numbrina.
Esimene arv on kasutaja, teine - grupp ja kolmas - teised. Loa mood arvutatakse
kõiki lubasid kokku liites:
4 - read (lugemisluba)
2 - write (kirjutamis/kustutamisluba)
1 - execute (käivitamis/täitmisluba)
Võib olla ka neljas arv, siis on see teiste ees ja see tähendab
4 - seab kasutaja ID täitmisel
2 - seab grupi ID täitmisel
1 - seab 'sticky bit'
Neid viimaseid saab vist ainult süsteemiadministraator seada.
Failide loalippe saab vaikimisi seada näiteks
.cshrc failis käsuga umask. See ei muuda olemasolevate failide lippe,
aga uued failid Saavad seal antud loa. Näiteks:
umask 077
Siis tekivad kõik failid -rw------- või -rwx-------- lippudega ja kataloogid lippudega drwx------
CHOWN
chown [võtmed] omanik.grupp failid - muudab failide omanikku ja kasutajate
gruppi
Punkti asemel võib kasutada ka koolonit. Kui gruppi ei ole antud, siis
see jääb samaks. Kui omanikku ei ole antud, siis jääb ta
samaks. Kui tahetakse muuta ainult kasutajate gruppi (seega sama, mida teeb
chgrp), siis peab kindlasti grupi nime ette jääma punkt või
koolon. Faili omaniku, punkti ja kasutajate grupi nime vahele ei tohi
tühikut panna.
Võtmed:
-c - trükib info ainult nende failide kohta, mille omanikku ja/või
kasutajate gruppi muudeti
-f - ei tüki veateateid, kui faili omanikku/kasutajate gruppi ei saanud
muuta
-v - trükib info iga faili kohta, olenemata sellest, kas selle
omanikku/kasutajate gruppi muudeti, või ei
-R - kataloogide omaniku/kasutajate grupi muutmisel muudab automaatselt ka
kataloogis olevate failide omaniku/kasutajate grupi
DU
du [võtmed] - arvutab kasutatud ketta ruumi kataloogipuus
aktiivsest kataloogist allapoole
Võtmed:
-a - näitab ka kõikide failide suurused (muidu näitab
ainult kataloogide suurusi)
-b - näitab kõik suurused baitides
-c - näitab kõikide failide ja kataloogide poolt kulutatud
kettaruumide kogusummat
-D - näitab sümbolseosega viidatud failide poolt kulutatud
kettaruumi
-k - näitab kõik suurused kilobaitides
-l - arvestab ka nende failide suurusi, mis enne juba tugeva seosena
(hard link) esinenud on
-s - ei näita kataloogide ja failide suurusi eraldi, näitab
ainult kogusumma
-L - sümbolseose puhul näitab soesega viidatud faili poolt
kasutatud kettaruumi, mitte seose enda poolt kulutatud ruumi
-S - näitab ainult iga kataloogi enda sisu suurust, arvestamata
alamkataloogide suurusi
-x - ei näita nende kataloogide suurust, mis asuvad teises
failisüsteemis
DF
df [võtmed] - arvutab ketta vaba ruumi
Võtmed:
-a - näitab kõiki failisüsteeme, ka neid, milles pole
üldse ruumi (näiteks /proc)
-k - näitab ruumi kilobaitides
-T - näitab ka failisüsteemi tüübi
-t tüüp - näitab ainult vastavat tüüpi
failisüsteeme
-x tüüp - näitab kõiki failisüüsteeme,
mis ei ole seda tüüpi
FIND
find [otsimistee] [tingimused] - leia ... Väga suurte
võimalustega käsk. Kõige sagedamini kasutatakse faili
leidmiseks arvutis. Siis
find / -name faili_nimi
Mõni find versioon tahab vist, et lisataks veel '-print', muidu ei tule
midagi ekraanile, seega siis
find / -name faili_nimi -print
Kataloogi otsimiseks lisada veel
-type d
Kui soovid alustada otsimist aktiivsest kataloogist allapoole, siis
find ./ -name ... [-type d]
Nurksulgudes osa lisatakse ainult kataloogi otsimiseks, kui otsid faili,
siis pole seda vaja.
-user user_name - username on kas kasutajanimi või ID - leiab ainult kasutaja 'user_name' failid
find / -regex regulaaravaldis - otsib faili, mille nime täpsel ei tea.
Regulaaravaldises võib kasutada ?, * [ ]
-iregex - ei tee vahet suurtel ja väikestel tähtedel
Võimalikke tingimusi on raamatus veel 4 lk. Vajaduse korral võib
vaadata
man find
LOCATE
locate [võtmed] failinimi - trükib ekraanile faili 'failinimi'
asukoha. 'failinimi' võib olla ka osaline või katalooginimi
või osa kataloogi nimest.
-d path - otsimistee, path võib olla koolonitega eraldatud loetelu
DIFF
diff [võtmed] fail1 fail2 - tekstifailide võrdlemine
Failide erinevused väljastatakse standardväljundisse, seega siis ekraanile, aga kui erinevusi on palju ja ekraani ei saa tagasi kerida, siis on õige suunata kas konveieriga more'i või less'i või suunata faili, seega siis:
diff fail1 fail2 | more
diff fail1 fail2 > fail3
Erinevad tekstiread märgitakse:
< - fail1
> - fail2
Võtmed:
-i - ära tee vahet suurtel ja väikestel tähtedel
-a - käsita kõiki faile tekstifailidena. Selle võtmega saab
võrrelda ka binaarfaile
-y - esita erinevused kahes tulbas
-r - võrdle rekursiivselt ka alamkatalooge
-q - 'vaikne' - ütleb ainult, kas failid erinevad või mitte
Võtmeid on veel palju-palju, soovi korral võid vaadata man diff
CMP
cmp [võtmed] fail1 fail2 - võrdle faile fail1 ja fail2. See
sobib ilma võtmeteta kohe binaarfailide võrdlemiseks.
Võtmed:
-c - trüki erinevad baidid (ekraanile) kui sümbolid (characters)
-i arv - ignoreeri faili esimesi baite 1 .. arv
-l - pikk formaat, 'jutukas'
-s - vaikne mood, ei teata midagi, tulemuseks on ainult väljundkoodid,
mida saab kasutada scriptides: 0 - failid on identsed, 1 - failid on
erinevad, 2 - faile ei saa lugeda.
CAT
cat [võtmed] [failid]
Trükib faili/failide sisu ekraanile. Näiteks käsk 'cat kataloog' trükib ekraanile faili 'kataloog' sisu. Muidugi jääb see alles ka faili 'kataloog'. Cat'i puuduseks on see, et ta jooksutab faili otsast lõpuni ekraanilt läbi, pikemate failide puhul kaob faili algus ekraani serva taha.
Võtmed:
-v - näita ka mittetrükitavad sümbolid välja arvatud TAB
ja LF (= reavahetus)
-A - näita kõik sümbolid, ka TAB ja LF
Cat käsuga saab ka faile kokku liita
cat fail1 fail2 > fail3 - faili 'fail3' sisuks saab fail1+fail2
cat fail1 fail2 >> fail3 - faili 'fail3' sisuks saab
endine_fail3+fail1+fail2 s.t. fail1 ja fail2 lisatakse faili 'fail3'
lõppu
CPIO
cpio lipud [võtmed] - kopeeri failid/arhiivid lindile, kettale või
teise kohta lokaalmasinas.
Lipud:
-i [võtmed] [muster] - kopeeri lindilt masinasse või võta
arhiivist välja (kui failinimesid pole antud, siis kõik failid)
-o [võtmed] - kopeeri välisseadmele loetletud failid
-p [võtmed] kataloog - kopeeri failid sama masina teise kataloogi
Võtmeid on raamatus kaks lehekälge. Neid tuleb 'man' -ga vaadata, siis kui vaja läheb.
DD
dd [võtmed] - muuda faili kopeerimise ajal. See käsk kopeerib
vaikimisi standardsisendist (klaviatuurilt) standardväljundisse (ekraanile)
faili, muutes faili kodeeringut ja/või blokkide suurust. Saab kasutada
failist faili ja seadmelt seadmele kopeerimiseks.
Võtmed:
if=fail - võta sisend failist 'fail'
of=fail - võta väljund failist 'fail'
ibs=n - loeb n baidiste blokkidena
obs=n - kirjutab n baidiste blokkidena
bs=n - nii loeb kui kirjutab n baidiste blokkidena, kui see võti
on antud, siis ei arvestata võtmeid ibs ja obs
cbs=n - konverteerib n baiti korraga
skip=x - jätab sisendfaili algusest x ibs-suurust blokki lugemata
seek=x - jätab väljundfaili kirjutatava info algusest x obs-suurust
blokki kirjutamata
count=y - kopeerib ainult y blokki
conv=conversion - teisenda vastavalt märksõnale conversion
ascii - EBCDIC -> ASCII
ebcdic - ASCII -> EBCDIC
lcase - muuda suured tähed
väikesteks
ucase - muuda väikesed
tähed suurteks
swab - vaheta sisendbaidid
paarikaupa. Mõnes süsteemis kasutatakse
kahebaidiste arvude/tähtede kujutamisel teistpidist järjestust
Kõik see blokkide ja bloki suurustega manipuleerimine võib üsna mõttetuna tunduda, aga siin üks näide, miks see hea on. Kui on vaja palju faile flopidega ühest arvutist teise viia, siis ei ole mõtet neid faile hakata eraldi flopide peale sobitama, vaid on lihtsam nad tar-ga kokku üheks failiks liita ja siis dd-ga flopide peale ära jagada
dd if=fail.tar of=fail1.tar bs=485 count=3000
dd if=fail.tar of=fail2.tar bs=485 skip=3000 count=3000
dd if=fail.tar of=fail3.tar bs=485 skip=6000 count=3000
dd if=fail.tar of=fail4.tar bs=485 skip=9000 count=3000
dd if=fail.tar of=fail5.tar bs=485 skip=12000 count=3000
jne, kuni fail on kettasuurusteks juppideks hakitud. Pärast teises arvutis tuleb nad uuesti cat-ga kokku liita ja ongi valmis
Muidugi võib seda kõike teha ka lihtsalt tar-ga (-M võtmega), see oli lihtsalt üks näide
FILE
file [võtmed] fail(id)
Selle käsuga saab uurida, mis tüüpi on fail 'fail'. Ta kas vaatab failist /etc/magic või analüüsib faili ennast. Tunneb ära ascii teksti, c programmi teksti, shelli käskude faili, kataloogi ja ehk veel mõne
REGULAARAVALDISED
Regulaaravaldised lubavad sümbolit või mingit stringi osa asendada
erisümboli(te)ga. Kõige tavalisemad ja kergemini pruugitavad on ?
ja * lihtsamates käskudes nagu ls, cp, mv, rm.
ls -l fail?.bak - trükib ekraanile failide nimed fail1.bak,
fail2.bak, faila.bak jne.
Sellises funktsioonis nimetatakse ? ja * - wildcards, eestikeelset nime
ei teagi.
Regulaaravaldised on tegelikult midagi muud ja neilsamadel sümbolitel natuke teine tähendus. Regulaaravaldisi kasutatakse otsimiskäskudes (näiteks grep ja find), et kontrollida stringi mingi osa kokkulangevust.
Regulaaravaldised on:
. - suvaline sümbol
* - null või mitu suvalist sümbolit
^ - rea algus
$ - rea lõpp
\ - väldi järgnevat sümbolit
[ ] - ükskõik milline sulgudes loetletuist
\< \> - sõna algus või lõpp
+ - üks või rohkem eelnenuist
? - null või üks eelnenuist
| - see märk pannakse mitme võimaliku variandi vahele
( ) - avaldiste grupp
Näited grep käsuga:
grep Tere *.txt - otsi aktiivse kataloogi kõigist .txt
failidest sõna 'Tere'
grep [Tt]ere *.txt - leia nii 'tere' kui 'Tere'
grep '[Tt]ere [Hh]ommikust' - leia tere hommikust; Tere hommikust;
tere Hommikust; Tere Hommikust
NB! otsitav string koos oma regulaaravaldistega on siin apostroofide
vahel.
grep .*re *.txt - leiab tere, Tere, tore, Tore failidest .txt
find käsus peab regulaaravaldis olema apostroofide vahel:
find ./ -regex '.*9703.*'
./v6_1/970311-chngd.tar
./v6_1/970312-chngd.tar
./v6_1/970310.tar
./v6_1/970313-chngd.tar
See siin on üks konkreetne näide päringust kataloogis, millel on alamkataloog v6_1 ja tolles failid 970311-chngd.tar jne.