Páginas

2008/02/04

Sistema fitxategiarekin zerikusirik duten komandoak

Multzo honetan , dagoeneko ikusi ditugun find eta ls komandoak sartu ahal dira. Ikus ditzagun beste batzuk:
  • cd direktorioa : adierazitako direktoriora joateko (Change Direktory)


    • Adibidea : cd /etc/apt/

  • cp [aukerak] jatorria helburua : fitxategiak edta katalogak kopiatzeko jatorri-tik helburu-ra
    • Aukerak:
    • -R : era errekurtsiboan kopiatzeko, hau da azpikatalogoen katalogo/fitxategiak kopiatuko dira
    • -p helburuko fitxategiaren baimenak , hala nola fitxategien ezaugarriak , jarraitzen dute.
  • pwd : (present work direktory) aukera gabeko komandoa . Gauden katalogoa da bere emaitza
  • mv [aukerak] jatorria helburua : fitxategia(k) jatorritik helburura mugitzeko erabiltzen da. Beti kontuan izan fitxategiak direla , bai fitxategi arruntak ( dokumnetuak, irudiak,...) , bai direktorioak ( barruan ere azpikatalogoak existitu ahal dira). Komando horren emaitza jatorriko fitxategia mugitu ondoren zegoen katalogotik ezabatzea da. Fitxategiak berizendatzeko ere erabili ohi da.
Adibidea:
mv /home/jon/textuak/ariketa1.txt /home/jon/ariketa1.zuzenduta ,
ariketa1.txt izeneko fitxategiak ariketa.zuzenduta hartzen du izena, eta jon karpetara mugitu da
Aukerak:
    • -f : komandoak ezabatu baino lehenago "galdetzen digu" ,eskuarki; f aukerak dezeustatzen du aukera hori. Ez bagara oso ziur ez da komenigarria erabiltzea.
  • mkdir [aukerak] katalogoa: katakologoa izeneko direktorioa sortzen du
    • Aukerak:
      • -m baimenak : baimenak adierazteko era
      • -p : aita-direktorioak sortzen ditu existitzen ez badira.
Adibideak:
  • mkdir lanak : gauden direktorioan lanak izeneko direktorioa sortzen du .
  • mkdir /home/dokumentoak/lanak : /home/dokumentoak katalogoan lanak izeneko direktorioa sortzen du. Demagun , aurreko komandoan dokumentoak katalogoa ez dela existitzen,orduan lanak katalogoa ez zen sortuko !!!.Halako kasuetan -p aukera erabili behar dugu derrigor; hua da , hurrengo honetan mkdir -p /home/dokumentoak/lanak "dokumentoak" izeneko karpeta ez bada existitzen; ezinezko izango zaio komandoari burutzea.Kasu horretan -p aukera erabiltzen da. mkdir -p /home/dokumentoak/lanak , honekin dokumentoak izeneko katalogoa ere sortuko litzateke
  • rm [aukerak] fixategia(k) : edozein motako fitxategiak ( arruntak, katalogoak, estekak) ezabatzen ditu
    • Aukerak:
      • -f : ezer ezean, ezabatu baino lehen gure onartzea eskatzen digu; -f aukerarekin lehenetsitako era galtzen da.
      • -r : katalogoak eta euren edukia ezabatu nahi baditugu -r aukera erabili behar da.
    • Adibideak:
      • rm * , uneko katalogoko fitxategiak ezabatuko dira, baimenak eskatuz
      • rm -rf ariketa* , ariketa hitzarekin hasten diren uneko katalogoko fitxategiak eta karpetak ezabatuko dira, baimenak eskatu arik.

Bash programazioa II

ESPRESIO ERREGULARRAK
Hain ezaguna den *.txt adierazpena espresio erregularratzat jotzen dugu, hau da * karaktereak esanahia berezia du esaldi hauetan.
Adibidez, exekutatzen badugu
  • ls -l *.txt txt hizkiekin bukatzen diren fitxategiak zerrendatuko dira
  • ls -l fi*t fi hizkiekin hasi eta t-rekin bukatzen diren fitxategiak aterako dira
* karaktere horretaz gain , badaude beste espresio erregular batzuk. Hona hemen sarri erabiltzen diren zenbait.
? edozein karaktere ordezkatzen du . et?e izan daiteke etxe, etze,etse. Adibidea
  • ls -al urtea200? : urtea200a ,urtea2003 urtea200d urtea200x ,...izango da emaizta, baina ez urtea20010,...
Parentesiak [] karaktere multzo bat ordezkatzen du. Ikus dezagun adibide batekin, e[t,n]e honekin bi hitz ordezkatzen ditugu : ene , ete . ASCII karaktere multzo bat adieraz daiteke: [a-z] edozein letra ordezkatzen du; are gehiago [a-zA-Z] letra xeheak eta larriak ordezkatzeko; edo [a-zA-Z0-9] etab.
Adibidea:
  • ls -al ariketa[0-9] : ariketa0, ariketa1, ariketa2,...ariketa9 bistarauko dira, existituz gero
Hau da, [..] barruan dauden karaktereetaik BAT bakarrik hartu
Kontuan izan komandoek , ls, cp,... etab, ez dituztela espresio erregularrak ikusten, baizik eta euren emaitza. Ikus dezagun hurrengo adibidea:
  • cp fitxategi[0-4] /Home/jon
Lehenengo, espresio erregularra garatuko zen : fitxategi0 fitxategi1 fitxategi2 fitxategi3 fitxategi4 .Oduan, multzo honetako bat edo geihago existituz gero kopiatko dira adierazitako katalogora, baina bat ere ez balego emaizta ( errore mezua) izango litzateke eta honako zerbait ikusiko genuke
cp: fitxategi[0-4] : No such file or direktory.
hau da, hartzen du fitxategi[0-4] fitxategiaren izena eta, jakina ez dago laneko katalogoan.

! karaketerak "EZ HARTZEKO" balio du. Ikus dezagun adibidea:
  • ls -al [!0-9]fitxategiak
digitoz hasten ez diren fitxategiak zerrendatzeko
Informazioa geihago , hemen

Bash programazioa I

SARRERA

Shell programa bat da, eta teklatuan sartzen diren karaktereak atzematea ditu, Windows-en monduan command.com programak egin zuen antzera. Karektereek Sistema Eragileak (SE) ulertzen dituen aginduak osatzen badituzte , agindu horiek fitxategi batean jaso ahal dira gero egikaritzeko.Fitxategi horiek script-tzat ezagunak dira. Garai batean hori zen SE-ra aginduak pasatzeko bide bakarra, egun GUI ( Graphical User Interfaces) , hau da era grafikoak, badauzkagu gauza bera egiteko.

Linux sistemak shell batzuk ditu : bash, tcsh, zsh,... Programa hauekin script-ak sortzen dira ; hurrengo adibideetarako Bourne Again Steve Bournek -bash- Shell erabiliko dugu.

Esan den moduan, ariketak kontsolan ( CLI : Comman Line Interfaces ) probatuko ditugu .Labur bilduz, script bat egiteko behar duguna da: textu editore bat, eta shell bat. Editorea Linux-ek duen vi, nano, gedit, ..., eta shell-erako bash delakoa.

Hasteko , begiratuko dugu erabiltzen dugun shell zein den; horretarako ireki terminal bat eta idatzi:

echo $SHELL.

Emaitza /bin/bash izango da; hau da bash programa /bin karpeta dagoena. Bertsio batzuk daude, jakiteko zein dira daukaguna, idatzi

echo $BASH_VERSION

Gure makinan erabili ahal diren beste shell-ak zeintzuk diren ; egikaritu

cat /etc/shells

(Ez baduzu bash erabiltzen, lehentsia egiteko idatzi chsh -s /bin/bash , hau da ChangeShell (chsh ) bash-era) .

Honaino ailegaturik, alde batetik ,esan dezakegu prest garela script-ak egiteko, bestetik erabili ditugun aginduetan hitzak era ezberdinetan idatzita daudela; adibidean echo $BASH , echo agindu bat da, eta $BASH ingure-aldagaia , era horretan adierazten dira : aginduak letra xehez ,aldagaik larriaz

Script-lengoaia hauek exekutatzeko ez dira konpilatu behar, interpretatzeko modukoak direlako, hau da, aginduak banan-banan probatu ahal ditugu eta aldaketaren bat eginez gero zuzenean ere konproba daitezke.Dena dela, goi mailako lengoia batek dituen agindu egiturak ditu bash programak: aldagaiak, balditzazko egiturak, errepikakorrak etab.

2008/02/03

Fitxategi Bereziak

Linux sistema eragilerako irakurri edo idatzi nahi duen gailuak fitxatzegiak dira , beraz, diska gogorrean erabiltzen ditugun fitxategiak edo direktorioak , A unitatea, pantaila, teklatua.. fitxategitzak hartzen ditu SEak.
Fitxategiak era ezbedinetakoetan sailka daitezke :
  • informazioa bloketetan maneiatzen dituztenak (b)
  • Informazioa karekteretan maneiatzen dituztenak (c)
  • katalogoak adierazteko erabiltzen direnak (d)
  • estekak ( link) adieraztekoak (l)
  • fitxategi arruntak (f)
  • ..
  • ..
Hizki horiek (c ,b ..)erabil daitezke find komandoarekin -type erabiliz ; edo ls egikaratzean errendatetan aterazten den lehengo karaktera
Beste maila batean, hau da adierazteko era kontutan hartuta, aipagarria dira hurrengo hauek: / ; . ; .. ; ~
  1. / erro katalogoa adierazteko erabiltzen da. Era logikoan , beste guztian horretatik daude zintzilik.
  2. . puntu horrekin gauden katalogoa adierazten dugu. Beste alde batetik , katalogo horrek izena izango du
  3. .. bi puntu hauek goiko katalogoa adierazten dute.
  4. ~ , erabiltzailearen laneko katalogoa adierazten du
Teklatuak eta pantailak (kontsola) aipamen berezia merezi dute. Bi horiek informazioa sartzeko eta bistaratzeko ; fitxategi standarrak dira stdin (standar input ) eta stdout ( standar output) hurrenez hurren. Horrek esan nahi du , adibidez, ls komandoaren emaitza, besterik esan ezean, zuzenean kontsolara bideratzen dela , lehentsitako irteera delako. Berdin egin ahal dugu teklatuarekin,adibidez, komandoren bat informazioa berez teklatutik hartu beharrean beste fitxategi batetik irakur dezake.
Bestalde, komandoren bat egikaratzen denean akatasak, hau da ezin du burutu, gerta litezke; kasu horretan sistemak informatzen digu horretaz, horretarako beste fitxategi berezi bat erabiltzen du stderr Beraz, hiru fitxategi standarrak dauzkagu stdin, stdout eta stderr . Fitxategi horiek "izendatzeko" zenbakiak ( deskribatzaileak ) erabiltzen dira , 0,1,2 hurrunez hurren .
Aurreragoan erabiliko ditugu informazioa berbidaltzeko


find Komandoa

KATALOGOEN KUDEAKETA
Gure makinako fitxategi sisteman fitxategiren bat aurkitzeko Gnome edota KDE lehio kudeatzaileek dituzten tresna grafikoak erabil ditzakegu, edo treminal batetik find komandoa erabiliz. Komando guztiekin gertatzen den legez , horrek ere aukera anitz ditu; kontsolan find --help idazten aterako zaizkigu.Betiko moduan aukerak gidoi (-) atzean adierazten dira eta bat baino gehiago idatz ditzakegu. Komandoak duen sintaxia hau da: find [katalogoa] [-aukera].... . [katalodoa] ez bada adierazten uneko karpetan egingo du bilaketa. Erailera ohikoena hurrengo aukera hauekin izan daiteke
  • find /home/koldo -name fitx1 : "Koldo" karpetan bilatuko du fitx1 izeneko fitxategia
  • find -size +120k : une katalogoan 120k edo gehiago dituen fitxategiak bilatzeko , uneko katalogoan
  • find / -size -120k : erro katalogoan 120k edo gutxiago dituen fitxategiak bilatzeko .
  • find /var/www/web1 -atime 7 : /var/www/web1 katalogoan azken 7 egunetan irakurri izan diren fitxategiak bilatzeko
  • find /usr/sbin -mtime 7 : /usr/sbin katalogoan azken 7 egunetan aldaketa jaso diren fitxategiak bilatzeko
  • find /usr/sbin -user jon : jon erabiltzailek adierazitako path-ean (/usr/sbin) diteun fixategiak
  • find /usr/sbin -newer /home/koldo/fitx1 : adierazitako path-ean (/usr/sbin) fitx1 izeneko fitxategia ( koldo karpetan dago)baino berriago diren fitxategiak
  • find /usr/sbin -perm 751 , adierazitako baimenak (751) dituen fitxategiak
Beraz ezaugarri batzuk betetzen dituzten fitxategiak bilatu ahal dira find komandorekin; non emaitza zerrenda batean ematen digun.Horretaz gain, komandoari zenbait ekintza adieraz daitezke ein ditzan.Hona hemen adibide batzuk:
  • find /usr/sbin -user jon -ls : hau da find komandoaren emaitza ls ekintza aplikatuz fitxategien ezaugarri guztiekin bistaratuko dira
  • find /usr/sbin -user jon -print , horrrekin fitxategien bide absolutua ere erakutsiko da
Baina badago gehiago: ateratako zerrenda beste komando batzuk aplika diezaizkiogu , ondorengo era honetan
find [katalogoa] [aukera] -exec komandoa {}\;
Adibidea:
find /usr/sbin -user jon -exec rm {} \; kasu horretan rm komandoa egikarituko zen , hau da, bilatutako fitxategiak
ezabatuko dira .Kontuz rm erabiltzean!!!
Beste adibide bat :
find / -name *.sh -size -10k -user jon -ls
erro (/) katalogoan egingo du bilaketa, ( *.sh) sh luzapena duten fitxategiak , edukia 10 k baino gutxiagokoak, eta jon da bere egilea; zerrenda era zabalagoan (-ls) aterako da

2008/02/02

ls Komandoa

KATALOGOEN KUDEAKETA
Gaur egun Linux sitema kudeatzeko era grafikoan egin daiteke, horretarako tresna ugari baitago. Dena dela, sarritan ez gaude egoera horretan, pentsa dezagun urrunetik zerbitzaria kudeatzen ari garela ssh eraren bitartez. Halokoetan ezinbestekoak dira komandoak, terminal batean egikaritzen direnak
Hasteko , behar bada ls komandoa da franko erabiltzen dena . Bere erabilera osoa ezagutzeko -- help menura jo ezazu, hau da idatzi ls --help , dituen aukera guztiak erakutsiko dizkizu. Laguntzan ikus daitekeenez aukerak gidoiaren atzean adierazten dira. Beharren arabera erabiliko ditugu aukerak, besteak beste hurrengo hauek
  • ls -a : horrela fitxategi guztiak , sarrerak, erakutsiko dira ; baita puntuz (.) hasten direnak ere
  • ls -l : era zabalean , berezitasun guztiekin
  • ls -r : alderantziko ordenetan ateratzeko
  • ls -s : fitxategiaren tamaina arakusteko
  • ls -R : era errekutsiboan azpikatalogoetan dauden fitxategiak erakusteko
Komando batean aukera bat baino gehiago adierazi ditzakegu , adibede gisa asko erabiltzen den hau : ls -al



Free Image Hosting at www.ImageShack.us

2008/02/01

Fitxategien baimenak

Ubuntu, erabiltzaile anitzeko sistema denez erabiltzaileen fitxategiak babestu behar dira; inork berea ez direnak ezabatu edo aldatu ez ditzan . Horretarako Ubuntuk, beste linux ditroek bezala, hiru baimen mota erabiltzen ditu:Irakurtzekoa(r:read), Idaztekoa ( w: write) eta Egikaratzekoa ( x: execut). Beraz esaten bada fitx.txt fitxategiak (r,w,x) baimenak baditula, esan nahi du irakurri, aldatu eta egikaratu ahal dugula
Baimenak zenbaki baten bitartez adieraz daitezke.Demagun, fitx.txt fitxategiari irakurtzeko baimena bakarrik esleitu hahi diogula. Egoera hori 100 zenbakiarekin adieraz daiteke, hau da 1 zenbakiak baimena duela adierazten du eta 0 ez duela. Zenbaki hori era bitarrean interpretatu behar dugu,beraz 100 ~ 6; horrela izanik 8 baimen mota ezberdinak adiraz daitezke, hau da : 0,1,2,3,4,5,6,7 zenbakiekin 8 konbinazioei dagozkionak:

BaimenakZenbakiaDesbribapena
0000Irakuri:Ez Aldatu:Ez Exekutatu:Ez
0011Irakuri:Ez Aldatu:Ez Exekutatu:Bai
0102Irakuri:Ez Aldatu:Bai Exekutatu:Ez
0113Irakuri:Ez Aldatu:Ez Exekutatu:Ez
1004Irakuri:Bai Aldatu:Ez Exekutatu:Ez
1015Irakuri:Bai Aldatu:Ez Exekutatu:Bai
1106Irakuri:Bai Aldatu:Bai Exekutatu:Ez
1117Irakuri:Bai Aldatu:Bai Exekutatu:Bai

Bestalde, erabiltzaile guztiak taldeka batzen dira, beraz taldeari baimenak ere esleitu behar zaizkio, aurreko prozedurarekin, hau da fitx.txt izeneko fitxategiak 7,6 baimenak baditu esan nahi du fitxategiaren egileak hiru baimenak dituela, eta egilearen taldekoek irakurri eta aldatu dezaketela.
Eta gainontzeko erabiltzaileek? Horiek ere baimen mota berdinak izan ahal dituzte. Guzti horren ondorioz ziurta daiteke fitxategi baten baimenak hiru motakoak direla ( r,w,x) eta hiru mailetan esleiturik: egileari, taldeari, eta beste guztiei ; hau da , demagun ikusten dugula hurrengo hau. : 754 fitxategia.sh , egileak (7) irakurri ,aldatu eta exakutatu ahal du, taldeak (5) irakurri eta exekutatu baino ez, eta besteek (4) irakurri bakarrik.
Aurreko adibidea era zabalean adierazita : rwxr-xr-- fitxategia.sh izango litzakete. Probatzeko erabili ls komandoa kontsola batean: ireki terminal eta idatzi : ls -al , zauden katalogo fitxategien zerrenda bistarako dira euren baimenekin ezkerrean jarrita