Systemy wielodostępne UNIX/Linux
1. Charakterystyka systemu Linux
Linux to wielozadaniowy, wieloużytkowy, 32-bitowy system operacyjny typu UNIX stworzony przez Linusa
Torvaldsa. Pierwsza wersja systemu ujrzała światło dzienne w sierpniu 1991 roku, od tamtej pory system podlega
licznym udoskonaleniom dokonywanym przez ogromną grupę programistów mających dostęp do kodu źródłowego
systemu, który jest rozpowszechniany na zasadach licencji GPL (General Public License). Licencja ta zapewnia powszechną możliwość bezpłatnego użytkowania systemu i brania udziału w jego rozwoju. Jego kod źródłowy jak i
sam system jest, więc bezpłatny i dostępny dla każdego bez żadnych ograniczeń. Natomiast firmy komercyjne zarabiają, tworząc i sprzedając tzw. dystrybucje Linux’a, czyli wersje instalacyjne, zawierające program, kod źródłowy oraz setki dodatkowych programów użytkowych przystosowanych dla tego systemu zarówno
shareware'owych jak i freeware'owych. Cena obejmuje zebranie wszystkich programów w całość, wytłoczenie CD,
oraz wydrukowanie podręcznika użytkownika. Poszczególne wersje dystrybucyjne różnią się jakością dołączonej
dokumentacji, programem instalacyjnym oraz ilością i aktualnością dołączonego oprogramowania (stąd różnica
liczby płyt CD-ROM w poszczególnych dystrybucjach). przy czym coraz częściej można spotkać również darmowe
wersje dużych programów komercyjnych na tą platformę takich jak pakiety biurowe StarOffice, Corel World Perfect
przeglądarkę Internetową i klienta pocztowego N. Communicatora czy programy graficzne np. Gimp. Darmowe
wersje Evaluation można znaleźć na dodatkach CD czasopism komputerowych lub w Internecie Oprócz całkowitej
bezpłatności główną zaletą Linuksa są małe wymagania sprzętowe. Do wykonywania podstawowych zadań
wystarczy mu komputer 386 z 4 MB pamięci RAM. Poza tym Linux funkcjonuje także sprawnie na innych
platformach sprzętowych takich jak: Power-PC, Power-Mac, Atari czy Amiga. Linux stał się już najpopularniejszym
systemem dla serwerów internetowych, używany jest przez miliony osób również jako system operacyjny
stosowany w biurach i domach - Linux dorównuje (a często przewyższa możliwościami komercyjne systemy
UNIX’owe.
Linux podobnie jak większość nowoczesnych systemów operacyjnych ma wygodny i łatwy w użyciu interfejs
graficzny, podobny również do Windowsowych okienek, tak zwany X-Window. Wspomniany X-Window to
specyficzne środowisko graficzne Linuxa, które do złudzenia przypomina Windosowe okienka. Mamy tu do wyboru
kilkanaście menadżerów okien, które w zależności od urozmaiceń swojego interfejsu wymagają odpowiedniej ilości
wolnej pamięci RAM. Najpopularniejsze są 2 interfejsy graficzne KDE i GNOME. Najbardziej pamięciożernym jest
KDE (najnowsza wersja minimum 128MB a najlepiej 256MB RAM'u), ale za to jest to menadżer najłatwiejszy w konfiguracji i dostosowaniu go do indywidualnych upodobań użytkownika.
Linux w dużym stopniu zawdzięcza swoją popularność doskonałej stabilności działania, dzięki czemu znalazł
zastosowanie w narzędziach programistycznych i serwerowych a przez to staje się coraz bardziej popularny.
Przybywa również programów przeznaczonych na tę platformę, dzięki czemu ma szansę konkurować z
Windowsem także na scenie domowych zastosowań.
1
Linux to jądro systemu, jednak abyśmy mogli cieszyć się z efektów pracy, niezbędne będzie oprogramowanie i te
właśnie dostarcza nam dystrybucja. Dodatkowo zawiera ona instalator systemu, dzięki czemu Linux znajdzie się na
naszych komputerach.
Pozycje różnią się przede wszystkim poziomem trudności obsługi i ilością dostępnego oprogramowania
dołączonego bezpośrednio na płytach CD. Różnica może także polegać na domyślnym poziomie zabezpieczeń,
choć pamiętajmy, że to wciąż ten sam system, więc w każdej chwili możemy to zmienić. Reasumując: dystrybucja
to jądro z zestawem oprogramowania wzbogacone o instalator systemu.
Przegląd najbardziej znanych dystrybucji
Mandrake Linux
Dystrybucja jest tworzona przez firmę o tej samej nazwie. Mandrake powstał na podstawie bardzo znanego Red Hata (czytaj niżej). Charakterystyczną cechą dystrybucji jest niebywała prostota jej obsługi. Programiści z Mandrake tworząc ją ogromny nacisk położyli na udogodnienia płynące z prostoty obsługi. W tym celu napisano wiele programów wykonujących wiele czynności za użytkownika. Także pliki konfiguracyjne zostały zmienione tak,
aby domyślne ustawienia systemu były jak najlepsze dla Ciebie. Mandrake możemy pobrać z oficjalnych serwerów
firmy:
ftp.mandrake.com
Informacje
odnośnie
instalacji
znajdziesz
także
na
stronie
Mandrake:
www.mandrakesoft.com Dystrybucja posiada także wersję płatną, do której dołączone są dodatkowe programy
komercyjne.
Red Hat
Red Hat tworzony jest przez amerykańską firmę Red Hat. Dystrybucja ta jest dziś najpopularniejszą odmianą Linuksa. Ceniona przez wielu zdobyła wysokie miejsce na podium rynku systemu. Poziom trudności oferowany
przez system jest średni, dlatego też Red Hat kierowany jest do użytkowników, którzy mieli już styczność z systemem, ale i nowicjusze nie powinni mieć ogromnych problemów z jej opanowaniem. I choć dystrybucja często
wybierana jest na serwery sieciowe, świetnie sprawuje się do użytku domowego. Red Hat, podobnie jak Mandrake,
posiada wersję komercyjną i tak jak w przypadku swojego "kolegi" - zawiera ona dodatkowe oprogramowanie napisane prze firmę.
Adres Red Hata: www.redhat.com i ftp.redhat.com
PLD
PLD to nasza dystrybucja. Tak, tak Polacy także tworzą Linuksa. PLD bazuje na Red Hacie. Rodacy jednak
ogromny nacisk zrobili na bezpieczeństwo i stabilność systemu. Dużo czasu poświęcono także na implementację
protokołu IP w wersji 6 znanej także pod nazwą next generation - następna generacja. Nasza dystrybucja to także
największy Red Hat. PLD cieszy się uznaniem wśród administratorów serwerów. Niektórzy mówią też, że choć
bazuje na Red Hacie, to wyszedł po prostu od niego lepszy! Dystrybucja kierowana jest do zaawansowanych
użytkowników.
O projekcie PLD poczytamy pod www.pld-linux.org
2
SuSE to dzieło naszych sąsiadów - Niemców. Prostota obsługi i wsparcie techniczne czyni go silną pozycją. To, za
co jednak SuSE posiada duże grono zwolenników, to instalator i konfigurator Yast charakteryzujący się łatwością
obsługi oraz funkcjonalnością. Oczywiście po szczegóły możemy sięgnąć do strony oficjalnej, skąd także
pobierzemy SuSE lub kupimy jego rozbudowane wydanie: www.suse.com
Debian
Tym czym Debian różni się znacząco od innych dystrybucji, jest fakt, że nie stoi za nim żadna firma - tworzy go grono programistów z całego świata, w tym także Polacy! Ciesząca może być informacja, że Debian to największa
dystrybucja - posiada prawie 9000 pakietów umieszczonych na 7CD + 1 dodatkowej (sytuacja w wersji stabilnej 3.0). Debian idealnie spisuje się na serwerach, a to za sprawą jego dużej stabilności., będącej wynikiem długotrwałego i szczegółowego sprawdzania każdego pakietu. Kolejnym plusem dystrybucji jest jej dostępność na
wiele platform, dzięki czemu Debiana możemy uruchomić nawet na Amigach! Dodatkowo dystrybucja znakomicie
nadaje się do użytku domowego. I choć przeznaczona jest dla systemowych bywalców, docenią ją nawet osoby raczkujące w Linuksie - 8710 pakietów sprawi, że do codziennej pracy wykorzystamy oprogramowanie z CD, bez
konieczności pobierania pakietów z sieci.
Debian znajduje się pod: www.debian.org
Slackware
Slackware ceniony jest przede wszystkim przez administratorów serwerów i dla tych osób jest kierowany. Firma tworząca dystrybucję położyła naciska na ochronę systemu. Dzięki temu Slackware to potężne narzędzie w rekach
administratorów. Mankamentem wydaje się jednak mała ilość programów dołączonych z CD. Slackware wydawany
jest na jednej płycie, ponadto można pobrać dodatkowy CD (sytuacja z wersji stabilnej 8.1). Wiele osób jednak to
ceni - w końcu Slackware to dystrybucja na serwer, a nie system domowy!
Adres dystrybucji: www.slackware.com
2. Praca wielodostępna
Wielodostępność wywodzi się z czasów, kiedy jeden komputer centralny (mainframe) wykonywał jednocześnie
wiele programów nadzorowanych przez wielu użytkowników. Problem dostępu do sprzętu rozwiązywano
następująco: do komputera łączami szeregowymi podłączona była pewna liczba sprzętowych terminali, które
pozwalały na wyświetlanie tekstu na monitorze i obsługę klawiatury. To wystarczało, gdyż wszelkie przetwarzanie
danych i tak było zadaniem komputera, zaś terminali podłączyć można było i kilkadziesiąt. Potem komputery staniały i zaczęły masowo pojawiać się na wielu biurkach. Jednakże wraz z upowszechnieniem sieci
komputerowych stare idee odżyły. Okazało się, że wciąż wygodnie jest wydzielić w sieci komputer, do którego wszyscy będą mieli jednoczesny dostęp. Po cóż jednak stosować prymitywne terminale sprzętowe, skoro ich rolę
pełnić może program uruchomiony na PC.
Dziś terminal rozumiany jest teraz prawie wyłącznie jako program, który pozwala na łączenie się z innym
komputerem poprzez sieć i zdalną na tym komputerze pracę. Dla odróżnienia konsolą nazywa się "sprzętowy terminal" nieodłącznie związany z konkretnym komputerem, czyli jego monitor i klawiaturę. Siedząc przy konsoli, ma się dostęp do wielu tzw. wirtualnych terminali. Pozwala to na bezproblemowe wykorzystanie wielozadaniowości
3
i wielodostępu bez korzystania z dodatkowego sprzętu. Praca zdalna oznacza, że fizycznie znajdując się przy jednym komputerze, uzyskuje się prawo do uruchamiania programów na innym, zwanym serwerem.
Komputer lokalny sprowadzony zostaje do roli prymitywnego terminala, który wyświetla uzyskane dane na ekranie,
zaś odsyła do serwera informacje o naciśniętych przez użytkownika klawiszach. Praca wielodostępna ma sens
tylko wtedy, gdy użytkownicy mogą uruchamiać i wykonywać swoje programy jednocześnie. Wymaga to
odpowiedniej konstrukcji systemu operacyjnego i jest charakterystyczną cechą wszystkich Uniksów.
Logicznym następstwem wielodostępności jest to, że tych samych programów używać może jednocześnie wiele
osób. Oczywiście na dysku przechowywana jest tylko jedna kopia programu, dostępna dla wszystkich
zainteresowanych. Dodatkową oszczędność pamięci wprowadzają programy, które wykorzystują współdzielone
biblioteki systemowe. Oznacza to na przykład, że dwa programy działające jednocześnie zajmują mniej pamięci, niż by to wynikało z zsumowania zajętości dla każdego programu z osobna. To właśnie wielodostępność wymusza
taką a nie inną konstrukcję systemu operacyjnego. Pojedynczy użytkownik, jednoznacznie identyfikowany nazwą i
hasłem, może wykorzystywać lub modyfikować jedynie ściśle określone zasoby. Zadaniem systemu operacyjnego
jest zapewnienie sprawiedliwego lub określonego priorytetami podziału czasu procesora, miejsca na dysku,
przepustowości sieci itp. Pieczę nad całością sprawuje administrator, którego konto (o nazwie root) pozwala na swobodny dostęp do wszystkich plików, zasobów i mechanizmów systemowych.
3. Wielozadaniowość
Wielozadaniowość (inaczej wieloprocesowość) jest to cecha systemu operacyjnego (a dokładniej jądra, inaczej
kernela) mówiąca czy może on wykonywać "jednocześnie" kilka procesów. Wielozadaniowość otrzymuje się poprzez tzw. scheduler, czyli algorytm kolejkujący i porządkujący procesy, które mają być wykonane. W
rzeczywistości procesor nie jest w stanie wykonywać dwóch operacji naraz, ale dzieli czas swojej pracy na krótkie
odcinki dla każdego procesu, tak, aby nie było to zauważalne dla użytkownika, po czym wykonuje zadane mu zadania (w chwili obecnej prawie każdy system obsługuje wielozadaniowość).
Możliwość wielozadaniowości nie oznacza wcale, że na komputerze można uruchomić nieskończoną ilość
procesów. Im więcej procesów jest uruchomionych, tym zadania wykonywane są wolniej, gdyż wyczerpują one
dostępne zasoby w postaci pamięci RAM, dysku twardego i procesora.
Systemami wielozadaniowymi są:
- UNIX
- 32-bitowe systemy z rodziny Microsoft Windows (np. Microsoft Windows 95)
- Mac OS i jego następca Mac OS X
- Linux
Nie są:
- DOS (może być więcej niż jeden proces, ale tylko jeden będzie wykonywany)
4
4. Zarządzanie pamięcią
Plik Stronicowania (wymiany, swap) – plik lub partycja ukryty na dysku twardym, używany przez system do przechowywania części plików programów i danych, które są zbyt duże i nie mogą być umieszczone w całości w
pamięci. Plik stronicowania i pamięć fizyczna (pamięć RAM) tworzą pamięć wirtualną. System przenosi dane z pliku stronicowania do pamięci zgodnie z potrzebami oraz z pamięci do pliku stronicowania, aby zwolnić miejsce dla nowych danych.
Swapping – w sytuacji, gdy w systemie zaczyna brakować pamięci głównej, np. dla utworzenia nowego lub dla powiększenia rozmiarów już istniejącego procesu, zachodzi potrzeba zwolnienia części pamięci. W takim wypadku
jądro próbuje znaleźć w pamięci stronę zawierającą chwilowo niepotrzebne dane, po czym usuwa ją z pamięci, w
razie potrzeby tworząc jej kopię w pamięci pomocniczej dla przyszłego wykorzystania (jest to nazywane wymianą,
wymiataniem, lub swappingiem).
Pamięć logiczna (wirtualna) jest to pamięć na użytek procesów generowana przez jądro systemu. Pamięć ta może być wielkości nawet do 3 GB, mimo że teoretycznie powinna być ograniczona przez pamięć operacyjną komputera.
Dzieje się tak, dlatego, że proces nie musi być w całości umieszczony w pamięci operacyjnej, aby być
wykonywany. Część pamięci, która została mu przydzielona może być przechowywana na dysku, a dopiero w razie
odwołania do niej wczytana do pamięci operacyjnej. Proces jednak nie wie czy pamięć, do której się odwołuje jest
na dysku twardym, dyskietce czy w pamięci operacyjnej komputera, gdyż to wymianę stron między pamięcią a urządzeniem zewnętrznym organizuje jądro. Z punktu widzenia procesu posiada on do dyspozycji bardzo dużą,
jednorodną i szybką pamięć logiczną.
5. Model warstwowy systemu UNIX/Linux
Tworzenie systemu polega na podzieleniu go na moduły, które są połączone w warstwy. Każda warstwa spełnia
funkcje, które zależą tylko od warstwy znajdującej się pod spodem. Podział na moduły zmniejsza stopień
wzajemnych zależności między różnymi składowymi systemu, pozwala uniknąć niepożądanych powiązań.
5
W modelu warstwowym system podzielony jest na 4 warstwy: sprzęt, jądro, biblioteki + powłoka + programy,
użytkownicy.
JĄDRO
- zawiera m.in. program szeregujący oraz sterowniki urządzeń
- zarządza pamięcią operacyjną
- w nowszych systemach sterowniki rzadziej występujących urządzeń dostępne są w postaci zewnętrznych
modułów (tzw. modułów ładowalnych), które można wybiórczo załadować do jądra dzięki temu jego rozmiary są
mniejsze
- jadro ma bezpośredni dostęp do wszystkich zasobów komputera
BIBLIOTEKI
- zawierają zestawy podprogramów (zwykle napisanych w języku C), wykonujących różne, często stosowane,
operacje (mogą to być np. zestawy funkcji matematycznych, procedury, umożliwiające obsługę monitora czy też operacje na dysku)
- biblioteki współdzielone umożliwiają wielu programom korzystanie ze znajdujących się w nich procedur, co wydatnie oszczędza pamięć
- inną zaletą bibliotek współdzielonych jest możliwość wymiany starszej wersji biblioteki na nowszą, bez
konieczności rekonsolidacji korzystających z niej programów (których może być bardzo dużo)
POWŁOKA
- nazwa pochodzi stąd, że warstwa ta oddziela wewnętrzna część systemu operacyjnego od użytkownika
- powłoka zawiera interpreter poleceń, który umożliwia komunikację z użytkownikiem (jest to odpowiednik
programu command.com z DOS'a)
- interpreter poleceń uruchamia polecenia systemu operacyjnego oraz programy użytkowe
PROGRAMY
- procesy uruchamiane przez użytkownika
- zarządzane przez jądro
- moga być przerwane w dowolnym momencie, np. komendą kill
- każdy ma przydzielony odpowiedni obszar pamięci i priorytet, jeśli proces użytkownika próbuje dostać się do cudzego obszaru pamięci, zostaje przerwany, a system wyświetla komunikat: segmentation fault.
- bieżąca zawartość pamięci procesu może zastać zapisana na dysku w pliku o nazwie core (nazwa od słów core
dump, czyli zrzut pamięci). Analiza zawartości tego pliku może pomóc programiście w wykryciu przyczyny
wystąpienia błędu
6
6. System plików
Sposób, w jaki komputer organizuje pliki i katalogi na nośniku danych o swobodnym dostępie (takim jest np. dysk
twardy i dyskietka magnetyczna, ale już nie taśma magnetofonowa, w której dostęp do danych wymaga jej
przewinięcia). System plików określa to, jak informacje są zapisywane i odczytywane; definiuje także wielkość klastrów, możliwe do użycia atrybuty plików oraz schemat poprawnych nazw plików i katalogów - ich długość i dopuszczalne znaki w nazwach. System plików pozwala by współpracujący użytkownicy mogli korzystać z tych
samych plików, ale też chronić pliki przed dostępem do nich nieuprawnionych użytkowników. Istnieje wiele odmian
systemów plików, większość współczesnych ma strukturę hierarchiczną, złożona z katalogów i plików:
Systemem plików zostaje utworzony podczas formatowania partycji,
Dwa najczęściej spotykane systemy plików w Linux’ie to ext2, oraz jego nowsza wersja ext3 (posiadająca
transakcyjny zapis oparty na dzienniku).
Drzewo katalogowe UNIX
Katalogi systemu UNIX/Linux są zorganizowane hierarchicznie. System ten, w odróżnieniu od systemu MS-DOS,
nie tworzy osobnej hierarchii dla każdej partycji, tworzy tylko jeden system plików dla wszystkich partycji.
Katalogiem, który znajduje się u samego szczytu tej struktury (tzw. drzewa katalogowego) jest katalog root (korzeń), oznaczony jako „/” (forward slash).
Przykładowe drzewo katalogowe systemu Linux
7
• /
Zawartość głównego systemu plików jest niewielka, pozwala na bootowanie i naprawę systemu.
o
bin/
Zawiera komendy użyteczne zarówno dla zwykłego użytkownika, jak i dla administratora. Jest tu
wyłącznie ich niezbędny zestaw.
o
boot/
Zawiera wszystko, co jest potrzebne programowi bootującemu, za wyjątkiem konfiguracji i
instalatora map.
o
dev/
Ten katalog zawiera pliki urządzeń.
o
etc/
Zawiera pliki konfiguracyjne specyficzne dla maszyny.
X11/
Konfiguracja systemu X Window.
o
home/
Zawiera katalogi domowe użytkowników. Wewnętrzny układ dobiera administrator.
o
lib/
Zawiera te biblioteki współdzielone, które są niezbędne do zbootowania systemu oraz
uruchamiania komend z głównego systemu plików, zawiera również moduły jądra.
modules/
Dynamicznie ładowalne moduły jądra.
o
mnt/
Służy do tymczasowego montowania systemów plików przez administratora.
o
opt/
Zarezerwowane do instalacji dodatkowych aplikacji. Aplikacje powinny być instalowane w
osobnych podkatalogach w /opt/.
o
proc/
Informacje o pracy jądra. Zawartość tego katalogu nie znajduje się na dysku, lecz jest generowana
dynamicznie przez jądro.
o
root/
Katalog domowy użytkownika root.
o
sbin/
Zawiera programy używane do administracji systemem i inne komendy użyteczne dla roota.
Zawiera jedynie zestaw niezbędny do bootowania i naprawy systemu.
o
tmp/
Katalog ten służy do zapisu plików tymczasowych. Zawartość tego katalogu może być kasowana
przy restarcie systemu. Każdy użytkownik ma prawo zapisu.
o
usr/
Katalog ten jest drugą główną sekcją systemu plików. Zawiera dane tylko do odczytu, które mogą
być współdzielone między maszynami.
o
var/
8
Zawiera zmienne dane. Są to m.in. kolejki, logi, pliki danych oraz pliki tymczasowe.
7. Urządzenia
Linux otrzymuje dane z, wysyła je do oraz przechowuje je w urządzeniach ( devices). Urządzenie zazwyczaj odpowiada jednostce sprzętowej, takiej jak na przykład klawiatura czy port szeregowy. Jednakże urządzenie nie zawsze posiada odpowiednik sprzętowy; jądro systemu ( kernel) tworzy kilka pseudourządzeń, które nie istnieją fizycznie, ale za to można uzyskać do ich dostęp jakby rzeczywiście istniały. Co więcej, jednostka sprzętowa może
odpowiadać kilku urządzeniom, na przykład Linux definiuje każdą partycję dysku twardego jako osobne
urządzenie. Dyski i urządzenia wejścia//wyjścia odwzorowywane jako pliki w katalogu /dev.
Lista wybranych plików z katalogu /dev:
/dev/console konsola systemu
/dev/mouse mysz szeregowa
/dev/hda
pierwszy dysk IDE
/dev/hda1
pierwsza partycja pierwszego dysku
/dev/hda2
druga partycja pierwszego dysku
/dev/hdb
drugi dysk IDE
/dev/hdb1
pierwsza partycja drugiego dysku IDE
/dev/fd0
pierwsza dyskietka
/dev/lp0
pierwszy port drukarki
/dev/null
urządzenie puste (do testów)
/dev/ttyN
wirtualny terminal (lokalny)
/dev/ptyN
pseudoterminal do logowania przez sieć
8.
Interpretery poleceń
Interpreter poleceń zwane inaczej powłoką (shell) pośredniczy pomiędzy użytkownikiem a jądrem systemu.
Powłoka systemów Unix pełni podobną funkcję jak plik command.com w systemie MS-DOS. Jądro systemu
zawiera wszelkie podprogramy, potrzebne do przeprowadzania operacji wejścia / wyjścia i zarządzania plikami.
Powłoka pozwala korzystać z tych podprogramów za pomocą wiersza poleceń.
9
- Uruchamia się automatycznie po załogowaniu wraz z rozpoczęciem sesji,
- Każdy uruchomiony program posiada swój proces, który można kontrolować
- Programy mogą być lub interakcyjne - komunikują się poprzez konsolę lub pracują w tle.
- Interpreter umożliwia korzystanie z systemu plików oraz urządzeń (drukarki, modemy)
- Istnieje wiele odmian interpreterów poleceń, a każdy użytkownik systemu może korzystać z innego:
Najczęściej używane powłoki:
- Bourne Shell (sh); pierwszy interpreter poleceń Unix'a, dziś już przestarzały
- Korn Shell (ksh); rozszerzenie shella Bourne'a, głownie Unix.
- C Shell (csh); shell oparty o składnię języka C, wygodny w pracy interaktywnej
- Enhanced C Shell (tcsh); bardziej rozbudowana wersja csh.
- Bourne Again Shell (bash); domyślna powłoka systemów linuksowych.
9. Praca w tle
Ponieważ Unix jest wielozadaniowym systemem operacyjnym każdy użytkownik może mieć wiele jednocześnie
uruchomionych komend. Używając powłoki, użytkownicy mogą uruchamiać programy na pierwszym planie
(interakcja z terminalem) lub w tle (pracują, ale nie ma interakcji z terminalem). Gdy zadanie wykonuje się w tle użytkownik może kontynuować pracę wykonując inne zadania w linii komend. Aby uruchomić program niektórych
tle należy po komendzie dopisać znak &.
10. Przegląd podstawowych poleceń
man
- manual, pomoc systemowa np.: man polecenie (-k słowo szukane; -a wyświetla wszystko)
--help - podane jako opcja, krótka pomoc
pwd
- pokazuje bieżący katalog
ls
- wyświetla zawartość katalogu (-a - wszystkie, -l - lista)
cd
- zmiana katalogu
mkdir - tworzy katalog
rmdir - usuwa katalog (musi być pusty)
cp
- kopiowanie
mv
- przeniesienie lub zmiana nazwy
rm
- usuwanie (-r - wszystko wraz z podkatalogami)
echo - wyświetla tekst
cat
- wyświetla zawartość pliku
touch - zmienia czas pliku, tworzy plik
ln -s
– dowiązanie symboliczne
more - filtr do przeglądania tekstu strona po stronie
less
- jw., bardziej rozbudowane, pozwala się cofać
chmod - prawa dostępu do pliku
10
chown - zmiana właściciela i grupy pliku
chgrp - zmiana grupy
find
- szukanie plików (find /skąd -name szukany_plik)
file
- określa typ pliku
df
- wolne miejsce na dysku
free
- stan pamięci RAM oraz partycji SWAP
du
- zajmowane miejsce
grep
- przeszukuje pliki wg. wzorca i wyświetla (np.: grep słowo_szukane plik)
tar
- archiwizator (rozpakowanie: tar -xzvf plik.tar.gz)
gzip
- kompresor (rozpakowanie: gzip -d plik.gz)
11