4. PORUSZANIE SIĘ PO SYSTEMIE PLIKÓW LINUX
Poznawanie struktury katalogów
System operacyjny Linux w porównaniu z systemami DOS czy MS Windows posiada bardzo rozbudowaną strukturę katalogów. Poruszanie się po strukturze umożliwia kilka poleceń. Aby sprawdzić, w jakim katalogu użytkownik znajduje się obecnie wystarczy wydać komendę "pwd" (ang. print working directory). Za pomocą tego polecenia łatwo określić można bieżący katalog. Aby zmienić katalog bieżący na inny, użyć należy polecenia "cd". Składnia tego polecenia jest bardzo prosta:
cd [KATALOG]
gdzie:
KATALOG - określa nazwę katalogu, który ma zostać bieżącym. W przypadku nie podania tego parametru, katalogiem bieżącym zostanie katalog domowy użytkownika.
Przykład użycia poleceń "cd" i "pwd":
[student@syriusz /usr]$ pwd
/usr [student@syriusz /usr]$ cd local
[student@syriusz local]$ pwd
/usr/local
[student@syriusz local]$ cd
[student@syriusz student]$ pwd
/home/student
[student@syriusz student]$ cd ../../etc
[student@syriusz /etc]$ pwd
/etc
Najczęściej używanym poleceniem jest "ls" (ang. list). Wyświetla ono zawartość katalogu bieżącego bądź podanego jako parametr. Podstawowa składnia:
ls [OPCJE] [PLIK(I)]
gdzie:
OPCJE - opcje modyfikujące format i rodzaj wyświetlanych danych
PLIK(I) - to nazwa lub nazwy plików bądź katalogów
Przy wywołaniu polecenia "ls" bez podanych opcji wyświetlone zostaną wyłącznie nazwy plików, na przykład:
[student@syriusz /bin]$ ls
arch
ash
ash.static
awk
[...]
umount
uname
userconf
usleep
vi
view
vimtutor
ypdomainname
zcat
zsh
zsh-3.0.7
[student@syriusz /bin]$
By wyświetlić więcej informacji o plikach, należy użyć opcji "-l" (ang. long)
"ls -l" dostarcza użytkownikom szerokiej wiedzy dotyczącej listowanych plików. Informacje wyświetlane są w kolumnach i domyślnie sortowane wg. nazwy pliku. Pierwszą kolumnę stanowi typ pliku oraz prawa dostępu. Wyróżnić można następujące typy plików:
"-" - plik zwykły
"d" - katalog
"l" - link symboliczny
"c" - urządzenie znakowe (niebuforowane)
"b" - urządzenie blokowe (buforowane)
"p" - FIFO (potok nazwany)
"s" - gniazdo (ang. socket)
Druga kolumna to liczba dowiązań do pliku - wykorzystywana m.in. przy usuwaniu linków twardych. Trzecia i czwarta kolumna to odpowiednio identyfikator właściciela pliku oraz grupy. Dane te niezbędne są do określenia rzeczywistych praw dostępu. Piąta kolumna symbolizuje długość pliku w bajtach. Następnie wyświetlana jest data i godzina ostatniej modyfikacji pliku. Ostatnia kolumna to nazwa pliku. W przypadku linków symbolicznych wyświetlana jest ścieżka do pliku oryginalnego.
Jako parametr polecenia "ls" podać również można maskę określającą więcej niż jeden plik / katalog. Przykład użycia maski:
[student@syriusz log]$ ls -l *log*
-rw-r--r-- 1 root root 42039 Jun 22 14:08 boot.log
-rw-r--r-- 1 root root 0 May 26 01:05 htmlaccess.log
-rw-r--r-- 1 root root 146584 Jun 22 22:20 lastlog
-rw------- 1 root root 3465 Jun 22 17:50 maillog
-rw-r--r-- 1 root root 0 May 26 01:05 netconf.log
[student@syriusz /tmp]$
Polecenie "ls -l *log*" spowodowało wyświetlenie listy plików zawierających w swojej nazwie frazę "log".
Poszukiwanie plików
Często występuje potrzeba odnalezienia konkretnego pliku, lub pliku spełniającego określone kryteria. Polecenie "find" stanowi silne narzędzie do wyszukiwania plików. Składnia tego polecenia to:
find ŚCIEŻKA WYRAŻENIE
gdzie:
ŚCIEŻKA - katalog w którym "find" ma rozpocząć wyszukiwanie,
WYRAŻENIE - składa się z OPCJI, TESTÓW oraz AKCJI,
OPCJE - wpływają na sposób działania polecenia "find". Najczęściej stosuje się:
follow - wymusza wchodzenie do katalogów, które są linkami symbolicznymi,
maxdepth POZIOM - określa poziom katalogów do którego "find" realizował będzie poszukiwania,
mindepth POZIOM - określa poziom katalogów poniżej którego "find" realizował będzie poszukiwania,
mount - zawęża poszukiwania tylko do jednego systemu plików.
TESTY - w zależności od wyniku porównania z testem, znaleziony plik będzie poddawany AKCJI bądź będzie ignorowany. Wartości numeryczne mogą być specyfikowane jako "+n" co oznacza większe od n, "-n" oznacza mniejsze od n lub "n" - równe n. Najczęściej wykonywane testy to:
group - należy do określonej grupy,
links - posiada odpowiednią liczbę dowiązań,
mtime - był modyfikowany podaną ilość dni temu,
name - posiada podaną nazwę,
perm - posiada prawa dostępu zgodne z podanymi,
size - ma rozmiar zgodny/większy/mniejszy niż podany,
type - jest określonego typu (np. "f" dla plików, "d" dla katalogów),
user - jest własnością określonego użytkownika
AKCJA - domyślną akcją jest wypisanie nazwy pliku. "find" oferuje dodatkowo m.in. następujące akcje:
exec komenda ; - wykonanie zewnętrznej komendy. "{}" zastępuje nazwę pliku,
printf format - wypisanie nazwy pliku odpowiednio sformatowanej,
ls - wykonanie komendy ls -dils na pliku.
Przykłady użycia komendy find:
poszukiwanie pliku o nazwie "motd:
find / -name motd
poszukiwanie podkatalogów w katalogu /ftp należących do użytkownika student
find /ftp/ -user student -type d
kasowanie plików w katalogu domowym, posiadających w nazwie "bak" i nie modyfikowanych od minimum tygodnia:
find ~/ -type f -name "*bak*" -mtime +7 -exec rm {
Zarządzanie katalogami
Przemieszczanie się po drzewie plików, listowanie zawartości katalogu oraz sprawdzanie bieżącego katalogu (odpowiednio komendy "cd", "ls" i "pwd").
By utworzyć katalog należy posłużyć się poleceniem "mkdir". Podstawowa składnia:
mkdir KATALOG(I)
gdzie:
KATALOG(I) - jeden lub więcej katalogów do utworzenia.
Przykład działania:
[student@syriusz /tmp]$ mkdir katalog1
[student@syriusz /tmp]$ ls -l
total 1
drwxr-xr-x 2 student users 1024 Jun 22 23:52 katalog1
[student@syriusz /tmp]$ mkdir katalog2 /tmp/katalog1/podkatalog
[student@syriusz /tmp]$ ls -l
total 2
drwxr-xr-x 3 student users 1024 Jun 22 23:52 katalog1
drwxr-xr-x 2 student users 1024 Jun 22 23:52 katalog2
Do usuwania katalogów służy komenda "rmdir". Usuwa ona puste katalogi podane jako parametr wywołania. Katalogi zawierające podkatalogi bądź pliki należy usuwać komendą "rm -rf". Przykłady usuwania katalogów:
[student@syriusz /tmp]$ ls -l
total 2
drwxr-xr-x 3 student users 1024 Jun 23 00:27 katalog1
drwxr-xr-x 2 student users 1024 Jun 23 00:27 katalog2
[student@syriusz /tmp]$ rmdir katalog[12]
rmdir: katalog1: Directory not empty
[student@syriusz /tmp]$ ls -l
total 1
drwxr-xr-x 3 student users 1024 Jun 23 00:27 katalog1
[student@syriusz /tmp]$ rm -fr katalog1
[student@syriusz /tmp]$ ls -l
total 0
[student@syriusz /tmp]$
Praca z plikami
Jednym z najistotniejszych zadań podczas korzystania z komputera jest praca z plikami. System Linux dysponuje wieloma narzędziami pozwalającymi na wygodne korzystanie z plików. Aby wyświetlić zawartość pliku, najprościej wydać polecenie "cat" (z and. concatenate). Najczęściej stosowana jest składnia:
cat PLIK(I)
gdzie:
PLIK(I) - plik lub lista plików przeznaczonych do wyświetlenia.
Dla przykładu - użycie cat w celu wyświetlenia zawartości pliku /etc/issue.net:
[[student@syriusz /tmp]$ cat /etc/issue.net
Red Hat Linux release 6.2 (Zoot)
Kernel 2.2.14-5.0 on an i486
[student@syriusz /tmp]$
Polecenie cat jest jednak dosyć niewygodne przy przeglądaniu dłuższych plików, których zawartość nie mieści się na ekranie. Aby przeglądać pliki z podziałem na poszczególne ekrany należy użyć innego polecenia - "more" lub nowszej jego wersji "less". Nazwę bądź nazwy plików do wyświetlenia podaje się jako parametr wywołania. Polecenia te można również używać w połączeniu z "cat" poprzez przekierowanie strumienia wyjściowego.
Na wyświetlenie początku pliku pozwala polecenie "head". Podstawowy sposób użycia:
head [OPCJE] [PLIK(I)]
gdzie:
OPCJE - wpływają na ilość wyświetlonych danych.
PLIK(I) - plik lub pliki do wyświetlenia.
"head" bez podania opcji wyświetla pierwsze 10 linii każdego pliku. Najczęściej stosuje się następujące opcje:
-n LICZBA - specyfikacja liczby wyświetlanych linii,
-c LICZBA - specyfikacja liczby wyświetlanych znaków.
Koniec pliku wyświetlić można poleceniem "tail" działającym podobnie jak "head". Na uwagę jednak zasługuje opcja "-f" polecenia "tail", która powoduje, że po wyświetleniu ostatnich linii pliku polecenie to nie kończy pracy, lecz oczekuje na dane dołączane do danego pliku i wyświetla te dane. Polecenie to przydatne jest do śledzenia np. logów systemowych.
Dla przykładu:
tail -f /var/log/messages
spowoduje wyświetlenie ostatnich 10 linii pliku oraz wyświetlanie wszystkich linii dołączonych po uruchomieniu polecenia "tail".
Istnieje możliwość sprawdzenia, co jest zawartością danego pliku, bez jej przeglądania. Polecenie "file" wyświetla informację o zawartości.
Usunięcie pliku realizowane jest przez komendę "rm". Najczęściej stosowana składnia:
rm [OPCJE] PLIK(I)
gdzie:
OPCJE - mają wpływ na działanie polecenia "rm"
PLIK(I) - plik lub pliki do usunięcia
Najczęściej stosuje się opcje:
-r - usuwanie zawartości podkatalogów. Opcja ta najczęściej używana jest w połączeniu z -f do usuwania pełnych katalogów,
-f - sprawia, że "rm" w żadnym wypadku nie pyta o potwierdzenie usunięcia pliku.
Aby skopiować plik, należy posłużyć się poleceniem "cp". Podstawowa składnia polecenia:
cp [OPCJE] ŹRÓDŁO CEL
gdzie:
OPCJE - mają wpływ na działanie polecenia,
ŹRÓDŁO - plik lub pliki źródłowe do skopiowania,
CEL - plik wynikowy lub katalog do którego ma być skopiowany plik(i).
Najczęściej stosowane opcje to:
-f - wymusza usunięcie istniejącego celu, bez potwierdzenia ze strony użytkownika,
-l - tworzy linki zamiast kopiować pliki,
-R - kopiuje wraz z podkatalogami,
-s - tworzy linki symboliczne zamiast kopiować pliki,
Do przenoszenia bądź zmiany nazwy pliku służy polecenie "mv". Użycie tego polecenia jest podobne do polecenia "cp". Nie dysponuje ono opcjami "-l", "-R" i "-s".
1. DYSTRYBUCJE SYSTEMU OPERACYJNEGO LINUX
Po koniec lat 80. student Linus Torvalds zaczął pisać swój system operacyjny. W 1991 r. ukazały się pierwsze źródła jądra w Internecie. Do pierwszego systemu Linuxa zostały zaimplementowane polecenia Unixa, możliwość korzystania z konsol oraz zarządzania zadaniami. Oficjalna wersja została zaprezentowana na początku października 1991 r.
Posiadała jedynie bash'a i gcc. Linux rozwijał się jednak bardzo dynamicznie i w 1994 r. ukazała się wersja końcowa Linux 1.0. Warto wspomnieć, ze Linux jest oznaczony licencja GPL (General Public Licence).
Oznacza to, ze jest przede wszystkim darmowy oraz mamy wgląd do kodu źródłowego, który dodatkowo możemy modyfikować i wykorzystywać do własnych celów.
Co to jest dystrybucja?
W gruncie rzeczy Linux to jedynie jądro systemu, które zarządza pamięcią, procesami i urządzeniami. Użytkownik chcąc się dostać do zasobów komputera, komunikuje się z jądrem poprzez programy użytkownika, których jest cale mnóstwo.
Niemożliwością była by instalacja wszystkich, dlatego tez powstały dystrybucje. Dystrybucja jest to zestaw programów, które po instalacji współpracują ze sobą teoretycznie bez żadnych konfliktów.
Red Hat
Jest to najpopularniejsza dystrybucja Linuxa i jednocześnie najbardziej rozbudowana. Instalacja mimo to jest bardzo prosta i właściwie nie wymaga
konfiguracji ze strony użytkownika podczas jej przebiegu. Red Hat jest komercyjny, dostępny na kilku płytach, ale istnieje także wersja czasowa, gdzie są zawarte najważniejsze programy dla trybów tekstowego i graficznego.
Dystrybucja ta korzysta z własnego formatu pakietów RPM.
Zalety:
- łatwość konfiguracji (graficznie)
- automatyczne wykrywanie sprzętu
- domyślna konfiguracja pod katem wygody użytkownika
- często ukazują się nowe wersje
Wady:
- łatwość obsługi pogorszyła stabilność, bezpieczeństwo
- nie na każdym sprzęcie działa graficzny instalator
- niestandardowe uporządkowanie katalogów
- konieczna częsta aktualizacja
Debian GNU/Linux
Dystrybucja ta korzysta z własnego formatu pakietów, który jednak jest podobny do RPM. Jest to niekomercyjna dystrybucja i posiada mnóstwo małych pakietów. Wysoki poziom bezpieczeństwa i stabilności jest osiągnięty poprzez pomysł "zamrażania". Chodzi o to, ze nowa dystrybucje poddaje się testowaniu (nie wiemy wtedy nic o stabilności i bezpieczeństwie). Po kilku miesiącach testów "zamraża się" dystrybucje (nic juz się nie dodaje) i wiadomo, ze jest ona wtedy stabilna i bezpieczna. Takie systemy są odpowiednie np. na serwery. Aktualnie stabilna dystrybucja jest Woody.
Zalety:
- niekomercyjna, zawiera oprogramowanie w pełni zgodne z powszechnie przyjętymi standardami
- podczas instalacji mamy dużą swobodę wyboru opcji
- optymalne ustawienia domyślnej konfiguracji
- łatwo dostępna pomoc
- możliwość instalacji na mało pojemnych dyskach
- każda wersja jest dokładnie testowana i istnieje małe prawdopodobieństwo wystąpienia błędów
- logiczna struktura katalogów
- możliwość automatyzacji uaktualnień
- ogromna ilość juz istniejących pakietów
Wady:
- instalacja w miarę trudna dla początkujących użytkowników
- nowe dystrybucje wychodzą rzadko, ale są za to dokładnie testowane
- czasem trzeba jeszcze raz uruchomić instalator, gdyż może się okazać,
że nie wszystko zostało do końca zainstalowane
Mandrake
Jest to dystrybucja firmy MandrakeSoft oparta na Red Hat. Jest szczególnie polecana początkującym użytkownikom, gdyż ma wiele ułatwień; np. montowanie urządzeń zewnętrznych realizuje się kliknięciem na ikonę. A od razu po instalacji mamy dostępne partycje win95/98. Ciekawa jest opcja instalowania na partycji windowsa, bez konieczności jakiegokolwiek ingerowania w organizacje dysku. Mandrake ostatnio został uznany za najlepsza dystrybucje Linuxa roku 1999.
Zalety:
- prostota instalacji
- łatwość konfiguracji interfejsu graficznego oraz klienta poczty
- automatyczne uaktualnianie systemu
S.u.S.E.
Jest to niemiecka dystrybucja przypominająca Red Hata'a. Istnieje komercyjna wersja, jak i czasowa, która zawiera podobne narzędzia co Red Hat. Instalacja jest prosta i nie powinna sprawiać problemów. Instalator ostrzega przed nieprawidłowa konfiguracja.
Zalety:
- prosty instalator
- możliwość graficznej instalacji
- automatyczne wykrywanie sprzętu
- łatwa instalacja dodatkowych pakietów i aktualizacja
Wady:
- wersja czasowa nie wystarcza do zaawansowanej pracy
- pojawiają się problemy z kopiowaniem pełnych płyt
Slackware
Jest to jedna z najstarszych odmian Linuxa. Uważana jest za bardzo stabilną i bezpieczna, ale jest w miarę trudna w administrowaniu i nie jest przez to polecana początkującym użytkownikom. Kiedyś była bardzo popularna, teraz wypierana jest przez inne. Za jeden z poważniejszych problemów jest stosowanie pakietów .tgz, które nie posiadają informacji o powiązaniach miedzy plikami, wiec podczas odinstalowania programu użytkownik może liczyć jedynie na siebie.
Zalety:
- stabilność i bezpieczeństwo
- możliwość instalacji z dyskietek
- można zainstalować na 20MB wraz z obsługą sieci
- prosta obsługa pakietów
Wady:
- brak zależności pomiędzy pakietami
- mało standardowych pakietów
Caldera Open Linux
Jest to komercyjna wersja stworzona przez firmę Caldera. Są także wersje czasowe, które zawierają bardzo ubogie oprogramowanie. System korzysta z pakietów formatu RPM. Instalacja przebiega różnie w zależności od wersji. W Polsce jest mało popularna.
Corel Linux
Jest to komercyjna wersja Linuxa opracowana przez firmę Corel. Jej podstawą jest Debian GNU/Linux. Mimo to, jest to dystrybucja prosta w instalacji i użytkowaniu. Domyślnym interfejsem jest graficzne środowisko KDE, które zapewnia wysoki komfort pracy. Instalacja także odbywa się w trybie graficznym i może być przeprowadzona bez żadnej ingerencji użytkownika.
Zalety:
- bardzo prosta instalacja
- automatyczne wykrywanie sprzętu
1