Laboratorium 1

Transkrypt

Laboratorium 1
System Unix
Trochę historii
System operacyjny Linux powstał pod koniec 1991 roku. Twórcą tego systemu był Linus
Torvalds z Uniwersytetu Helsińskiego, który stworzył go w oparciu o niewielką implementację
Uniksa o nazwie MINIX. Informacje o swojej pracy opublikował na jednej z list dyskusyjnych,
co spotkało się z dużym zainteresowaniem i wkrótce nad projektem pracowało wielu
programistów. Przyczyniło się to do szybszego rozwoju tego systemu i sprawiło, że bardzo
szybko zyskał on popularność. W roku 1994 wprowadzono do systemu Linux mechanizmy
pozwalające na pracę w sieci. Od 1995 Linux mógł pracować z procesorami: Intel, Alpha Digital
i Sun Sparc. W 1996 roku powstała wieloprocesorowa wersja Linuksa o numerze 2.0. W 1998
ruszyły prace nad projektem KDE, który miał na celu stworzenie środowiska graficznego dla
systemu Linux.
Cechy systemu Linux
• pełną wielozadaniowość – wielu użytkowników w tym samym czasie może wykonywać
kilka zadań na tym samym komputerze
• pamięć wirtualną – Linux może używać części dysku twardego jako pamięci wirtualnej co
zwiększa wydajność systemu poprzez umieszczanie aktywnych procesów w pamięci
RAM, a tych rzadziej używanych lub nieaktywnych na dysku
• wbudowaną obsługę sieci – poprzez modem lub kartę sieciową Linux może porozumiewać
się z innymi komputerami wykorzystując protokoły TCP/IP, NFS, NIS i inne
• współużytkowanie bibliotek – programy w systemie Linux nie przechowują własnych kopii
standardowych bibliotek tylko wspólnie współużytkują zestaw procedur, do których mogą
odwoływać się w trakcie działania. Dzięki temu otrzymujemy więcej przestrzeni
dyskowej
• kompatybilność z normą IDEE POSIX – dzięki czemu Linux obsługuje wiele standardów
ustalonych dla systemów Unix
• X Window – jest systemem dającym graficzny interfejs
• niezastrzeżony kod źródłowy – dzięki czemu możemy aktywnie uczestniczyć w rozwoju
systemu
• darmowe oprogramowanie – dostajemy wraz z systemem na płytach CD, poza tym istnieje
wiele stron internetowych, na których możemy znaleźć ciekawe oprogramowanie.
System KNOPPIX
KNOPPIX jest wersją systemu operacyjnego Linux, uruchamianego bez instalowania
bezpośrednio z płyty CD. Jest to zbiór oprogramowania operacyjnego i użytkowego typu
GNU/Linux, uruchamianego bezpośrednio z płyty CD. Wspiera i rozpoznaje ono szeroką gamę
kart graficznych, kart dźwiękowych, urządzeń SCSI i innych urządzeń peryferyjnych. Może być
zaadaptowany i użytkowany jako platforma demonstracyjna Linuxa, oprogramowanie
szkoleniowe, zapasowy system ratunkowy lub też platforma demonstracyjna dla oprogramowania
komercyjnego. Korzystanie z systemu KNOPPIX nie wymaga instalowania czegokolwiek na
twardym dysku. Poprzez użycie mechanizmu przezroczystej dekompresji na płycie CD można
umieścić do 2 GB wykonywalnego oprogramowania.
Uruchamianie systemu KNOPPIX
Aby uruchomić system KNOPPIX należy:
• Zaopatrzyć się w płytę CD z tym systemem (poprzez Internet lub zamówić płytę)
• Umieścić płytę w napędzie
• Sprawdzić, czy w BIOS-ie ustawione jest bootowanie z napędu CD
• Zrestartować komputer
Logowanie się do systemu
Systemy operacyjne z rodziny Linux mogą równocześnie obsługiwać wielu użytkowników.
Muszą oni posiadać konto na danym komputerze pracującym pod kontrolą tego systemu. Konto
na danym komputerze może założyć administrator danego systemu. Ustala on ponadto
przynależności do grup, dostęp do odpowiednich zasobów w systemie, itp. Po uruchomieniu
systemu na ekranie pojawia się monit z prośbą o wprowadzenie nazwy użytkownika i
odpowiedniego hasła. Po zakończeniu sesji użytkownik powinien się z systemu wylogować.
Służy do tego polecenie exit.
Istnieje również możliwość pracy zdalnej na komputerze z zainstalowanym systemem z rodziny
Unix. Do nawiązania połączenie z takim komputerem służy program telnet dostępny np. w
systemie Windows. Po nawiązaniu połączenie użytkownik musi wprowadzić login oraz hasło,
natomiast na koniec sesji ją zamknąć wprowadzając polecenie exit.
Wiele sesji na komputerze lokalnym
System Linux posiada siedem wirtualnych konsol, do których mamy dostęp za pomocą
kombinacji klawiszy: ALT+F1 do F7. Podczas uruchamiania systemu X Window ręcznie lub
automatycznie, zablokowana zostaje konsola, z której zostały uruchomione X-y, a nasz menadżer
wyświetlania dostępny jest na konsoli 7. Przejście z poziomu X-ów na pozostałe konsole odbywa
się za pomocą następującej kombinacji klawiszy: CTRL+ALT+F1 do F6. Powrót do X Window
odbywa się za pomocą kombinacji CTRL+ALT+F7.
Na każdej z wirtualnych konsol możemy zalogować się, jako inny użytkownik. Takie
rozwiązanie umożliwia nam uruchomienie na każdej z konsol jakiegoś zadania.
Należy jednak pamiętać, że Linux to prawdziwy system wielozadaniowy, który umożliwia
przeniesienie dowolnego procesu w tło, zwalniając terminal i ponowne przywrócenie go w
dowolnym momencie.
Operacje na katalogach i plikach
System plików można określić jako metody i struktury danych, które są używane przez system
operacyjny w celu zapisania i zorganizowania plików na danym urządzeniu. System Linux
umożliwia obsługę wielu róźnych systemów plików jak FAT16, FAT32 itp. Jednak dla samego
systemu podstawowym systemem plików jest EXT2. Został on stworzony specjalnie dla Linuxa.
Cechami charakterystycznymi dla tego systemu są: superblok, i-węzeł, blok danych, blok
katalogu oraz blok pośredni. Superblok zawiera informacje o systemie jako całości, np. rozmiar.
I-węzeł zawiera wszelkie informacje o pliku za wyjątkiem jego nazwy. Nazwa przechowywana
jest w katalogu razem z numerem i-węzła. Wpis katalogu zawiera nazwę i liczbę i-węzłów
plików. I-węzeł zawiera numery kilku bloków danych, które używane są do przechowywania
pliku. Automatycznie alokowane miejsce pozwala przechowywać tylko kilka numerów, jednak w
razie potrzeby zostaje dynamicznie alokowana dodatkowa przestrzeń. Bloki alokowane
dynamicznie nazywają się bezpośrednimi - nazwa wskazuje, że w celu znalezienia numeru bloku
danych należy znaleźć pierwszy blok pośredni.
W Linuxie pliki są umieszczone w katalogach. Katalogi z kolei są ze sobą hierarchicznie
powiązane w jedną strukturę plików. Nazwa pliku może składać się z liter, cyfr oraz niektórych
znaków specjalnych, np. znaku podkreślenia. Jej długość może wynosić do 256 znaków. Należy
pamiętać, że Linux rozróżnia duże i małe litery.
Kropka nie posiada specjalnego znaczenia, ponieważ linux traktuje kropkę jak każdy inny znak.
Pliki, których nazwy rozpoczynają się kropką są "ukryte". Traktowane są jak wszystkie inne
pliki, z wyjątkiem tego, iż nie wyświetli ich polecenie ls, chyba że użytkownik zastosuje ppcję -a.
Przykładem pliku ukrytego jest plik .profile. Wszystkie pliki mająjeden ormat fizyczny - ciąg
bajtów zakończony znakiem EOF (End-Of-File; Ctrl-D). Ten hierarchiczny system plików
jednolicie traktuje pliki zwykłe, katalogi oraz liki opisujące urządzenia zewnętrzne. Katalogi
każdego użytkownika są w rzeczywistości połączone z katalogami pozostałych użytkowników.
Są one ułożone strukturę hierarchiczną drzewa rozpoczynając od katalogu głównego (root),
będącego korzeniem. Wszystkie pozostałe katalogi wychodzą od tego pierwszego. Katalog
główny / jest to korzeń drzewa. Niektóre katalogi są standardowymi katalogami
zarezerwowanymi do użytku przez system. Katalogi systemowe zawierają pliki i programy
używane do uruchomienia i utrzymywania systemu. Znaczenie poszczególnych katalogów
systemowych jest następujące:
• /bin, /usr/bin – zawierają większość komend systemowych i programy usługowe w wersji
binarnej,
• /dev – mieszczą się w nim pliki specjalne, reprezentujące urządzenia rzeczywiste (dyski
twarde, elastyczne, drukarki) i pseudourządzenia (konsola systemowa, obszar swap,
wirtualny terminal),
• /etc – przechowywana jest w nim większość plików i programów umożliwiających
konfigurację systemu,
• /tmp – używany przez komendy, jak i przez użytkowników do przechowywania plików
tymczasowych,
• /home – katalog przeznaczony na katalogi domowe użytkowników systemu,
• /proc – wirtualny system plików, zawierający informacje o systemie i liruchomionych
procesach.
Poruszanie się po katalogach
Przy rejestrowaniu nazwy użytkownika w systemie zostaje z nią związany katalog osobisty
danego użytkownika, oznaczany symbolem ~. Katalog ten staje się katalogiem bieżącym w
chwili rozpoczynania przez użytkownika sesji przy terminalu. Każda nazwa pliku, którą podaje
wówczas użytkownik, np. jako parametr polecenia, odnosi się do plików z katalogu bieżącego.
Każdy plik można znaleźć rozpoczynając poszukiwanie od katalogu pierwotnego, tj. od korzenia
drzewa katalogów.
W każdym katalogu (oprócz root) występuje element domyślny, stanowiący nazwę katalogu
nadrzędnego, oznaczony dwiema kropkami (..), oraz inny element, stanowiący nazwę katalogu, w
którym on sam się znajduje, oznaczony (.). Innymi słowy, każdy katalog wskazuje na samego
siebie oraz na swój katalog nadrzędny.
Położenie pliku jest określane poprzez ciąg nazw prowadzących do niego katalogów. Ciąg ten
nazywany jest ścieżką dostępu. Ścieżka dostępu do obiektu określa umiejscowienie obiektu w
systemie plików. Ścieżka dostępu może być określana na dwa sposoby: jako ścieżka
bezwzględna albo względna.
Bezwzględna ścieżka dostępu rozpoczyna się od folderu głównego. Folder główny jest
pojedynczym folderem, od którego rozpoczyna się cała hierarchia. Pierwszym znakiem ścieżki
bezwzględnej jest ukośnik (/).
Względna ścieżka dostępu przedstawia lokalizację pliku lub folderu względem folderu bieżącego.
Aby z folderu bieżącego przejść niżej w strukturze drzewa, nie trzeba podawać pełnej ścieżki
dostępu. Wystarczy wpisać ścieżkę rozpoczynając od nazwy następnego folderu. Jeśli ścieżka
dostępu nie rozpoczyna się ukośnikiem, jest ścieżką względną. Przy określaniu względnych
ścieżek dostępu, warto pamiętać o dwóch symbolach specjalnych czyli o (.) reprezentującym
folder bieżący oraz o (..) reprezentującym folder nadrzędny, czyli znajdujący się o jeden poziom
wyżej w hierarchii.
Rys. 1. Przykładowa struktura katalogów
Jeśli katalogiem bieżącym jest katalog praca (Rys. 1), a chcemy przejść do katalogu instalacje to
możemy to zrobić na dwa sposoby:
1. ścieżka względna: cd ../../instalacje
2. ścieżka bezwzględna cd /instalacje
Jeśli chcielibyśmy przejść z katalogu praca do katalogu studia to składnia polecenia będzie
wyglądała następująco:
1. ścieżka względna cd ../studia
2. ścieżka bezwzględna cd /moje dokumenty/studia
Szybkie wpisywanie poleceń. Klawisz tab
W systemie Linux istnieje możliwość znacznie szybszego i wygodniejszego wprowadzania
poleceń, czy też ścieżek dostępu. W ten sam sposób możemy również uzyskiwać podpowiedzi
jeśli chodzi o dostępne polecenia. Podobne podpowiedzi będą wyświetlane w trakcie poruszania
się po strukturze katalogów. Aby z tej możliwości skorzystać należy w trakcie wprowadzanie
polecenie lub ścieżki dostępu nacisnąć klawisz tabulacji.
Przykład
1. Wprowadzając jakieś polecenie możemy je dokończyć po wpisaniu kilku liter jego nazwy
naciskając klawisz tab. Wpisane litery są traktowane jako wzorzec polecenia. Jeśli
wpisanemu wzorcowi odpowiada kilka poleceń, zostaną one wypisane na ekranie.
Użytkownik musi zawęzić liczbę dostępnych poleceń wpisując dodatkowe litery, aż system
rozpozna o jakie polecenie chodzi. Jeśli danemu wzorcowi odpowiada tylko jedno polecenie
zostanie on automatycznie dokończone. Jeśli liczba dostępnych poleceń jest duża system
wyświetli informację z o ilości poleceń odpowiadających wzorcowi oraz pytanie czy tę listę
wyświetlać.
2. Podobnie wygląda sprawa wpisywania ścieżek dostępu do katalogu. Użytkownik w trakcie
wpisywanie nazwy katalogu może nacisnąć klawisz tab, co spowoduje dokończenie jego
nazwy lub też wyświetlenie nazw katalogów lub plików, które odpowiadają wpisanemu
wzorcowi. Klawisz tab w tym przypadku dokańcza tylko nazwę katalogu lub pliku, a nie całą
ścieżkę.
Znaki specjalne
Nazwy plików są najczęściej argumentami stosowanymi w poleceniach. Często można znać
jedynie część nazwy pliku lub chcieć odwołać się do kilku nazw lików. Powłoka oferuje zestaw
znaków specjalnych, które poszukują, dopasowują generują listę plików. Tymi znakami
specjalnymi są gwiazdka, znak zapytania i nawiasy kwadratowe. Znaki * i ? określają niepełną
nazwę pliku, nawiasy kwadratowe pozwalają na określenie zestawu dopuszczalnych znaków,
jakie mają być poszukiwane. Można łączyć nawiasy kwadratowe z innymi znakami specjalnymi.
• Gwiazdka * oznacza dowolny ciąg znaków, można jej używać do oznaczania nazw plików
zaczynających się lub kończących dowolnym zestawem znaków.
• Znak zapytania? oznacza dokładnie jeden dowolny znak. Można używać więcej niż jednego
znaku zapytania w każdym miejscu wzorca.
• Dowolne znaki umieszczone w nawiasach kwadratowych [] oznaczają dokładnie jeden
spośród wymienionych znaków.
Znaki specjalne mogą być maskowane za pomocą znaku ,,\". Aby nazwa ce? odnosiła się do
dokładnie jednego pliku ce?, a nie do całej grupy plików o 3-literowych nazwach
rozpoczynających się znakami ce, należy za pomocą ,,\" zamaskować znaczenie symbolu ,,?" – a
więc zastosować nazwę ce\?
Przykłady operacje na plikach z zastosowanie znaków specjalnych:
rm *
cp /bin/a*b $HOME/
cp ??? $HOME/
rm [Aa-f0-9]*
cd ../..
Komendy wiersza poleceń
Formatem polecenia jest nazwa polecenia, za którą następują opcje, a dopiero za nimi argumenty:
polecenie opcje argumenty
System pomocy
System Linux posiada rozbudowany i bardzo przydatny system pomocy. Pierwszym źródłem
pomocy są tzw. strony man (ang. manual). Zawierają one definicje i objaśnienia poleceń systemu
wraz z opisem opcjonalnych parametrów dla specjalnych funkcji poleceń. Aby wywołać stronę
man dla wybranego polecenia należy wydać komendę:
man polecenie
np.:
man ls
Spowoduje to wyświetlenie opisu danego polecenia. Jeśli chcemy wyszukać potrzebną
informacje należy wydać nacisnąć klawisz \, wpisać szukaną frazę i nacisnąć ENTER. Jeśli
chcielibyśmy ponowić wyszukiwanie danej frazy wystarczy nacisnąć klawisz \ i ENTER. Aby
zakończyć przeglądanie manuala należy nacisnąć klawisz q.
Polecenia dotyczące katalogów
Listowanie zawartości katalogów
Przykład
ls
ls –la
Przykładowe opcje
-a – wypisuje wszystkie pliki, razem z plikami ukrytymi,
-l – podaje wszystkie dane (pełną informację) o plikach i katalogach,
-x – wyświetla pliki posortowane według rozszerzeń
Zmiana katalogu
Przykład
cd nazwa_katalogu – przejście do katalogu o podanej nazwie
cd $HOME, cd ~, cd – powrót do katalogu domowego
cd .. – przejście do katalogu nadrzędnego
Tworzenie katalogów
Przykład
mkdir /usr/students
Przykładowe opcje
-p – pozwala utworzyć zagnieżdżoną strukturę katalogów
-m – pozwala na utworzenie katalogu z określonymi prawami dostępu
Usuwanie katalogów
Przykład
rmdir /home/Kowalski
Przenoszenie katalogów, zmiana nazwy katalogu
Przykład
mv old_name new_name
mv kat1 kat2 – przeniesienie katalogu kat1 do katalogu kat2
Gdzie jestem?
Przykład
pwd (ang. print working directory)
Polecenia dotyczące plików
Kopiowanie plików
Przykład
cp plik_źródłowy plik_docelowy
Przykładowe opcje
-b – utworzenie kopii plików przed zniszczeniem ich zawartości,
-v – wyświetlenie nazwy każdego pliku w czasie kopiowania,
- r – kopiowanie całych katalogów wraz z podkatalogami,
-p – kopiowanie plików do katalogu docelowego z zachowaniem hierarchii podkatalogów
Przenoszenie plików, zmiana nazwy
Przykład
mv plik_źródłowy plik_docelowy
mv stara_nazwa nowa_nazwa
Przykładowe opcje
-b – brak pytania o potwierdzenie przed zniszczeniem zawartości plików,
-f – przeniesienie plików tylko wtedy, kiedy są nowsze niż pliki docelowe o tej samej nazwie
Usuwanie plików
Przykład
rm nazwa_pliku
rm –r nazwa_katalogu
Przykładowe opcje
-f – usuwa pliki bez żadnego uprzedzenia,
-r – pozwala na usuwanie katalogu ze wszystkimi podkatalogami i plikami,
-i – żąda potwierdzenia dla każdego usuwanego pliku,
-v – wyświetla nazwy każdego kasowanego pliku.
Tworzenie powiązań symbolicznych
Przykład
ln –s nazwa_linku nazwa_katalogu
Tworzenie pustego pliku
Przykład
touch nazwa_pliku
Tworzenie i edycja pliku
Przykład
cat > nazwa_pliku (zakończenie edycji CTRL + D)
Tworzenie i przepisanie pliku
Przykład
less nazwa_pliku > nowy_plik
Doklejanie do plików
Przykład
less nazwa_pliku >> istniejacy plik
Wyszukiwanie plików
Przykład
find gdzie filtry obiekt_poszukiwań
find / -name cp
Sesja przy terminalu 1
1. Uruchom system KNOPPIX
2. Zapoznaj się z systemem wirtualnych konsoli. Ile konsol dostępnych jest w systemie
KNOPPIX?
3. Po przełączeniu na konsolę tekstową, sprawdź w jakim katalogu się znajdujesz.
4. Zamknij system korzystając z polecenie shutdown lub go zrestartuj (polecenie reboot)
Sesja przy terminalu 2
1. Uruchom system KNOPPIX. Po uruchomieniu przełącz na dowolną konsolę tekstową.
2. Wyświetl zawartość katalogu bieżącego. Zbadaj różnicę w działaniu poleceń ls -l, ls -a i ls
-la. Czym różni się polecenie ls od polecenie ls *?
3. Zapoznaj się z reakcją systemu na błędnie wprowadzone polecenie np. ls-la
4. Zapoznaj się z mechanizmem dokańczania poleceń za pomocą klawisza tab
5. Korzystając z klawisza tab wyświetl wszystkie katalogi zaczynające się na s, które
znajdują się w katalogu /etc
6. Korzystając z klawisza tab wyświetl wszystkie polecenia zaczynając się na literę l.
7. Zapoznaj się z mechanizmem poruszania się po katalogach za pomocą ścieżki względnej i
bezwzględnej.
8. Z katalogu domowego wylistuj jednym poleceniem zawartość katalogu /etc
Sesja przy terminalu 3
1. Utwórz następującą strukturę katalogów:
Rys. 2. Struktura katalogów do zadania 1 w Sesji przy terminalu 3
2. skopiuj polecenia wszystkie polecenia dwuliterowe zaczynające się od litery d z katalogu
/bin do założonego wcześniej katalogu studia
3. zmień nazwy tych plików, aby zaczynały się od słów stary_
4. załóż w swoim katalogu domowym plik info.txt, w którym zamieścisz podstawowe
informacje o sobie – imię, nazwisko, parę słów o sobie
5. załóż drugi plik o nazwie email.txt, w którym umieść swój adres e-mail
6. doklej plik email.txt do pliku info.txt i zmień jego nazwę na .plan
7. utwórz w katalogu instalacje katalog rpm korzystając ze ścieżki bezwzględnej
8. utwórz w katalogu instalacje katalog deb korzystając ze ścieżki względnej
9. przejdź do katalogu deb (w katalog instalacje) a następnie przejdź za pomocą jednego
polecenia do katalogu umowy znajdującego się w katalogu praca.
10. przenieś plik email.txt do katalogu studia
11. załóż nowy plik, a następnie stwórz link symboliczny do niego. Co się stanie z linkiem,
jeśli usuniesz plik bazowy?
12. skopiuj do katalogu janek wszystkie plik z katalogu studia
13. przenieś katalog praca wraz z podkatalogami do katalogu instalacje za pomocą jednego
polecenia
14. usuń cały katalog studia
15. usuń katalog praca wraz z podkatalogami za pomocą jednego polecenia
16. usuń katalog instalacje
Urządzenia w systemie Linux
W systemie Linux wszystkie urządzenia są reprezentowane przez odpowiednie pliki znajdujące
się w katalogu /dev. Urządzenia te dzielą się na blokowe i znakowe.
Urządzenia blokowe służą do przechowywania danych i pozwalają na swobodny dostęp do nich.
Urządzeniami tego typu są na przykład dyski twarde lub stacje dyskietek. Urządzenia te
zachowują się podobnie jak pliki z tym, że długość plików określona jest przez ilość zapisanych
w nich danych, a długość urządzenia blokowego przez jego pojemność.
Wadą takiego rozwiązania jest to, że jeśli zapiszemy plik o rozmiarze 10MB do urządzenia
blokowego o pojemności 100MB, to po odczytaniu tego urządzenia otrzymamy 10MB naszych
danych i 90MB danych zapisanych wcześniej. Wadę tę można ominąć kodując informację o
długości pliku w nim samym.
Urządzenia znakowe służą do odczytu lub zapisu sekwencji znaków. Charakterystyczną cechą
tych urządzeń jest to, że danych z nich nie można odczytywać w dowolnej kolejności tylko w
kolejności takiej, w jakiej docierają one do komputera. Dobrym przykładem takiego urządzenia
jest łącze szeregowe.
Oznaczenia niektórych urządzeń z katalogu /dev:
• hda - pierwszy dysk twardy (IDE/EIDE)
• hda1 - pierwsza partycja na pierwszym dysku twardym
• hdb - drugi dysk twardy lub CD-ROM
• sda - pierwszy dysk twardy (SCSI)
• sda1 - pierwsza partycja na pierwszym dysku twardym
• sdb - drugi dysk twardy (SCSI)
• fd0 - pierwsza stacja dysków elastycznych
• fd1 - druga stacja dysków elastycznych
• cua0 - COM1
• cua1 - COM2
• lp0 - LPT1
• lp1- LPT2
• tty1 - terminal 1
• tty2 - terminal 2
• null - urządzenie puste
• kmem - pamięć operacyjna
System plików
System plików to metody i struktury danych używane przez system operacyjny w celu zapisania i
zorganizowania plików na danym urządzeniu.
System Linux obsługuje wiele różnych systemów plików, ale podstawowym systemem jest ext2.
Montowanie i odmontowywanie systemu plików
Aby móc używać system plików należy go wcześniej zamontować. Do montowania systemu
plików służy polecenie mount o składni :
mount -t typ urządzenie punkt_montowania
gdzie :
• typ – rodzaj systemu plików, np.: ext2, msdos
• urządzenie – musi być urządzeniem blokowym
• punkt_montowania – nazwa pliku pod którym będzie zainstalowany dany system
Aby zamontować dyskietkę wydajemy polecenie:
mount -t msdos /dev/fd0 /mnt/floppy
Do odmontowania systemu plików służy polecenie umount:
umount /mnt/floppy
Konfiguracja systemu plików
Informacje o systemach plików, które mają lub mogą być zamontowane i o ich konfiguracji
zawiera plik /etc/fstab. Każdy system plików opisany jest w osobnej linii, a pola w każdej linii
oddzielone są znakami spacji lub tabulatora.
Przykładowy plik fstab może wyglądać następująco:
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults 1 2
/dev/hdb /mnt/cdrom iso9660 user,noauto,ro 0 0
/dev/fd1 /mnt/floppy msdos user,noauto 0 0
/dev/hda2 none swap sw
Pole pierwsze opisuje specjalne urządzenie blokowe lub zdalny system plików przeznaczony do
zamontowania.
Pole drugie wskazuje na miejsce, w którym ma być dany system plików zamontowany. Dla
partycji wymiany pole to powinno zawierać wartość none.
Pole trzecie opisuje typ systemu plików. Najczęściej używane systemy plików to:
• ext2 – standardowy system plików dla Linuksa
• msdos – system plików dla partycji MS-DOS
• iso9660 – system plików używany przez stacje CD-ROM
• nfs – system plików służący do montowania partycji z systemów zdalnych
• swap – partycja dysku używana jako przestrzeń wymiany
Pole czwarte zawiera opcje montowania danego systemu plików. Opcje podaje się jako listę
oddzieloną przecinkami. Najważniejsze opcje to:
• auto – oznacza, że polecenie mount -a powinno zamontować dany system plików
• noauto – zabrania montowania systemu, gdy wydano opcję mount -a
• user – opcja ta pozwala użytkownikowi na montowanie danego systemu plików
• dev – pozwala na używanie plików urządzeń zapisanych w systemie plików
• exec – zwykle wykorzystywany w systemach NFS. Opcja ta zezwala na uruchamianie
plików zapisanych w danym systemie
• noexec – przeciwieństwo opcji exec
• ro – montuje system plików w trybie tylko do odczytu
• rw – montuje system plików w trybie do odczytu i zapisu
• sync – wszystkie operacje zapisu będą oczekiwać na potwierdzenie ich zakończenia przez
sprzęt. Tryb ten jest wolniejszy, ale za to bezpieczniejszy
• async – przeciwieństwo opcji sync
• suid – pozwala na korzystanie z flag suid
• nosuid – przeciwieństwo suid
• defaults – włącza opcje rw,exec, auto, nouser, async, suid
Pole piąte jest używane przez program dump do wykrycia, który system plików musi być
odłączony. Wartość 0 oznacza, że dany system nie musi być odłączony.
Pole szóste jest używane przez program e2fsck do określenia kolejności sprawdzania systemu
plików podczas ładowania systemu. Główny system plików powinien mieć wartość 1, zaś inne
systemy plików wartość 2. Wartość 0 oznacza, że dany system nie będzie sprawdzany.
Polecenia związane z systemem plików
df [-aht] urządzenie
Opis: sprawdzenie ilości wolnego miejsca na dysku
Opcje:
-a – wyświetla informacje o każdym systemie plików
-h – wyświetlane informacje są podawane w łatwych do odczytania jednostkach
-t=typ – wyświetla informacje tylko o systemie danego typu
mkfs [-t] [-c] urządzenie_blokowe
Opis: tworzenie systemu plików
Opcje:
-t – określa typ tworzonego systemu plików, domyślnie ext2
-c – sprawdza uszkodzone bloki urządzenia przed utworzeniem systemu plików
mount [-t] [-o] urządzenie_lub_katalog
Opis: montowanie systemu plików
Opcje:
-t – typ montowanego systemu plików
-o – po tej opcji następuje podanie oddzielonych przecinkami wartości:
remount – przemontowanie zamontowanego już systemu plików
ro – montuje system plików w tryb tylko do odczytu
rw – montuje system plików w tryb tylko do odczytu i zapisu
nouser – zabrania zwykłemu użytkownikowi montowania systemu plików
umount urządzenie_lub_katalog
Opis: odmontowanie systemu plików
e2fsck [-pcf] [-b] urządzenie
Opis: testowanie systemu plików
Opcje:
-p – napraw automatycznie system plików bez żadnych pytań
-c – uruchom program badblocks w celu znalezienia uszkodzonych bloków
-f – wymuś sprawdzanie, nawet jeśli system plików wydaje się być czysty
-b superblok – użyj podanego superbloku
fdisk [-lv] [-s] urządzenie
Opis: obsługa partycji
Opcje:
-l – drukuje tablice partycji
-v – drukuje numer wersji fdiska
-s partycja – jest partycją wybranego dysku
urządzenie – jest plikiem z katalogu /dev wskazującym na nasz dyski (np.: hda)
fdformat [-n] urządzenie
Opis: niskopoziomowy format dyskietki
Opcje:
-n – wyłączenie weryfikacji sformatowanej dyskietki
Polecenia związane z wyszukiwaniem
grep [-civ] wzorzec [plik]
Opis: wyszukiwanie ciągów znaków
Opcje:
-c – podaje liczbę wierszy w których znaleziono pasujący wzorzec
-i – pomija różnicę w wielkości liter
-v – wyświetla wiersze, w których nie ma podanego wzorca
plik – nazwa pliku, w którym następuje przeszukanie
find
Opis: szukanie plików
whereis [-bms] nazwa pliku
Opis: lokalizuje źródła, binaria i dokumentację man
Opcje:
-b – szukaj tylko binariów
-m – szukaj tylko sekcji dokumentacji man
-s – szukaj tylko źródeł
Prawa dostępu do plików i katalogów
Prawa dostępu do plików i katalogów są jednymi z najważniejszych mechanizmów
bezpieczeństwa systemu. Uniemożliwiają one innym użytkownikom przeglądanie naszych
zasobów. Prawa dostępu podzielone są na trzy sekcje:
• właściciel pliku lub katalogu
• grupa związana z plikiem lub katalogiem
• wszyscy inni użytkownicy systemu
Prawa dostępu można odczytać wydając polecenie ls -l:
bash$ ls -l
total 4
-rwxr--r-- 1 root root
drwxr-xr-x 5 root root
497 May 23 11:57 index.html
512 Sep 17 12:47 www
znaki minus (-) i litery występujące na początku każdej linii reprezentują typ pliku i prawa
dostępu.
Prawa dostępu do pliku
Każdy plik ma ściśle określone prawa dostępu stwierdzające, czy określony użytkownik jest
uprawniony do odczytania lub zapisania pliku bądź do jego wykonania. Każdy użytkownik może
mieć dowolną kombinację tych praw. Są one całkowicie niezależne i posiadanie jakiegokolwiek z
nich nie jest warunkiem posiadania innego. W przypadku pliku prawa są interpretowane w
następujący sposób:
• r – prawo czytania umożliwia oglądanie zawartości pliku, oznacza jednocześnie prawo do
kopiowania,
• w – prawo pisania oznacza zezwolenie na modyfikację zawartości pliku,
• x – prawo do uruchomienia pliku wykonywalnego.
Prawa dostępu do katalogu
Te same kategorie praw - czytania, pisania i wykonywania odnoszą się do katalogów:
• r – prawo czytania umożliwia przeszukiwanie zawartości katalogu, jest interpretowane jako
prawo wypisywania zawartości (komenda ls),
• w – prawo pisania daje możliwość modyfikowania zawartości katalogów umożliwia
dodawanie nowych oraz usuwanie dotychczasowych plików z katalogu,
• x – prawo wykonywania w stosunku do katalogu pozwala na dostęp do plików zapisanych w
nim oraz na wejście do danego katalogu uczynienie go katalogiem bieżącym (polecenie:
cd katalog).
Wydając polecenie ls –l otrzymujemy na ekranie:
-rwxr--r-- 1 root root
drwxr-xr-x 5 root root
497 May 23 11:57 index.html
512 Sep 17 12:47 www
znaki minus (-) i litery występujące na początku każdej linii reprezentują typ pliku i prawa
dostępu. Przyjmują one postać:
krwxrwxrwx
Wyjaśnienie tego zapisu jest następujące:
• k – jest to identyfikator typu, gdzie:
b
c
d
l
p
s
zwykły plik
specjalny plik blokowy
specjalny plik znakowy
katalog
link symboliczny
potok
gniazdo
• prawa dostępu:
Pierwsza trójka rwx – oznacza uprawnienia dla właściciela (u – user)
Druga trójka rwx – oznacza uprawnienia dla grupy (g – group)
Trzecia trójka rwx – oznacza uprawnienia dla pozostałych użytkowników (o – others)
Prawo
Plik
Katalog
r
czytania zawartości przeszukania zawartości
w
zmiany zawartości
zmiany zawartości
x
Wykonywanie
przejścia do tego katalogu
Przypisywanie uprawnień
Do zmiany uprawnień użytkowników w stosunku do katalogu lub pliku służy polecenie chmod.
Wymaga ono określenia, czyje uprawnienia należy zmienić, na jakie oraz jakiego pliku lub
katalogu ta zmiana będzie dotyczyć. Prawa dostępu mogą być podane na dwa sposoby:
• przy pomocy systemu kodów numerycznych (w formacie ósemkowym): 4 2 1
• przy pomocy systemu kodów znakowych: r w x
Oto porównanie tych systemów (w nawiasach przy zapisie numerycznym podano zapis binarny
uprawnień):
Prawa dostępu
Zapis numeryczny Zapis znakowy
Tylko do czytania
4 (100)
r-Tylko do pisania
2 (010)
-wTylko do wykonywania
1 (001)
--x
Do czytania i pisania
6 (110)
rwDo czytania i wykonywania
5 (101)
r-x
Czytania, pisania i wykonywania
7 (111)
rwx
Jeśli prawa dostępu do danego katalogu lub pliku będziemy podawać numerycznie, wówczas
składnia polecenia chmod ma postać:
chmod numeryczny_kod nazwa_zasobu
Przykład:
chmod 644 plik.txt – zapis ten oznacza:
• prawo dostępu właściciela 6 = 4 + 2 + 0 czyli rw
• prawo dostępu grupy 4 = 4 + 0 + 0 czyli r
• prawo dostępu pozostałych użytkowników 4 = 4 + 0 + 0 czyli r
chmod 701 katalog – zapis ten oznacza:
• prawo dostępu właściciela 7 = 4 + 2 + 1 czyli rwx
• prawo dostępu grupy 0 = 0 + 0 + 0 czyli brak uprawnień
• prawo dostępu pozostałych użytkowników 1 = 0 + 0 + 1 czyli x
chmod 755 plik2.txt – zapis ten oznacza:
• prawo dostępu właściciela 7 = 4 + 2 + 1 czyli rwx
• prawo dostępu grupy 5 = 4 + 0 + 1 czyli r-x
• prawo dostępu pozostałych użytkowników 5 = 4 + 0 + 1 czyli r-x
Jeśli prawa dostępu do danego katalogu lub pliku będziemy podawać symbolicznie, wówczas
składnia polecenia chmod ma postać:
chmod kto_oper_prawo nazwa_zasobu
gdzie:
• kto – określa komu nadawane są prawa i może być jednym, bądź kilkoma, spośród symboli:
a - wszyscy użytkownicy, u - właściciel pliku, g - grupa pliku, o - inni użytkownicy.
Pominięcie symbolu kategorii nadaje wszystkim (właścicielowi, grupie, pozostałym) takie
same prawa.
• oper – jest jednym z następujących symboli: – oznacza odebranie prawa, + oznacza
dodanie prawa, = ustala nowe uprawnienia niezależnie od stanu poprzedniego.
• prawo – typ praw dostępu, który jest jednym, bądź kilkoma, spośród symboli: r, w, x,
Przykład:
chmod u-x plik1.txt – zapis ten zabiera właścicielowi prawo pisania do pliku plik1.txt,
chmod a=rw plik1.txt – zapis ten nadaje wszystkim prawo rw do pliku plik1.txt,
chmod u+w, og+r-x plik1.txt – zapis ten nadaje właścicielowi prawo pisania do pliku
plik1.txt, a członkom grupy oraz pozostałym użytkownikom systemu nadaje prawo czytania i
odbiera prawo wykonania pliku plik1.txt,
Porównanie obu zapisów:
Prawo do czytania dla właściciela pliku
chmod 400 nazwa_pliku
chmod u+r nazwa_pliku
Wszystkie prawa dla właściciela pliku i prawo do czytania dla grupy
chmod 740 nazwa_pliku
chmod u+rwx,g+r nazwa_pliku
Domyślne prawa dostępu przy tworzeniu plików i katalogów
Domyślne prawa dostępu dla plików i katalogów nadawane są podczas ich tworzenia. Zmianę
tych praw uzyskujemy poleceniem umask. Jeśli chcielibyśmy, aby tworzone pliki miały
domyślne prawa 644, które zezwalają właścicielowi na czytanie i pisanie, a reszcie tylko na
czytanie to od wartości 777 należy odjąć 644, a wynik podać jako parametr polecenia umask
777-644 = 133
umask 133
Zmiana właściciela i grupy pliku
Zmiana właściciela i grupy pliku możliwa jest przy użyciu poleceń: chown, chgrp. Rzecz się ma
następująco:
$ chown nowy_właściciel nazwa_pliku(ów)
$ chgrp nowa_grupa nazwa_pliku(ów)
lub w połączeniu
$ chown nowy_właściciel.nowa_grupa nazwa_pliku(ów)
Używając opcji -R polecenia chown, możesz zmienić właściciela wszystkich plików w danym
katalogu i wszystkich jego podkatalogach. Wówczas zamiast nazwy pliku podaje się nazwę
żądanego katalogu. Opcja ta jest również ważna dla polecenia chgrp.
Sesja przy terminalu 1
1. Uruchom system KNOPPIX
2. Zapoznaj się z urządzeniami znajdującymi się w katalogu /dev?
3. Ile plików hd* znajduje się w tym katalogu?
4. Ile partycji ma dysk hda?
Sesja przy terminalu 2
1. Uruchom system KNOPPIX.
2. Włóż do stacji dyskietkę i ją zamontuj. Nie zapomnij podać odpowiedniego systemu
plików. Dyskietkę zamontuj w katalogu /mnt/floppy. Wejdź do tego katalogu i wylistuj
jej zawartość.
3. Wyjmij dyskietkę i spróbuj ponownie wylistować zawartość katalogu /mnt/floppy
4. Odmontuj stację dyskietek.
5. Zamontuj dyskietkę w katalogu dysk, który będzie znajdował się w katalogu root.
Sesja przy terminalu 3
1. Zapoznaj się z zawartością pliku /etc/fstab. Jakie dyski zostały zamontowane w momencie
startu systemu? Gdzie one zostały zamontowane?
2. Korzystając z informacji zawartych w pliku /etc/fstab znajdź i wyświetl zawartość partycji
z systemem Windows.
3. Czy da się tę partycję domontować? Jak?
Sesja przy terminalu 4
1. Utwórz następującą strukturę katalogów:
Rys. 1. Struktura katalogów do zadania 1 w Sesji przy terminalu 4
2. Skopiuj wszystkie polecenia dwuliterowe zaczynające się od litery d z katalogu /bin do
katalogu moje dokumenty
3. Utwórz w katalogu dom dwa pliki tekstowe plik1.txt oraz plik2.txt. Pliki te powinny
zawierać przykładowy tekst.
4. Jakie uprawienie domyślne mają pliki1.txt oraz plik2.txt.
5. Ustaw dla pliku plik1.txt uprawnienia rw-r--rw-.
6. Ustaw dla pliku plik2.txt następujące uprawnienia właściciel: odczyt, zapis, wykonanie,
grupa: tylko zapis, pozostali: odczyt, zapis. Jak to zrobić korzystając z zapisu
numerycznego?
7. Wyświetl uprawnienia plików plik1.txt oraz plik2.txt.
8. Wydaj polecenie chmod 574 dla plik1.txt? Jakie zostaną nadane mu prawa?
9. Wydaj polecenie chmod u=rw, g=r, o-r dla pliku plik2.txt. Jakie zostaną nadane mu prawa?
10. Wyświetl uprawnienia plików plik1.txt oraz plik2.txt. Które polecenie (pkt. 8 i 9)
nadpisuje uprawnienia, a które je modyfikuje?
11. Utwórz plik mojedane.txt w katalogu studia i umieść w nim swoje dane.
12. Załóż plik o nazwie email.txt, w katalogu studia i umieść swój adres e-mail
13. Ustaw dla katalogu moje dokumenty i wszystkich podkatalogów następujące uprawnienia
właściciel: odczyt, zapis, wykonanie, grupa: brak uprawnień, pozostali: odczyt, zapis.
14. Sprawdź, czy możesz nie nadawać plikowi żadnych praw?
15. Pracując jako zwykły użytkownik utwórz plik moj.txt. Następnie zaloguj się na konto root
i przejmij ten plik na własność.
16. Kto jest właścicielem plików znajdujących się w katalogu dom?
17. Znając uprawnienia domyślne dla katalogu studia ustaw domyślne uprawnienia na
właściciel: odczyt zapis, grupa: odczyt, zapis, pozostali: odczyt.
Znak zachęty
Symbol gotowości do przyjmowania poleceń, składniki:
¾ []
- znaki ograniczające
¾ root - nazwa użytkownika
¾ @
- znak wtrącony
¾ localhost – domyslna nazwa komputera, na którym aktualnie pracujemy
¾ root - bazowa nazwa bieżącego katalogu
Znaki specjalne:
\d
- data
\h
- nazwa komputera
\n
- znak nowej linii
\s
- bazowa nazwa aktualnie używanego shella
\t
- bieżacy czas
\u
- nazwa użytkownika
\w
- bieżący katalog roboczy
\!
- numer wyświetlanego polecenia w historii poleceń
\#
- numer polecenia, licząc od chwili otwarcia sesji pracy
\$
- znak # gdy root, $ reszta użytkowników
\\
- znak backslash
\[
- początek sekwencji niedrukowalnych znaków sterujących
\]
- koniec sekwencji znaków sterujących
echo ($PS1) Æ ([\u@\h \W]\$)
[ ]$ PS1=‘polecenie:’ Æ polecenie:
polecenie: PS1=‘\$ \w’
# /root>…….
Konto użytkownika może być stworzone przez "root-a", używając - na przykład: adduser
joe
passwd joe
[wpisz hasło dla użytkownika joe]
usermode [opcje] username – modyfikacja konta
userdel [-r] username – usunięcie konta; r usuniecie również plików
groupadd [opcje] grupy – utworzenie nowej grupy użytkowników
chfn [opcje] username - ustalenie lub zmiana informacji opisujących konto
chsh [opcje] shell - zmiana domyslengo shella

Podobne dokumenty