Unix lab 3


MATERIAAY DO ĆWICZEC LABORATORYJNYCH
(3)
Dowiązania (łączniki, linki) do plików. Dowiązania twarde
cd
mkdir links
Utworzenie nowego katalogu links, wejście do tego katalogu,
cd links
utworzenie pliku test z krótkim tekstem
cat > test
sursum corda
(sursum corda = w górę serca)
Ctrl+D
ls -l Plik test jest plikiem zwykłym
-rw-r r-- 1 d1 studenci 13 Mar 12 15:48 test
(zawiera 13 bajtów)
ln test wsk Utworzenie w katalogu bieżącym dowiązania twardego do pliku
test o nazwie wsk, czyli nadanie temu samemu plikowi drugiej
nazwy wsk
ls -l Teraz w katalogu widoczne są dwa pliki:
-rw-r r-- 2 d1 studenci 13 Mar 12 15:48 test
-rw-r r-- 2 d1 studenci 13 Mar 12 15:48 wsk
Cyfra 2 w drugiej kolumnie oznacza liczbę dowiązań do danego
pliku. Na dysku znajduje się jeden plik o dwóch nazwach. Obydwie
nazwy mają te same czasy utworzenia pliku !
ls -i Polecenie podaje numery i-węzłów plików tj. adresy gdzie znajdują
się szczegółowe informacje o plikach. Oba numery są takie same,
czyli dotyczą tego samego pliku, np.
67978 test 67978 wsk
cat * Wyświetlenie zawartości wszystkich plików. Są takie same.
cat >> test Dopisanie zdania do pliku test
nie traccie ducha
Ctrl+D
cat * Zmienione zostały obydwa pliki
rm test Usunięcie pliku test. Polecenie to w rzeczywistości nie usuwa pliku,
lecz dowiązanie do niego (usuwa tylko jego nazwę z katalogu) oraz
ls
zmniejsza o 1 wartość licznika dowiązań w i-węzle pliku. Plik nadal
istnieje pod nazwą wsk
rm wsk Dopiero po usunięciu ostatniego dowiązania (tzn. gdy licznik
dowiązań będzie równy 0), usuwany jest faktycznie plik (usuwany
ls
jest i-węzeł z tablicy i-węzłów).
mkdir kat
ln kat kat2 Błąd! Do katalogu nie można utworzyć dowiązania sztywnego.
Dowiązania sztywne wykorzystywane są niekiedy przez programistów do napisania
programu, który może być wywoływany poprzez różne nazwy, modyfikując w ten sposób
swoje działanie.
Przykładem jest systemowy edytor tekstu vi i jego odmiany: edit, ex, vedit, view. Program
ten zapisany jest w jednym pliku i w zależności od wywołania, inaczej działa.
cd /usr/bin vi, ex, vedit, edit, view są różnymi nazwami tego samego
pliku  wszystkie mają ten sam numer i-węzła. W zależności
ls  il vi ex vedit edit view
od nazwy podanej przy wywołaniu, program inaczej działa.
Polecenie ls podaje, że istnieje 5 dowiązań sztywnych do
pliku.
Dowiązania symboliczne do plików
cd ~/links
mkdir symbolic Utworzenie katalogu symbolic w katalogu links
cd symbolic
ls /usr > ../lis Utworzenie przykładowego pliku lis w katalogu links. Zawiera on
wszystkie pliki i katalogi z katalogu /usr
ln -s ../lis sym Utworzenie w katalogu bieżącym (symbolic) symbolicznego
dowiązania o nazwie sym do pliku lis
ls -l Wyświetlona zostanie informacja podobna do:
lrwxrwxrwx 1 m1 studenci 6 Apr 12 15:28 sym->../lis
symbol  l oznacza prawa dostępu do dowiązania symbolicznego
link symboliczny są ignorowane przez system
Liczba dowiązań do pliku lis wynosi 1  tak więc symboliczne dowiązania nie są tu
liczone (tak jak sztywne). System nie sprawdza czy istnieją gdzieś dowiązania
symboliczne do tego samego pliku.
ls -l ../lis -rw-r r-- 1 m1 studenci 229 Apr 12 15:29 lis
Porównać informacje napisane dla dowiązania symbolicznego sym i dla
zwykłego pliku lis. Rozmiar pliku sym wynosi kilka bajtów (liczba znaków
w nazwie wraz ze ścieżką dostępu), rozmiar pliku lis = 229 bajtów.
Obydwa pliki mają również inne czasy ich utworzenia.
ls -i ../lis sym Numery i-węzłów obu plików są różne! W przypadku dowiązań
twardych byłyby takie same.
cat sym Za pomocą nazwy sym następuje odwołanie się do pliku lis.
Obydwa polecenia cat dają ten sam wynik.
cat ../lis
cat >> sym Zmodyfikowanie pliku sym. Dopisanie na końcu dwóch słów.
varietas delectas
(varietas delectas = rozmaitość cieszy)
Ctrl+D
cat sym Wprowadzone zmiany widoczne są również w pliku ../lis
cat ../lis
rm ../lis Usunięcie pliku lis
cat sym Pojawi się komunikat:
cat: cannot open sym
Dowiązanie symboliczne może wskazywać na nie istniejący już plik
lub katalog !
ln -s nazwax xxx Można nawet utworzyć dowiązanie symboliczne do nieistniejącego
pliku !
ln -s /usr/bin binary Utworzenie symbolicznego dowiązania do katalogu bin
ls binary Zobaczymy listę plików katalogu /usr/bin
ls -l binary To polecenie wyświetli jednak nie zawartość katalogu /usr/bin,
a jedynie pełną informację o dowiązaniu binary np.
lrwxrwxrwx 1 m1 studenci ... binary->/usr/bin
cd binary Katalogiem nadrzędnym dla katalogu binary jest katalog /usr, a nie
pwd symbolic
cd ..
Zadanie
Sprawdzić, czy dowiązanie symboliczne może wskazywać na inne dowiązanie symboliczne
Pliki specjalne i terminale
Pliki specjalne reprezentują urządzenia dołączone do systemu komputerowego (dyski,
drukarki, terminale itp.)
tty Okienko programu telnet, w którym prowadzona jest sesja
pracy, emuluje terminal.
Polecenie tty wyprowadza nazwę terminala (plik specjalny)
z którego jesteśmy podłączeni do stacji roboczej.
login: nazwa_użytkownika Za pomocą telnetu, ponownie zalogować się na stację (nie
zamykając bieżącej sesji pracy).
np. a1
Otwarte zostanie drugie okienko  drugi terminal.
passwd: hasło
tty Ustalamy nazwę terminala w drugim okienku.
Przykładowe nazwy terminali:
/dev/pts/3  w okienku I
/dev/pts/4  w okienku II
Są to pliki specjalne znajdujące się w katalogu /dev/pts
Poniższe ćwiczenia pokazują, że urządzenia przyłączone do komputera (tu: terminale) są
traktowane przez system jak pliki.
cd Przejść do okienka I (/dev/pts/3) i obejrzeć zawartość
jakiegoś małego pliku tekstowego np. test.0
ls  l
cat test.0
cp test.0 /dev/pts/4 Kopiujemy plik test.0 do pliku specjalnego. W rezultacie,
w okienku II (/dev/pts/4), zostanie wyświetlona zawartość
tego pliku.
cat > /dev/pts/4 W tym wypadku, wpisywane z klawiatury słowa w okienku I
term1 będą kolejno wyświetlane w okienku II terminala.
term2
term3
Ctrl+D
Polecenie stty służy do ustawiania i wyświetlania parametrów terminala.
stty Polecenie użyte bez parametrów, wyświetla aktualne
parametry terminala.
Ponieważ terminale mogą być wyposażone w różne klawiatury, w systemie zdefiniowano
kilka funkcji klawiszowych, którym można przyporządkować konkretne klawisze.
Przyporządkowanie to ma następującą postać:
 nazwa_funkcji_klawiszowych klawisze
Przykłady zdefiniowanych funkcji klawiszowych:
erase  usuwanie poprzedniego znaku (na lewo od kursora)
eof  koniec pliku
eol  znak nowej linii
kill  kasowanie bieżącego wiersza (np. wprowadzonego polecenia)
stty erase ^h Ustawienie klawisza BACKSPACE (równoważnego
klawiszom CTRL+H) do kasowania wpisanych znaków
w bieżącym terminalu (czyli funkcji erase).
stty kill ^X Przypisanie klawiszom Ctrl+X funkcji kasowania bieżącego
wiersza (linii poleceń).
Systemy plików
df Polecenie df podaje informacje o zainstalowanych systemach plików
Np.:
/ (/dev/dsk/c0t3d0s0): 21900 blocks 13489 files
/usr (/dev/dsk/c0t3d0s6): 121896 blocks 108565 files
/ext (weronika:/export ): 1844336 blocks 489 files
Plik specjalny
ilość wolnych
urządzenia np. dysku
nazwa katalogu
bloków pamięci liczba plików
lub partycji na
montowania
dyskowej (i węzłów)
którym znajduje się
występujących
system plików
w systemie plików
Polecenie df jest podstawowym zródłem informacji o systemach plików.
df -k Polecenie podaje rozmiary systemów plików w kB.
/dev/dsk/c0t3d0s0 23735 12785 8580 60% /
/dev/dsk/c0t3d0s6 246463 185515 36308 84% /usr
weronika:/export 1952573 1030421 726902 59% /ext
zarezerwowana procentowa ilość
wykorzystana ilość
wolne miejsce na
ilość miejsca na wykorzystanego
miejsca na dysku
dysku (kB)
dysku (kB) miejsca
(kB)
Należy zauważyć, że suma wolnego miejsca na dysku i wykorzystanego miejsca
na dysku jest mniejsza niż całkowita ilość miejsca. Jest tak dlatego, że system
rezerwuje pewną ilość miejsca dla procedur obsługujących system plików.
df ./Francja Jeśli argumentem polecenia df jest katalog to można dowiedzieć
się do jakiego systemu plików należy ten katalog.
df . Sprawdzenie, do jakiego systemu plików należy nasz katalog
bieżący
fsck /dev/dsk/c0t3d0s6 program narzędziowy, którego zadaniem jest sprawdzenie
podanego systemu plików i ewentualne jego naprawienie. Zwykle
może to wykonać tylko root
cat /etc/vfstab plik vfstab zawiera informacje o systemach plików montowanych
automatycznie podczas uruchamiania systemu.
Polecenie df wyświetla informacje zapisane w tym pliku, a także o
innych systemach plików zamontowanych  ręcznie .
mount Polecenie mount (bez argumentów) wyświetla zamontowane w
systemie systemy plików
du [opcje] [pliki | katalogi] - wyświetla ilość miejsca na dysku zajętego przez pliki
i katalogi w podanym katalogu, lub zajętego przez podany plik
du Polecenie du bez parametrów, podaje liczbę bloków pamięci
dyskowej w katalogu bieżącym i we wszystkich jego podkatalogach
np.:
2 ./Francja/Paryz
3 ./Poland
4 .
katalog bieżący
rozmiary pamięci dyskowej
podawane są w blokach po 512 B
du -k Rozmiary plików w katalogach podawane są w kB. Domyślnym
katalogiem jest katalog bieżący.
du /usr Lista podkatalogów katalogu /usr jest bardzo długa.
du /usr | more Za pomocą programu more można długą listę przeglądać.
lub
Można również wynik polecenia du zapisać do pliku i przeglądać
go pózniej np. za pomocą programu more
du /usr > plik
du -a /usr Informacje będą również wyprowadzane dla plików znajdujących
się w katalogach.
du -s /usr Wyświetlana jest sumaryczna ilość miejsca zajmowanego przez
podany katalog


Wyszukiwarka

Podobne podstrony:
Unix lab 9
Unix lab 7
Unix lab 10
Unix lab 4
Unix lab 1
Unix lab 5
Unix lab 8
Lab UNIX files and directories management
Lab Wprowadzenie do systemu UNIX
Lab Introductin to UNIX System
Lab Wprowadzenie do systemu UNIX
Lab cpp
lab 2
T2 Skrypt do lab OU Rozdział 6 Wiercenie 3
IE RS lab 9 overview
lab pkm 3
lab chemia korozja
lab tsp 3

więcej podobnych podstron