home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 July / Chip_2000-07_cd.bin / obsahy / Chip_txt / TXT / 170-171.TXT < prev    next >
Text File  |  2000-06-06  |  8KB  |  79 lines

  1. ZaΦφnßme s Linuxem (6)
  2. Kdo hledß, najde
  3. Hledßte obΦas klφΦe, br²le, hlavu a podobn∞? Pak se vßm urΦit∞ n∞co podobnΘho stane i p°i prßci s Linuxem. Prost∞ budete pot°ebovat najφt soubor nebo text. Abyste nemuseli nazda°b∙h prochßzet disk a prohlφ₧et si ka₧d² soubor, staΦφ vßm mßlo û p°eΦφst si dneÜnφ Φlßnek. 
  4. Pro hledßnφ informacφ, o kter²ch vφte, ₧e jsou na disku, ale nevφte p°esn∞ kde, slou₧φ mimo jinΘ dva velice u₧iteΦnΘ p°φkazy û find a grep.
  5.  
  6. Hledßnφ v souborech
  7. Find slou₧φ k hledßnφ soubor∙ podle jmΘna a je schopen soubory nejen najφt, ale takΘ spustit libovolnou akci a p°edat jφ jmΘno nalezenΘho souboru jako parametr. ZaΦneme nejjednoduÜÜφm zp∙sobem jeho pou₧itφ:
  8.  
  9. find . -name brejle
  10.  
  11. Tento zßpis vyvolß prohledßnφ aktußlnφho adresß°e (.) a jeho podadresß°∙ a v²pis cesty k souboru brejle. HledanΘ jmΘno souboru m∙₧e obsahovat ne·pln∞ zadanΘ jmΘno, kde n∞kterΘ znaky nahradφme "₧olφky" û znaky *,?. V r∙zn²ch p°φkazov²ch interpretech majφ * nebo ? zvlßÜtnφ v²znam. Proto je nutnΘ zajistit, aby se znaky dostaly a₧ k p°φkazu find, kter² s nimi mß pracovat. Pak to m∙₧e vypadat nap°φklad takto:
  12.  
  13. find . -name \*penguin.gif
  14.  
  15. nebo
  16.  
  17. find . -name "*penguin.gif"
  18.  
  19. Pokud si nejsme jisti, zda se v nßzvu vyskytujφ malß nebo velkß pφsmena, napφÜeme mφsto -name -iname.
  20. Prohledßvßnφ vÜech podadresß°∙ m∙₧e trvat hodn∞ dlouho, proto je mo₧nΘ pou₧φt n∞kterΘ z p°epφnaΦ∙ pro up°esn∞nφ prohledßvanΘho prostoru.
  21.  
  22. find . -name soubor -mindepth 2 -maxdepth 4
  23.  
  24. Takto find pracuje a₧ se soubory od ·rovn∞ vno°enφ 2 a nezajφmß se o obsah adresß°∙ na ·rovnφ v∞tÜφ ne₧ 4.
  25. Soubory lze vyhledßvat i podle jin²ch kritΘriφ ne₧ jmΘna, nap°φklad podle skupiny, do kterΘ soubor pat°φ (-group), Φasu poslednφ zm∞ny (-ctime), p°φstupov²ch prßv (-perm) a mnoha dalÜφch.
  26. S nalezen²mi soubory je mo₧nΘ dßle pracovat pomocφ parametr∙ p°φkazu find. Asi nejpou₧φvan∞jÜφ jsou t°i z nich: -exec, -ok a r∙znΘ varianty parametru -print.
  27. Pomocφ -exec m∙₧eme spustit libovoln² jin² program a p°edat mu jmΘno nalezenΘho souboru jako parametr.
  28.  
  29. find . -name "*.txt" -exec head \{\} \;
  30.  
  31. VypφÜe prvnφch 10 °ßdk∙ ka₧dΘho nalezenΘho textovΘho souboru (p°φkaz head). P°edßnφ jmΘna nalezenΘho souboru je zprost°edkovßno zßpisem {}, parametr exec se ukonΦuje st°ednφkem. Zp∞tnß lomφtka zajiÜ¥ujφ, ₧e se je p°φkazov² interpret nepokusφ zpracovat a p°edß je p°φmo p°φkazu find.
  32. N∞kterΘ akce vyvolßvanΘ pomocφ parametru -exec mohou b²t destruktivnφ a budeme asi chtφt, aby bylo mo₧nΘ u ka₧dΘho nalezenΘho souboru rozhodnout, mß-li se p°φkaz vykonat. K tomu slou₧φ parametr -ok. P°ed ka₧dou akcφ se vßs zeptß, jestli chcete p°φkaz pro nalezen² soubor vykonat.
  33.  
  34. find . -name "*.txt~" -ok rm \{\} \;
  35.  
  36. Find toho umφ jeÜt∞ daleko vφc. DoporuΦuji vßm vyzkouÜet si uvedenΘ p°φklady, dalÜφ inspiraci m∙₧ete hledat nap°φklad v manußlovΘ strßnce.
  37. P°i hledßnφ se m∙₧e hodit mo₧nost prohledat nalezen² soubor a zjistit, vyskytuje-li se v n∞m hledan² °et∞zec znak∙. K tomu slou₧φ p°φkaz grep, kter² je samoz°ejm∞ mo₧nΘ pou₧φt i samostatn∞. Hledß se jφm v²skyt °et∞zce znak∙ v souboru nebo vφce souborech.
  38.  
  39. grep banßn *
  40.  
  41. VypφÜe jmΘna soubor∙, kterΘ obsahujφ slovo banßn, a souΦasn∞ vypφÜe vÜechny °ßdky, kterΘ jej obsahujφ. Hledan² °et∞zec se zadßvß jako regulßrnφ v²raz nebo jen jako °et∞zec znak∙ (p°epφnaΦ -F).
  42.  
  43. grep -F "hv∞zdiΦka *" *.txt
  44.  
  45. V²stup je mo₧nΘ r∙zn²m zp∙sobem formßtovat. Nejb∞₧n∞jÜφ jsou p°epφnaΦe -A (after) a -B (before), pomocφ kter²ch zv∞tÜφte vypisovanou Φßst souboru o n∞kolik °ßdk∙ za, resp. p°ed nalezen²m v²razem.
  46.  
  47. grep -B 2 -A 5 slova *.txt
  48.  
  49. VypφÜe 2 °ßdky p°ed a 5 °ßdk∙ za ka₧d²m °ßdkem obsahujφcφm v²raz slova.
  50. Grep se dß pou₧φt v kombinaci s find k prohledßvßnφ nalezen²ch soubor∙.
  51.  
  52. find . -name \*.txt -exec grep Linux \{\} \; -print
  53.  
  54. Nalezne vÜechny textovΘ soubory a vyhledß v nich slovo Linux. Za v²pis °ßdk∙ s nalezen²m textem vytiskne jmΘno souboru (-print).
  55.  
  56. Struktura adresß°∙ Linuxu
  57. Jako ka₧d² operaΦnφ systΘm mß i Linux pravidla, kterß °φkajφ, kam se majφ umφstit soubory, kterΘ tvo°φ systΘm. KonfiguraΦnφ soubory platnΘ pro cel² systΘm pat°φ nap°φklad do adresß°e /etc, specißlnφ soubory do /dev a u₧ivatelskΘ adresß°e do /home. Zatφmco  prvnφ dva p°φpady jsou striktn∞ vy₧adovßny, umis¥ovßnφ domovsk²ch adresß°∙ u₧ivatel∙ do /home u₧ povinnΘ nenφ. Podobn²ch nepovinn²ch zvyklostφ je hodn∞ a jejich nepovinnost p∙sobφ problΘmy p°i p°enßÜenφ dat a aplikacφ mezi jednotliv²mi distribucemi.
  58. Aby se p°edeÜlo nedorozum∞nφm, vznikl v rßmci projektu LSB popis struktury adresß°∙ souborovΘho systΘmu Linuxu, nazvan² Filesystem Hierarchy Standard (FHS). Dnes jej dodr₧ujφ tΘm∞° vÜechny distribuce Linuxu a jeho znalost uÜet°φ hodn∞ Φasu jinak strßvenΘho pßtrßnφm po r∙zn²ch souborech. V²jimkou je bohu₧el takΘ distribuce Red Hat, na kterou se v naÜem serißlu zam∞°ujeme. Zßkladnφ rozlo₧enφ soubor∙ ale dodr₧uje. Bude jist∞ u₧iteΦnΘ projφt si zßkladnφ strukturu adresß°∙ a zφskat p°ehled o rozlo₧enφ soubor∙ na disku s Linuxem.
  59. Ko°enov² adresß° neboli / je hlavnφm rozcestnφkem ve vÜech Unixech. N∞kdy je p°φmo v / umφst∞no jßdro operaΦnφho systΘmu v souboru vmlinuz, Φast∞ji ale bude v adresß°i /boot.
  60. V /boot jsou soubory urΦenΘ pro startovßnφ operaΦnφho systΘmu, tedy hlavn∞ jßdro. D∙vodem pro vznik samostatnΘho startovacφho adresß°e je v²jimeΦnost startovacφho procesu. N∞kterΘ boot managery vy₧adujφ specißlnφ umφst∞nφ startovacφch soubor∙ na disku, nebo dokonce nutφ u₧ivatele, aby m∞l startovacφ soubory na primßrnφm master disku. ╪eÜenφm je mal² oddφl, kter² se p°ipojuje do struktury systΘmu soubor∙ jako /boot.
  61. V /etc sφdlφ konfiguraΦnφ soubory pro operaΦnφ systΘm a vÜechny programy. TextovΘ konfiguraΦnφ soubory z /etc vyu₧φvajφ i nadstavbovΘ programy typu linuxconf, tak₧e si m∙₧ete v²sledky jejich prßce na vlastnφ oΦi zkontrolovat. VelkΘ systΘmy typu X Window nebo Corba vy₧adujφ vφce konfiguraΦnφch soubor∙ a zbyteΦn∞ by vznikal chaos v hlavnφm adresß°i /etc, proto majφ v∞tÜinou svΘ vlastnφ podadresß°e (/etc/X11 apod.)
  62. K uchovßvßnφ zßkladnφch p°φkaz∙ slou₧φ /bin a /sbin. Zatφmco p°φkazy z /bin slou₧φ vÜem, /sbin je urΦen pro "nebezpeΦnΘ" povely, kterΘ pou₧φvß administrßtor systΘmu. Tento systΘmov² diktßtor je natolik d∙le₧itß pers≤na, ₧e mß p°φmo v ko°enovΘm adresß°i sv∙j vlastnφ adresß° û /root. Ostatnφ smrtelnφci se musejφ spokojit s adresß°em /home, kde jim root vytvo°φ podadresß°.
  63. D∙kazem platnosti jednΘ z klasick²ch unixov²ch pouΦek, ₧e vÜechno je soubor, je adresß° /dev. Sφdlφ zde specißlnφ soubory, kterΘ systΘmu zp°φstup≥ujφ perifernφ za°φzenφ, jako jsou disky, sΘriovΘ a jinΘ porty, zvukovΘ karty apod.
  64. V /lib naleznete zßkladnφ sdφlenΘ knihovny a v /lib/modules linuxovou specialitu, moduly û Φßsti k≤du jßdra, kterΘ nejsou pot°ebnΘ neustßle, a proto mohou b²t ulo₧eny na disku mφsto v pam∞ti poΦφtaΦe.
  65. Poslednφ nad∞jφ po zhroucenφ systΘmu, p°esn∞ji havßrii disku, je /lost+found. Sem se umis¥ujφ soubory, kterΘ katastrofu nep°e₧ily v nejlepÜφm stavu û Φasto je to lepÜφ ne₧ ·plnß ztrßta dat.  
  66. Adresß° /mnt slou₧φ k doΦasnΘmu p°ipojovßnφ disk∙, typicky diskety (/mnt/floppy) a CD-ROM (/mnt/cdrom).
  67. Do /tmp si rad∞ji nic neodklßdejte. Je to doΦasn² uklßdacφ prostor, kter² se p°i startu systΘmu Φasto ma₧e.
  68. Struktura /usr p°ipomφnß samotn² / û pou₧φvß se pro u₧ivatelskß data a aplikace. ╚asto je /usr v rßmci sφt∞ sdφlen², a proto by m∞l obsahovat jen statickß data. Prßv∞ proto, ₧e se Φasto p°ipojuje k vφce poΦφtaΦ∙m, musφ obsahovat celou aplikaci vΦetn∞ jejφ konfigurace û proto tolik p°ipomφnß ko°enov² adresß°.
  69. K uklßdßnφ prom∞nn²ch dat pou₧φvajφ programy adresß° /var. Slou₧φ tΘ₧ ke sdφlenφ prost°edk∙, nap°φklad tiskßrny (/var/spool/lpd) nebo mailu (/var/spool/mail). Je takΘ mφstem, kam se budete dφvat, kdy₧ n∞co nebude fungovat tak, jak mß. Adresß° /var/log toti₧ pou₧φvajφ aplikace pro archivaci ·daj∙ o svΘm b∞hu. P°i prßci systΘmu m∙₧ete nap°φklad p°φkazem tail -f /var/log/messages sledovat zßpisy program∙, kterΘ na poΦφtaΦi pracujφ (vypisovßnφ ukonΦφte stiskem Ctrl+C).
  70. Jakousi brßnou do jßdra Linuxu je /proc, kter² pou₧φvajφ Φasto i programy poskytujφcφ informace o zatφ₧enφ systΘmu. P°i instalaci nov²ch za°φzenφ mohou b²t u₧iteΦnΘ zejmΘna soubory /proc/interrupts a /proc/ioports.
  71. To je pro dneÜek vÜe. Doufßm, ₧e si po dneÜnφm pokraΦovßnφ naÜeho serißlu nebudete v Linuxu p°ipadat tak ztraceni.
  72. LukßÜ MikÜφΦek
  73. lukas.miksicek@seznam.cz
  74.  6/00: 621-Linux6 (Au.L. MikÜφΦek - 4.93 n.str., 2 TS) Strana: 1
  75.  
  76.     Chyba! Neznßm² argument p°epφnaΦe./4
  77.  
  78.  
  79.