Kurs systemu Unix — wykład wst˛epny
Kurs systemu Unix
1
Cele wykladu
• Zdobycie podstawowej wiedzy o systemie i jego narz˛edziach. • Poznanie unixowych j˛ezyków skryptowych (bash, awk, ...). • Nauka programowania w sytemie Unix.
Kurs systemu Unix
2
Cechy Unixa (powtórzenie)
• Hierarchiczny system plików. • Bogaty j˛ezyk komend (sh). • Wiele ro˙znych narz˛edzi. • Wsparcie dla tworzenia i modyfikacji plików i procesów. • Dost˛epny na wielu platformach. • Kod „open source”, napisany w j˛ezyku C.
Kurs systemu Unix
3
Filozofia Unixa
• Małe narz˛edzia łaczone ˛ za pomoca˛ potoków. • Wieloprocesowo´sc´ . • Jawno´sc´ (pliki a nie rejestry, tekstowe a nie binarne, ...) • Wi˛eksza rola komend ni˙z myszki. System napisany przez programistów dla programistów • X Window (+np. KDE, GNOME).
Kurs systemu Unix
4
Pliki w Uniksie
• Plik jest sekwencja˛ bajtów. • Typy plików: – regularne, – kartoteki, – pliki specjalne (np. urzadzenia, potoki). • Zabezpieczanie plikow (prawa dostepu). (3 trójki rwx)
Kurs systemu Unix
5
Nazwy plików
• Nazwa — ciag ˛ znaków ro˙znych od / ´ zka dost˛epu — sekwencja nazw kartotek zako´nczona nazwa˛ • Scie˙ pliku, oddzielanych za pomoca / • Nazwa bezwzgl˛edna — rozpoczynajaca ˛ si˛e / • Nazwa wzgl˛edna — nie rozpoczynajaca si˛e / • Kartoteki specjalne: – Kartoteka bie˙zaca: ˛
.
– Kartoteka poziom wy˙zej:
Kurs systemu Unix
.. 6
Wa˙zne kartoteki
• /bin, /usr/bin – pliki wykonwalne • /home – kartoteki domowe u˙zytkowników • /etc – pliki administracyjne • /tmp – pliki tymczasowe • /usr/include – pliki nagłówkowe • /lib /usr/lib – biblioteki • /usr/man – strony podrecznika • /dev – pliki urzadze´ ˛ n
Kurs systemu Unix
7
Atrybuty plików
• Zapisane w I-w˛ez´ le • Wła´sciciel pliku (u˙zytkownik i grupa) • Prawa dost˛epu (czytanie, pisanie, wykonywanie) • Typ pliku: regularny, katroteka, link sztywny, link symboliczny, plik specjalny
Kurs systemu Unix
8
Jak zmienia´c atrybuty?
• chmod • chown • chgrp • Atrybuty mo˙ze zmienia´c jedynie wla´sciciel oraz administrator. • Prawo do zmiany wła´scieciela ma administrator (dlaczego?)
Kurs systemu Unix
9
Prawa dost˛epu plikow
• Trzy typy praw dost˛epu – read (r) – write (w) – execute (x) • Trzy zbiory uzytkowników – wła´sciciel (u) – grupa (g) – reszta (o)
Kurs systemu Unix
10
Polecenie chmod
• Symbolicznie: chmod u+x nazwa-pliku chmod o-w nazwa-pliku chmod a+rw nazwa-pliku
• Osemkowo: bit read = 4 bit write = 2 bit exec. = 1 Przykładowo: chmod 710 kom
Kurs systemu Unix
11
Prawa dost˛epu do kartotek
• read: czytanie zawarto´sci kartoteki • write: zmiana kartoteki (dodawanie, usuwanie, edycja plików) • execute: Wchodzenie do kartoteki (dost˛ep do plików z tej kartoteki)
Kurs systemu Unix
12
Zarzadzanie ˛ plikami i kartotekami
pwd cat, ed ls rm mv cp ln mkdir, rmdir wc
Kurs systemu Unix
drukuje bie˙zacy ˛ katalog tworzenie nowych plikow drukuje zawartosc kartoteki usuwa pliki przenosi pliki (zmienia nazwy) kopiuje pliki tworzy link tworzy i usuwa kartoteki liczy w pliku linie, słowa, znaki
13
Opcje
• ls -al ≡ ls -a -l
-rw-r--r--rw-r--r-drwxr-xr-x drwxr-xr-x
1 1 2 6
prych prych prych prych
200 200 101 200
1984 1225 512 512
kwi 12 2000 lista.tex mar 28 2000 lista.tex~ paz 4 11:08 slajdy/ cze 19 2000 zadania/
• cp -ri kart/ ~/arch • mkdir -p ~prych/kat1/kat2/kat3
Kurs systemu Unix
14
Pełnoekranowe edytory plików
• Najbardziej podstawowym edytorem jest vi • Dost˛epne sa˛ (cz˛esto) jego nowsze wersje, takie jak vim, gvim. • W´sród innych edytorów mo˙zna wymieni´c emacsa, czy joe. • Istnieja˛ te˙z edytory bardziej przypominajace ˛ notepada, np. kwrite, gedit, kate.
Kurs systemu Unix
15
Bardzo krótki kurs edytora vi
• Przykładowe wywołanie: vi nazwa-pliku • Pracuje w dwóch trybach: trybie komend i edycji. • Za pomoca˛ klawisza ESC mo˙zna przej´sc´ do trybu komend. • Do edycji mo˙zna przej´sc´ (mi˛edzy innymi) komenda˛ i. • W trybie edycji mo˙zna normalnie wprowadza´c tekst. • Wyj´scie z pogramu i zapisanie wyników pracy to komenda ZZ.
Kurs systemu Unix
16
Podr˛ecznik Co zrobi´c gdy nie pami˛etamy szczegółów zwiazanych ˛ z jakim´s poleceniem? man nazwa help nazwa info nazwa
Warto pami˛eta´c o man man. Cz˛esto bowiem nie dostaje si˛e tej strony o która˛ nam chodzi i trzeba poprosi´c o inna.˛
Kurs systemu Unix
17
Powłoki
• Sa˛ ró˙zne powłoki (bash,tcsh,...) • Powłoka pami˛eta wykonane polecenia. • Umo˙zliwia automatyczne uzupełnianie polece´n.
Kurs systemu Unix
18
Przekierowanie wej´scia/wyj´scia oraz potoki
• Przekierowanie wyj´scia >,» Przykład: man ls > info.ls • Przekierowanie wej´scia < Przykład: cat < plik.txt • Potoki Przykład: cat plik | wc -l
Kurs systemu Unix
19