Praca so systemom


Pre uzivatela je zakladnym prostredim pre pracu so systemom Unix program shell. V novych implementaciach sice existuje graficke rozhrane pre mnoho aplikacii, ale profesionalny uzivatel Unixu sa bez shell-u nezaobide. Praca so shell-om bude podstatnou castou tohto kurzu.





Prihlasenie sa do systemu

Po prihlaseni sa do systemu (meno konta (login) nasledovane heslom) sa automaticky spusti initialny process a to:
  • na klasickych (alphanumerickych) instalaciach je to priamo shell.
  • na grafickych konzolach sa spusti program X windows a niektora z jeho nadstavb (KDE alebo Gnome alebo cosi ine). Shell treba potom spustit otvorenim zvlastneho okna (konzola alebo xterminal).




Prikaz prikazov!

man prikaz manual k prikazu prikaz
man -k retazec zoznam prikazov vztahujucich sa na retazec







Zaklady suboroveho systemu

Vlastnik suboru, skupina vlastnika

V Linuxe je jednotny suborovy system. Je to jeden strom s korenom oznacovanym znakom / (lomitko). Periferne zariadenia a dalsie suborove podsystemy sa k nemu pridavaju "primontovanim" k niektorej z vetiev (k niektoremu adresaru).




Typy suborov:

standardne postupnost znakov (bytov v hodnote 0-255)
adresar subor obsahujuci ine subory
link pointer na iny subor, ktory sa sprava ako nova kopia suboru.
symbolicky link pointer na iny subor, ktory sa sprava ako nove meno suboru (ak sa zmeni obsah toho ineho suboru, zmeni sa aj obsah symbolickeho linku)
specialne vlastne nie subory, hardwarove zariadenia, datove struktury jadra, ...



Atributy suborov:

Vlastnik suboru, skupina vlastnika

Cas vytvorenia, posledneho pristupu a poslednej modifikacie

Pristupove prava

  • citanie
  • zapis
  • vykonatelnost
    • spustenie pre standardne programy
    • pristup do adresara pre adresare




Mena suborov:

Podla konvencie sa mena suborov skladaju zo znakov neobsahujucich '/' a medzeru. Meno sa zvycajne sklada z dvoch casti oddelenych bodkou. Pred bodkou je cast indikujuca obsah suboru, za bodkou je cast indikujuca typ suboru. Najpouzivanejsie koncovky:
.txt  - textovy subor
.c    - Zdrojovy kod programu v C
.cpp  - Zdrojovy kod programu v C++
.html - textovy subor vo formate HTML.
.tex  - textovy subor vo formate programu Tex alebo LaTex.


.o    - Object code, binarny kod skompilovaneho modulu
.tar  - archiv vytvoreny programom tar
.gz   - subor skomprimovany programom gzip
.tgz  - tar archiv skomprimovany suborom gzip
.a    - kniznica, viacero binarnych skompilovanych programov ulozenych v jednom subore, ktore sa pripajaju k spustitelnemu programu
.so   - dynamicka kniznica. Nieco podobne ako .a ale nepripaja sa k programu. System ju nacita automaticky, ked treba.
.Z    - subor skomprimovany programom compress
.dvi  - vystup programu Tex, (device independent) reprezentacia vytlacitelneho programu
.ps   - vytlacitelny subor vo formate postscript
.pdf  - vytlacitelny subor vo formate pdf
...
Subor je urceny svojim menom a adresarom v ktorom sa nachadza. Plne meno suboru je teda kompoziciou 'cesty', t.j. mien adresarov oddelenych znakom '/' a mena suboru v danom adresari. V zapise mozno pouzit '.' na oznacenie 'prazdnej cesty' a '..' na oznacenie 'nadradeneho adresara'. Mena suborov su alebo absolutne zacinajuce znakom '/' a plnou cestou od korenoveho adresara, alebo relativne zacinajuce a tzv. pracovnom adresari (urcenom premennou PWD). Napriklad ak PWD==/home/jozef, tak:
tamto.txt
../jozef/tamto.txt
/home/jozef/tamto.txt
/home/./jozef/../jozef/tamto.txt
su retazce oznacujuce jeden a ten isty subor.




Vyvolanie prikazu

Typickym tvarom vyvolania prikazu v Linuxe je forma:
  <prikaz> <prepinace> <dalsie parametre>
kde prikaz je vlastne meno spustitelneho programu a prepinace zvycajne zacinaju znakom - (minus) .




Zakladne prikazy





Praca so subormi

ls adresar zobraz mena suborov v adresari, bez parametra zobrazi mena suborov v pracovnom adresari.
ls -al adresar zobraz mena a atributy suborov v adresari
more subor prezeranie obsahu suboru
less subor prezeranie obsahu suboru (novsie a trochu lepsie ako more ). Standardne sa vyvola aj pri prezerani manualovej stranky v prikaze man. V ramci prezerania
sipky             - posuvanie sa v texte o riadok
pageup, pagedown  - posuvanie sa v texte o stranku
<                 - presun na zaciatok
>                 - presun na koniec
/retazec          - vyhladanie retazca
q                 - koniec prezerania
cd adresar zmen pracovny adresar na adresar
pwd   vypis meno pracovneho adresara
mkdir adresare vyrob nove adresare adresare
rm subory vymaz subory
rm -r subory adresare vymaz subory a adresare, vsetky ich podsubory a podadresare
rm -r -f subory adresare vymaz subory a adresare, vsetky ich podsubory a podadresare a neziadaj si potvrdenie pred vymazanim (pozor na to!)
cp zdroj cielkopiruj zdroj do ciel
cp zdroj_1 zdroj_2 ... zdroj_n cielkopiruj zdroj_1...zdroj_n do adresara ciel
cp -r zdroj ciel kopiruj adresar zdroj do ciel spolu so vsetkymi podadresarmi
mv zdroj cielpresun (premenuj) zdroj do (na) ciel (ako cp ale potom zmaze zdroj)
ln -s subor link vyrob symbolicky link link, ktory ukazuje na subor
touchsubor zmen cas poslednej modifikacie a pristupu pre subor subor . Ak subor neexistuje, vytvor ho.




Cvicenia:



1.) Otvorte terminalove okno so shellom (najdete ho podla ikonky terminalu).

2.) Zistite ako sa vola vas pracovny adresar

3.) Zistite ake subory sa nachadzaju v adresari /tmp

4.) Zmente svoj pracovny adresar na /bin

5.)  Symbolicke linky sa vo vypise prikazu "ls -al" vypisuju v tvare
"link -> subor". Zistite, ktore subory v adresari /bin su symbolicke
linky.

6.) Za pomoci prikazu 'man ls' zistite ako vypisat subory v adresari /tmp tak,
    ze budu usporiadane podla casu poslednej modifikacie.

7.) Zistite, kedy naposledy boli modifikovane a kedy boli pouzite
(precitane) subory /bin/ls a /bin/grep

8.) Vyrobte prazdny adresar 'a'. V pripade, ze vykonate dvakrat po
sebe prikaz:

  cp -r a b

tak v druhom pripade urobi odlisnu akciu ako v prvom. Zistite co urobi
prve a co druhe vykonanie.

9.) Vyrobte subor /tmp/mojsubor

10.) Zistite ake su pristupove prava pre tento subor.

11.) Zmente cas posledneho pristupu a modifikacie pre subor
/tmp/mojsubor na sucasny cas.

12.) Zmente cas posledneho pristupu a modifikacie pre subor
/tmp/mojsubor na 1. januar 1990. Ako to urobit zistite za pomoci
prikazu man.