==========================================================================
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
|--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:
-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
==========================================================================