Kurs systemu Unix — wykład wst˛epny

Transkrypt

Kurs systemu Unix — wykład wst˛epny
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żnych 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ść.
• Jawność (pliki a nie rejestry, tekstowe a nie binarne, ...)
• Wi˛eksza rola komend niż 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żnych od /
• Ścieżka dost˛epu — sekwencja nazw kartotek zakończona nazwa˛
pliku, oddzielanych za pomoca /
• Nazwa bezwzgl˛edna — rozpoczynajaca
˛ si˛e /
• Nazwa wzgl˛edna — nie rozpoczynajaca si˛e /
• Kartoteki specjalne:
– Kartoteka bieżaca:
˛
.
– Kartoteka poziom wyżej:
Kurs systemu Unix
..
6
Ważne kartoteki
• /bin, /usr/bin – pliki wykonwalne
• /home – kartoteki domowe użytkowników
• /etc – pliki administracyjne
• /tmp – pliki tymczasowe
• /usr/include – pliki nagłówkowe
• /lib /usr/lib – biblioteki
• /usr/man – strony podrecznika
• /dev – pliki urzadzeń
˛
Kurs systemu Unix
7
Atrybuty plików
• Zapisane w I-w˛eźle
• Właściciel pliku (użytkownik i grupa)
• Prawa dost˛epu (czytanie, pisanie, wykonywanie)
• Typ pliku:
regularny, katroteka, link sztywny, link symboliczny, plik specjalny
Kurs systemu Unix
8
Jak zmieniać atrybuty?
• chmod
• chown
• chgrp
• Atrybuty może zmieniać jedynie wlaściciel oraz administrator.
• Prawo do zmiany właścieciela 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ściciel (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ści 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żacy
˛ 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śród innych edytorów można wymienić emacsa, czy joe.
• Istnieja˛ też 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żna przejść do trybu komend.
• Do edycji można przejść (mi˛edzy innymi) komenda˛ i.
• W trybie edycji można normalnie wprowadzać tekst.
• Wyjście z pogramu i zapisanie wyników pracy to komenda ZZ.
Kurs systemu Unix
16
Podr˛ecznik
Co zrobić gdy nie pami˛etamy szczegółów zwiazanych
˛
z jakimś
poleceniem?
man nazwa
help nazwa
info nazwa
Warto pami˛etać o man man. Cz˛esto bowiem nie dostaje si˛e tej strony o
która˛ nam chodzi i trzeba poprosić o inna.˛
Kurs systemu Unix
17
Powłoki
• Sa˛ różne powłoki (bash,tcsh,...)
• Powłoka pami˛eta wykonane polecenia.
• Umożliwia automatyczne uzupełnianie poleceń.
Kurs systemu Unix
18
Przekierowanie wejścia/wyjścia oraz potoki
• Przekierowanie wyjścia >,»
Przykład: man ls > info.ls
• Przekierowanie wejścia <
Przykład: cat < plik.txt
• Potoki
Przykład: cat plik | wc -l
Kurs systemu Unix
19