Nebojte sa linuxu 2.

14.07.2001 12:45 | blackhole

V predchádzajúcej časti som sľúbil, že v tejto časti napíšem niečo o práci sosúbormi.Takže najprv začneme príkazom mkdir.Príkaz mkdir (make directory) slúži na vytváranie adresárov. Takže ak by smechceli vytvoriť adresár Ulohy, tak by sme napísali pravdepodobne toto:>mkdir UlohyNezabudnite, že linux je case sensitive, to znamená, že aby ste sa dostali dotohoto vami práve vytvoreného adresáru musíte napísať:>cd UlohyInak sa do tohoto adresáru nedostanete. Keďže linux je citlivý na veľké a malépísmená, môžete vytvoriť viacero adresárov s takmer rovnakým názvom:>mkdir ulohY>mkdir uLohy>mkdir UlohYVšetky tieto adresáre sme mohli vytvoriť jediným zadaním príkazu mkdir:>mkdir ulohY uLohy UlohYTeraz asi poniektorých napadlo, že ako vytvoríme adresár, ktorého meno obsahujemedzery? Riešenie je jednoduché:>mkdir \"adresar s medzerou\" >mkdir adresar\\ s\\ medzerouAko sami vidíte, existujú dva rôzne spôsoby, ako vytvoriť adresár, ktorýobsahuje vo svojom mene medzery. V prvom prípade sme uzavreli meno adresáru doúvodzoviek. V druhom prípade bolo treba za každým slovom napísať opačnélomítko, a pravdaže ešte tú vytúženú medzeru :-).Keďže sme si už povedali niečo o tvorení adresárov, tak by asi bolo vhodnéukázať ako vytvoriť súbor bez nutnosti spúšťania editoru a uchovávania súboru.Na tento účel slúži príkaz touch.Použitie je veľmi jednoduché:>touch novy_suborLenže to nie je jediné na čo príkaz touch slúži. Taktiež slúži na zmenuposlednej modifikácie súboru. Ak by ste chceli zmeniť napríklad dátum pre užvytvorený súbor novy_subor na 1. septembra roku 2000 o 22. hodine a 34. minúte,tak by ste napísali asi niečo takéto:>touch -t 200009012234 novy_suborSyntax je nasledovná: [YYYY]MMDDhhmm[.ss]Nepovinné veci sú uvedené v hranatých zátvorkách.YYYY - rok (2000,2001)MM - mesiac (09,11)DD - deň (08,24)hh - hodina (23,08)mm - minúty (05,59)ss - sekundy (02,48)Výsledok nášho menenia dátumu si môžeme pozrieť príkazom:>ls --full-time -l-rw-r--r--1 root root0 Pi sep 01 22:34:00 2000 novy_suborUž sme si povytvárali súbory aj adresáre, takže teraz by sme sa ich malizbaviť. Na tento účel slúži príkaz rm (remove) a rmdir (remove directory).Ešte jedno varovanie na úvod, vždy sa uistite, že mažete správne súbory. Natento účel slúži parameter -i.Takže náš novy_subor odstránime z disku takto:>rm novy_suborAle ak by ste príkaz rm použili s parametrom -i vyzeral by proces mazaniatroch inak.>rm -i novy_suborrm: remove `novy_subor'? yNa túto výzvu sú možné dve odpovede y (yes) alebo n (no).Aj príkaz rm podporuje zástupné znaky (viz. predchádzajúci článok). Takže akby ste chceli odstrániť všeky súbory s koncoukou .bak, tak stačí napísať:>rm *.bakNa mazanie adresárov je tu príkaz rmdir.>mkdir novy_adresar>rmdir novy_adresarAle ak by adresár novy_adresar obsahoval nejaké data, tak by sme dostali ibatakúto hlášku.>rmdir novy_adresarrmdir: novy_adresar: Adresár nie je prázdnyTakže, aby ste dotyčný adresár mohli zmazať, tak musíte použiť príkaz:>rm -r novy_adresarParameter -r (recursive) znamená, že sa adresár zmaže rekurzívne. To znamená,že ho zmažeme aj s celým jeho obsahom. Preto si treba na príkaz rm sparametrom -r dávať pozor.Kopírovanie súborov pomocou príkazu cp (copy) a presúvanie/premenovávaniepomocou mv (move). Najprv si ale vytvoríme adresár, v ktorom budeme naše kopírovacie aktivityprevádzať :-). >mkdir test>cd testA teraz niekoľko súborov.>touch subor1>touch subor2A ešte jeden podadresár.>mkdir podadresarNezaškodí, keď si to celé ešte pozrieme.>ls -ldrwxr-xr-x 2 root root 4096 júl 10 16:05 podadresar-rw-r--r-- 1 root root 0 júl 10 16:05 subor1-rw-r--r-- 1 root root 0 júl 10 16:05 subor2Otvorte subor1 vo vašom obľúbenom textovom editore a napíšte do neho nejakýtext. Napríklad: \"Subor cislo 1\".Teraz skopírujeme subor1 do súboru s názvom subor3.>cp subor1 subor3Pomocou príkazu cat si prehliadneme obsah súboru subor3.>cat subor3Subor cislo 1Ako sami vidíte, tak obsah súboru subor1 sme skopírovali do súboru subor3.Ale teraz napíšte tieto príkazy:>cp subor1 subor2>cat subor2Subor cislo 1Akiste si pamätáte, že súbor subor2 sme vytvorili pomocou príkazu touch a tedabol vytvorený ako prázdny. To znamená, že pri kopírovaní sme obsah súborusubor2 prepísali obsahom súboru subor1. Preto by ste mali používať príkaz cp sparametrom -i.Ak by ste chceli skopírovať subor1 do adresáru podadresar, tak by ste napísalitoto:>cp subor1 podadresarSkontrolovať si to môžeme pomocou príkazu:>ls -l podadresar-rw-r--r-- 1 root root 13 júl 10 16:20 subor1Ak by ste chceli skopírovať všetky súbory do adresáru podadresar, tak musítenapísať: >cp subor* podadresarTeraz skúsime kopírovať adresáre. Ale najprv si musíme jeden vytvoriť.>mkdir test>cp test podadresarcp: omitting directory `test'Ako vidíte, tak adresár test sa nepodarilo skopírovať.Aby sa úspešne skopíroval, musíme použiť prikaz cp s parametrom -r.>cp -r test podadresar>ls -l podadresar-rw-r--r-- 1 root root 13 júl 10 16:24 subor1-rw-r--r-- 1 root root 13 júl 10 16:24 subor2-rw-r--r-- 1 root root 13 júl 10 16:24 subor3drwxr-xr-x 2 root root 4096 júl 10 16:29 testPoužitie príkazu mv (move).Teraz všetko zmažeme a dáme do pôvodného stavu.>rm -r *!!!Bacha na použitie takéhoto príkazu!!! Presvedčte sa, že ste v pokusnomadresári!>touch subor1>touch subor2>mkdir podadresarZnovu napíšte text \"Subor cislo 1\" do súboru subor1.Teraz ho premenujeme na subor_NEW.>mv subor1 subor_NEW>ls -ldrwxr-xr-x 2 root root 4096 júl 10 16:41 podadresar-rw-r--r-- 1 root root 0 júl 10 16:41 subor2-rw-r--r-- 1 root root 13 júl 10 16:42 subor_NEW>cat subor_NEWSubor cislo 1Teraz premenujeme subor_NEW na subor2.>mv subor_NEW subor2>ls -ldrwxr-xr-x 2 root root 4096 júl 10 16:41 podadresar-rw-r--r-- 1 root root 13 júl 10 16:42 subor2>cat subor2Subor cislo 1Ako vidíte, tak subor_NEW, ktorý obsahoval text \"Subor cislo 1\" bol premenovanýna subor2. Zároveň bol súbor subor2 prepísaný súborom subor_NEW. Preto by stemali používať mv s parametrom -i.>touch Subor>mv -i subor_NEW Subormv: overwrite `Subor'? yPríkaz mv môžete používať aj s parametrom -b (backup). Pri každom prepisovanísúboru vytvorí ešte zálohu originálneho súboru. >touch Subor_test>mv -b Subor Subor_test>lsSubor_test Subor_test~ podadresarBola vytvorená záloha orginálneho súboru Subor_test a názvom Subor_test~.Presúvanie súborov je veľmi jednoduché. Ak by ste chceli presunúť Subor_test ajSubor_test~ do adresáru podadresar, napísali by ste toto:>mv Subor_test* podadresar>ls -l podadresar-rw-r--r-- 1 root root 13 júl 10 16:42 Subor_test-rw-r--r-- 1 root root 0 júl 10 16:59 Subor_test~To je zatiaľ asi tak všetko. Dúfam, že sa vám môj článok páčil. Nabudúcenapíšem niečo o textovom editore joe.Sumo