background image

========================================================================== 
  ZAJECIA 2 - przetwarzanie plikow i katalogow 
========================================================================== 
Wykaz zagadnien poruszanych w trakcie laboratorium: 
   a) nazwy szablonowe plikow i katalogow, wyrazenia regularne; 
   b) podstawowe polecenia dotyczace katalogow i plikow: 
           mkdir - tworzenie katalogow, 
           touch - tworzenie pliku lub zmiana czasu utworzenia pliku, 
            echo - sprawdzanie dopasowania nazwy szablonowej do rzeczywistej zawartosci  
                   katalogu, 
              cp - kopiowanie plikow i katalogow, 
              mv - przenoszenie i zmiana nazwy plikow i katalogow, 
              ln - tworzenie dowiazania do pliku, 
           rmdir - usuwanie katalogow, 
              rm - usuwanie plikow i katalogow; 
   c) kompresja i archiwizacja plikow: 
        compress - kompresja zawartosci pliku, 
      uncompress - dekompresja pliku, 
            gzip - kompresja/dekompresja plikow, 
   d) uprawnienia w stosunku do plikow i katalogow: 
           chmod - zmiana uprawnien w stosunku do pliku, 
           chgrp - zmiana grupy pliku/katalogu, 
           chown - zmiana wlasciciela pliku/katalogu, 
           umask - zmiana domyslnych uprawnien w stosunku do tworzonych plikow 
                   i katalogow; 
    e) przegladanie i filtrowanie zawartosci plikow: 
             cat - wyswietlanie zawartosci pliku, 
            zcat - wyswietlanie zawartosci skompresowanego pliku, 
              pg - wyswietlanie zawartosci pliku ze stronicowaniem, 
            head - wyswietlanie (wybieranie) poczatkowych wierszy z pliku, 
            line - wuswietlanie (wybieranie) pierwszego wiersza pliku, 
 

    sort - sortowanie zawartosci plikow, 

            uniq - wyswietlanie (wybieranie) unikatowych wierszy z pliku, 
            grep - wyszukiwanie (filtrowanie) podanego wzoru tekstu w pliku (koniecznie  
                   zapoznac sie z zasadami budowy wyrazen regularnych), 
           egrep - rozszerzone funkcjonalnie polecenie grep, 
             cut - wybieranie kolumn z pliku, 
 

      wc - obliczanie liczby wierszy, slow i znakow w pliku; 

   f) przetwarzanie zawartosci plikow: 

 

           paste - laczenie plikow kolumnami, 
            join - laczenie plikow na podstawie odpowiadajacych sobie wierszy, 
 

     cmp - porownanie zawartosci dwoch plikow i wyprowadzenie roznic; 

CWICZENIA DO WYKONANIA 
====================== 
1.We wlasnym katalogu domowym utworzyc poniższą strukture katalogow: 
 Uwaga należy stworzyć katalog dane w głównym katalogu konta w nim umieścić 4 pliki 
 - osoby.txt ( w nim wpisać osoby w wierszach :Anna Kowalska, Honorata Zalska, Agnieszka Tyrska, Andrzej Kosiba) 
-nazwiska.txt( w nim wpisać nazwiska w wierszach : Kowalska, Zalska, Tyrska,  Kosiba, Leszcz, Budzyński,) 
- komputer.txt( w nim wpisać nazwy komputerów w wierszach :

 

komputer stacjonarny PC, laptop, komputer przenośny)

 

-pracownicy.txt 

W kazdym wierszu znajduje sie ID firmy, ID pracownika, nazwisko, imie oraz jego wiek  

   oddzielone od siebie znakami : (dwukropek).

 ( w nim wpisać nazwy:01_N:01:WERA:JAN:26: 

 

:02_P:02:DERA:WITOLD:32: 

 

:03_O:03:GUMINSKA:ANNA:28: 

 

:04_T:04:TWARDY:STANISŁAW:36: 

-firmy.txt

 W kazdym wierszu znajduje   sie ID firmy, nazwa i jej lokalizacja (miasto) oddzielone od siebie  

   znakami : (dwukropek).

 ( w nim wpisać nazwy: 01_N:NETIA:WARSZAWA: 

 

:02_P:PLUS:POZNAŃ: 

 

:03_O:ORAGE:WROCŁAW: 

 

:04_T:TPSA:GDYNIA: 

-zwierzeta.txt( w nim wpisać nazwy zwierząt w wierszach: mysz, szczur, pies, kot, chomik, szynszyla) 
- zwierzaki.txt
( w nim wpisać nazwy zwierząt w wierszach: krowa, owca, koza, koń, kaczka, gęś) 
 
   wlasny katalog domowy klasa _grupa 
        |--rok 
            |--wiosna 
            |   |--marzec 
            |   |--kwiecien 
            |   |--maj 
            |--lato 
            |   |--czerwiec 
            |   |--lipiec 
            |   |--sierpien 
            |--jesien 
            |   |--wrzesien 
            |   |--pazdziernik 
            |   |--listopad 

background image

            |--zima 
               |--grudzien 
               |--styczen 
               |--luty 
    Podczas tworzenia katalogow wyprobowac dzialanie parametru -p polecenia 
    mkdir, np.: 
                mkdir -p wiosna/marzec 
UWAGA! 
  Podczas kopiowania (pkt.2 i 4) wyprobowac dzialanie rozmaitych parametrow 
  polecenia cp.: 
                 -i, -r, -R 
2.Skopiowac do swojego katalogu domowego cala zawartosc katalogu home/dane  
  (lacznie ze wszystkimi podkatalogami). W tym celu nalezy wydac polecenie  
  cp w postaci: 
                 cp -r /home/dane . 
  Uwaga!  
     Znak . (kropka) oznacza katalog biezacy w chwili wydawania polecenia. 
     Oznacza to, iz katalog dane wraz z cala zawartoscia zostanie skopiowany 
     do katalogu biezacego, np. katalogu domowego. 
3.Wykorzystujac polecenie echo sprawdzic, jakie rzeczywiste nazwy plikow 
  odpowiadaja szablonom, definiowanym za pomoca znakow szablonowych: ?, * 
  oraz [...]. Proby wykonac wykorzystujac pliki zgromadzone w katalogu 
  /home/dane. 
4.Z katalogu /home/dane skopiowac do katalogu marzec (we wlasnym katalogu  
  domowym wszystkie pliki, ktorych nazwy koncza sie na txt). 
UWAGA! 
  Podczas zmiany nazw i przenoszenia (pkt. 5 i 6) plikow wyprobowac dzialanie 
  ponizszych parametrow polecenia mv: 
                      -i, -f 
5.Zmienic nazwe kilku wybranych plikow znajdujacych sie w katalogu dane  
  wlasnego katalogu domowego.  
6.Przeniesc (polecenie mv) kilka wybranych plikow z katalogu dane  
  wlasnego katalogu domowego do katalogu maj. Wykorzystujac nazwy  
  szablonowe przeniesc cala grupe plikow o podobnych nazwach. 
7.Usunac zawartosc katalogu rok (rowniez wszystkie podkatalogi).  
  Z wlasnego katalogu dane usunac wszystkie pliki, ktorych nazwy  
  koncza sie znakami txt.  
  Z wlasnego katalogu domowego usunac katalog dane wraz z cala zawartoscia. 
  Poslugujac sie poleceniem rm sprawdzic dzialanie ponizszych parametrow: 
        -f, -i, -r, -R 
8.Do wlasnego katalogu domowego ponownie skopiowac katalog /home/dane 
  wraz z cala zawartoscia. 
9.Wykorzystujac polecenie ln wykonac dowiazania do plikow znajdujacych sie 
  we wlasnym katalogu dane (dowiazania umiescic w specjalnie do tego celu 
  utworzonym podkatalogu wlasnego katalogu domowego. Sprobowac usuniecia 
  i modyfikacji tak dowiazanych plikow. Wyprobowac dowiazania symboliczne 
  i  
10.Wyprobowac rozmaite sposoby dzialania polecenia touch (do utworzenia  
   pliku lub zmiany daty jego ostatniej modyfikacji). 
---------- 
11.Za pomoca polecen compress i uncompress dokonac kompresji i dekompresji 
   dowolnie wybranego pliku (np. z wlasnego katalogu dane). Wyprobowac 
   polecenie dla wielu plikow z tego samego katalogu. Poddac kompresji 
   katalog /home/dane wraz z cala zawatoscia (rowniez podkatalogi). 
   12.Dokonac kompresji i dekompresji dowolnie wybranego pliku (np. z wlasnego 
   katalogu dane) za pomoca polecenia gzip. Wyprobowac polecenie dla wielu 
   plikow z tego samego katalogu. Skompresowac zawartosc calego katalogu 
   /home/dane. 
---------- 
13.Za pomoca polecenia chmod zmienic uprawnienia do dowolnie wybranego  
   pliku (plikow, katalogu, katalogow) znajdujacych sie we wlasnym katagu  
   dane dla siebie, wlasnej grupy (soper) oraz pozostalych uzytkownikow.  
   Wyprobowac rozne konfiguracje praw dostepu. 
   CWICZENIE WYKONYWAC OSTROZNIE!!! 
14.Za pomoca polecenia chgrp zmienic grupe dowolnie wybranego pliku  
   (plikow, katalogu, katalogow) znajdujacego sie we wlasnym katalogu  
   dane. Nowa grupa moze byc np. grupa o nazwie marcin. 
   CWICZENIE WYKONYWAC OSTROZNIE!!! 
15.Za pomoca polecenia chown zmienic wlasciciela dowolnie wybranego pliku 
   (plikow, katalogu, katalogow) znajdujacego sie we wlasnym katalogu  
   dane. Jako nowego wlasciciela wybrac kolege (kolezanke). 
   CWICZENIE WYKONYWAC OSTROZNIE!!! 
---------- 
UWAGA! 
  Poslugujac sie poleceniem cat (pkt. 14, 15, 16) wyprobowac dzialanie 
  ponizszych parametrow: 

background image

            -s, -v, -e 
16.Wykorzystujac polecenia cat obejrzec zawartosc kilku plikow tekstowych 
   znajdujacych sie w katalogu /home/dane. 
17.Wykorzystujac polecenia cat dokonac polaczenia kilku plikow  
   tekstowych znajdujacych sie w katalogu /home/dane w jeden plik. 
   Nazwa pliku dowolna, lokalizacja - katalog domowy uzytkownika. 
18.Wykorzystujac polecenia cat oraz more przejrzec (wraz ze stronicowaniem) 
  zawartosc kilku dowolnie wybranych plikow tekstowych. Dokonac proby 
  przejrzenia kilku plikow wydajac JEDNO polecenia (nalezy wykorzystac 
  potok (pipeline) - znak |). 
19.Wykorzystujac polecenia cat oraz metode przeadresowania wejscia/wyjscia 
   utworzyc we wlasnym katalogu domowym plik o dowolnej nazwie zawierajacy 
   kilka nazwisk oraz imion. Nalezy pamietac, ze znakiem konczacym  
   transmisje w systemie Linux jest Ctrl+d. 
20.Wykorzysujac polecenie cat dopisac do pliku utworzonego w poprzednim  
   cwiczeniu kilka nowych nazwisk oraz imion (zastosowac przeadresowanie  
   wejscia/wyjscia polecenia). 
 
21.Wykorzysujac polecenie zcat obejrzec zawartosc dowolnego pliku  
   skompresowanego poleceniem compress. 
---------- 
22.Wykorzystujac polecenie pg obejrzec zawartosc dowolnego pliku 
   z katalogu /home/dane (np. komputer.txt). 
23.Wykorzystujac polecenie head obejrzec kilka poczatkowych wierszy 
   dowolnego pliku z katalogu /home/dane (np. osoby.txt). 
24.Wykorzystujac polecenie line obejrzec kilka poczatkowych wierszy 
   dowolnego pliku z katalogu /home/dane (np. osoby.txt). 
25.Zapisac wynik dzialania polecenia ls (wydanego w stosunku do katalogu 
   /home/dane) w pliku umieszczonym we wlasnym katalogu. Posortowac  
   zawartosc w/w pliku wg roznych kryteriow np. nazwy pliku, rodzaju  
   (katalogi, pliki), wielkosci, daty ostatniej modyfikacji itp. 
26.Wykorzystujac polecenia sort i uniq (utworzyc potok!) wyswietlic 
   na ekranie liste nazwisk, ktore w pliku /home/dane/nazwiska.txt  
   wystepuja wiecej niz jeden raz (kazde nazwisko zapisane jest  
   w oddzielnym wierszu). Zmodyfikowac polecenie tak, aby wraz z 
   nazwiskiem pojawiala sie informacja o liczbie jego wystapien w pliku. 
27.Wykorzystujac polecenie grep sprobowac wyszukac rozne ciagi znakow 
   w pliku komputer.txt znajdujacym sie w katalogu /home/dane. 
28.Wykorzystujac polecenie 'ls -l' oraz cut wyswietlic na ekranie  
   liste nazw plikow i katalogow znajdujacych sie w katalogu /home/dane 
   tak, aby w kazdym wierszu znalazly sie jedynie prawa dostepu oraz 
   nazwa pliku lub katalogu. 
29.Wykorzystujac polecenie wc dokonac obliczenia liczby wierszy, slow  
   i znakow w kilku dowolnie wybranych plikach znajdujacych sie 
   w katalogu /home/dane. 
---------- 
30.Wykorzystujac polecenie ls oraz paste wyswietlic na ekranie terminala 
   liste nazw plikow i katalogow znajdujacych sie w katalogu /home/dane 
   tak, aby w kazdym wierszu znalazly sie nie wiecej niz trzy nazwy. 
 
31.Obejrzec zawartosc pliku /home/dane/pracownicy.txt. W kazdym wierszu  
   znajduje sie ID firmy, ID pracownika, nazwisko, imie oraz jego wiek  
   oddzielone od siebie znakami : (dwukropek). 
   Obejrzec zawartosc pliku /home/dane/firmy.txt. W kazdym wierszu znajduje 
   sie ID firmy, nazwa i jej lokalizacja (miasto) oddzielone od siebie  
   znakami : (dwukropek). 
   Wykorzystujac polecenia join i cut wyswietlic na ekranie liste 
   pracownikow zawierajaca w kazdym wierszu nastepujace informacje: 
   ID pracownika, nazwisko, imie oraz nazwe firmy, w ktorej jest 
   zatrudniony. 
 
32.Za pomoca polecenia cmp dokonac porownania zawartosci dwoch plikow: 
   /home/dane/zwierzeta.txt oraz /home/dane/zwierzaki.txt. 
   Dokonac porownania jedynie wybranych czesci w/w plikow. 
 
========================================================================== 
  ZAJECIA 2 - KONIEC 
==========================================================================