Operatsioonid failidega ja kataloogidega


sisukord | sisse ja välja logimine | operatsioonid failidega ja kataloogidega
protsesside jälgimine ja kontrollimine
tekstide tegemine ja vaatamine ja muidu kõik tekstifailidega seotu
keskkonna kujundamine | pakkimine ja arhiveerimine | süsteem, võrk ja kasutajad
käskude täitmine ja aliased | kõik ülejäänu

CAT, CD, CHMOD, CHOWN, CMP, CP, CPIO, DD, DF, DIFF, DU, FILE, FIND, LN, LOCATE, LS, MTOOLS, MKDIR, MV, PWD, REGULAARAVALDISED, RM, TOUCH,


*   CD

cd dirnimi - läheb (alam)kataloogi 'dirnimi'
cd - läheb kodukataloogi
cd .. - läheb kataloogipuus üks tase kõrgemale
cd ../.. - läheb kataloogipuus kaks taset kõrgemale
cd ~/dirnimi1/dirnimi2 - läheb oma kodukataloogi alamkataloogis dirnimi1 olevasse alamkataloogi dirnimi2
cd ../dirnimi - läheb kataloogipuu kõrvalharu kataloogi 'dirnimi'

Tagasi algusesse



*   PWD

pwd - trükib ekraanile aktiivse kataloogi täieliku nime - koos täieliku kataloogiteega (path)

Tagasi algusesse



*   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'

Tagasi algusesse



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

Tagasi algusesse



*   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

Tagasi algusesse



*   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)

Tagasi algusesse



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

Tagasi algusesse



*   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'

Tagasi algusesse



*   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])

Tagasi algusesse



*   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

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

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

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

mdel fail(id) - kustutab dos-i faile


MDELTREE

mdeltree kataloog(id) - kustutab dos-i katalooge (ka siis, kui need ei ole tühjad)


MDIR

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

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

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

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

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

mmd kataloog(id) - tekitab uue dos-i kataloogi


MMOVE

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

mrd kataloog(id) - kustutab dos-i katalooge (ainult tühjasid)


MREN

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

mtype [võtmed] fail(id) - trükib dos-i faili sisu ekraanile

Võtmed:
-t - tekstifaili vaatamine, CR LF muudetakse LF-ks


MZIP

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

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

Tagasi algusesse



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

Tagasi algusesse



*   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

Tagasi algusesse



*   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

Tagasi algusesse



*   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

Tagasi algusesse



*   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

Tagasi algusesse



*   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

Tagasi algusesse



*   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

Tagasi algusesse



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

Tagasi algusesse



*   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

Tagasi algusesse



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

Tagasi algusesse



*   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

Tagasi algusesse



*   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

Tagasi algusesse



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

Tagasi algusesse




Lehekülge tegi Joel Kuusk


Viimati muudetud 09.11.1998