background image

Instrukcja do laboratorium 

 

 

Ćwiczenia: System Linux 1 

 
 
 
 
 
 
 
 

 

background image

1. Wstęp 
 

     System  Linux  jest  jednym  z  najbardziej  znanych  i  rozpowszechnionych  systemów 
operacyjnych na świece. Znalazł on zastosowanie w komputerach osobistych, 
superkomputerach, routerach, a nawet telefonach komórkowych. Jest on systemem 
wieloprocesorowym i wielodostępowym. Cechuje go wysoka wydajność, a co bardzo ważne 
jest w pełni darmowy. 
Często pojawiającą się nazwą jest ,,GNU/Linux” zamiast samego „Linux”. Jest ona 
promowana przez Free Software Foundation i Projekt GNU, aby podkreślić duży wkład 
projektu GNU w większości dystrybucji. System ten bywa również nazywany ,,Pingwinem”, 
ze względu na swoje charakterystyczne logo, przedstawiające właśnie pingwina.  
W przypadku systemu Linux trudno mówić o jednym, ściśle określonym systemie 
rozpowszechnianym w identycznej formie, jak ma to miejsce w przypadku systemu Windows. 
Charakteryzując Linuksa mówi się o całej rodzinie systemów, zwanych dystrybucjami. Mają 
wspólne jądro (występujące w danej wersji) oraz obowiązują je te same standardy. 
Standardy, o których mówi się najczęściej w odniesieniu do systemu Linux, są to Linux 
Standard Base (LSB) oraz POSIX.  
Dystrybucja – w odniesieniu do systemu operacyjnego Linux to zestaw programów 
rozpowszechnianych łącznie i dający po zainstalowaniu gotowy do użycia system. Ponieważ 
pobranie i skompilowanie wszystkich programów składających się na system operacyjny 
wymagałoby od użytkownika dużo wiedzy, czasu i wysiłku, dosyć wcześnie (w historii 
systemów Linux) zaczęto tworzyć gotowe zestawy istotnie ułatwiające tę czynność. We 
współczesnych dystrybucjach, programy występują zwykle w postaci pakietów (DEB, RPM, 
tarball). Dystrybucja oferuje system pobierania, instalacji, deinstalacji i uaktualniania 
pojedynczych pakietów (APT, DPKG, RPM), rozwiązujący zależności między pakietami oraz 
często wspólny interfejs konfiguracji pakietów (np. debconf). 
Większość z dostępnych wersji Linuksa jest instalowana na dysku twardym komputera. Coraz 
częściej spotykane są tak zwane LiveCD, uruchamiane z CD-ROM, dyskietki, pamięci USB 
lub sieci. Z obecnie dostępnych dystrybucji Linuksa najstarsze są Slackware, Debian oraz Red 
Hat Enterprise Linux. Stopień rozpowszechnienia poszczególnych dystrybucji jest różny  
w zależności od kraju i języka). 
Istnieje kilka najpopularniejszych dystrybucji systemu Linux, są to: 

• 

Debian GNU/Linux; 

• 

Slackware; 

• 

Mandriva Linux (dawniej Mandrakelinux, Linux Mandrake); 

• 

SUSE Linux; 

• 

Ubuntu. 

Cechy Linuksa: 

• 

Linux jest tworzony w ramach wolnego oprogramowania; 

• 

jest to tani i legalny system operacyjny; 

• 

system charakteryzuje się wysoką stabilnością; 

• 

wbrew powszechnej opinii jest prosty w obsłudze; 

• 

Linux ma efektowne i bardzo elastyczne środowisko graficzne; 

• 

bezpieczeństwo systemu jest na najwyższym poziomie; 

• 

otwarty kod; 

• 

niedostępność oprogramowania przeznaczonego dla Windows; 

• 

brak sterowników do rzadkich oraz nowych urządzeń we/wy; 

• 

opinia systemu trudnego przeznaczonego dla ekspertów; 

• 

duża liczba dystrybucji utrudniająca start początkującym; 

• 

brak edukacji dotyczącej Linuksa w szkołach i na uczelniach. 

background image

2. Konsola 

 
Linux od podstaw pisany był na wzór Uniksa, dlatego też odziedziczył po nim wiele cech 
wspólnych. Jedną z nich jest potęga płynąca z konsoli, a nie jak w przypadku innego znanego 
systemu operacyjnego – graficznego środowiska pracy. 
Pomimo, że każdemu początkującemu wydaje się, że to zbyt trudne nauczyć się tylu poleceń, 
jak się można przekonać po niedługim czasie, konsola bywa niezbędna i znacznie przyśpiesza 
pracę. 
Aby zacząć pracę z konsolą należy poznać najpierw kilka pojęć i symboli charakteryzujących 
tą stronę systemu.  
Kiedy pracuje się z Linuksem, ma się do dyspozycji kilka konsol, które można przełączać i 
wykonywać na nich oddzielną pracę. Domyślnie ich liczba wynosi 7, lecz można ją zmienić 
w każdym momencie. 
Do przełączania konsol służą skróty klawiszowe: 
Alt 

Ctrl 

klawisz F? odpowiadający danemu numerowi – przełączenie z graficznego 

środowiska 
Alt + F? odpowiadający danemu numerowi – przełączenie z konsoli.  
 
Podczas pracy zauważyłeś z pewnością ciąg znaków poprzedzający Twoje polecenia: 
adrian@localhost: Tłumacząc go po kolei oznacza: 
adrian – nazwa Twojego użytkownika, czyli Twój login 
localhos t – nazwa Twojego komputera; pod taką będzie widniał w sieci 
$ - można go określić jako stan użytkownika; symbol $ oznacza zwykłego użytkownika, # - 
roota 
Logując się  będziesz posiadał oczywiście $, chyba, że pracę rozpoczniesz jako super 
użytkownik! 
 
Musisz wiedzieć, że „to", gdzie wpisujesz polecenia zwane jest powłoką. W Linuksie mamy 
do wyboru kilka powłok, np. oprócz standardowego Bash'a na płytkach naszej dystrybucji z 
pewnością znajdziemy takie jak Zsh, czy Kom... 
Bash jest domyślną powłoką w Linuksie i właśnie w oparciu o nią  będziemy wpisywać 
przeróżne polecenia... 
Ciekawym udogodnieniem Basha jest dokańczanie nazw plików i poleceń. Wystarczy, że 
wpiszemy kilka liter i wciśniemy tabulator, a powłoka dokończy za nas oczekiwaną rzecz. 
Jednak gdy w danym katalogu mamy dwie podobnie brzmiące nazwy, np. 'skaner' i 
'skaner_portow', po wpisaniu „skan" i wciśnięciu tabulatora z brzęczyka naszego komputera 
usłyszymy „piknięcie". Bash informuje nas, że znalazł dwie podobne nazw i aby dokończyć 
polecenie bądź nazwę pliku należy podać jeszcze dodatkowe informacje. Aby wyświetlić 
wszystkie możliwe „dokończenia" odnośnie podanego przez nas ciągu znaków, naciskamy 
dwa razy tabulator... 
 
 
 
 
 
 
 
 
 

 

background image

3. Polecenia 

 
Mówiąc „polecenie" mamy na myśli pewien rozkaz, pewną instrukcję. Mówiąc „polecenia" w 
przypadku Linuksa mamy na myśli odpowiedni program. Linux to nie „sławny" Dos. Tu 
wszystko jest od siebie oddzielone, tzn. w każdej chwili możemy nawet usunąć program 
odpowiadający na przenoszenie plików!. Trudno jest jednak użyć tu pojęcia „program", co 
może wprowadzać w błąd. Tak więc, nadal posługiwać będziemy się terminem „polecenie", 
musisz jednak pamiętać - Linux to nie polecenia! 
 
Sposób wywołania aplikacji zależy od jej usytuowania - globalnego, czy lokalnego. Wpisując 
w linii poleceń (synonim konsoli): 
imoteph@debian:mc 
Linux przeszuka katalogi z plikami uruchomieniowymi globalnymi, czyli /bin, /sbin, /usr/bin, 
/usr/sbin. Jeśli tam znajduje się wskazany przez nas plik, jak nie trudno się domyśleć - 
zostanie on uruchomiony. 
Jak jednak uruchomić plik lokalny, np. z naszego katalogu? Wystarczy nazwę programu 
poprzedzić znakiem kropi i slesha - „./": 
imoteph@debian:./"nazwa pliku" 
Zauważ,  że plik znajduje się w cudzysłowu. Należy tak podawać wszystkie nazwy 
zawierające spacje. Innym na to sposobem jest wstawienie przed spacja znaku ukośnika - „\”: 
./nazwa\ pliku 

 

Składnia poleceń  

Ogólna postać poleceń jest następująca:  
polecenie [ opcje ] [ argumenty ]  
Opcje poleceń to zazwyczaj pojedyncze litery poprzedzone znakiem „-". Opcje można 
podawać pojedynczo lub grupowo używając jednego znaku minus. na przykład wydanie 
poleceń:  
ls -la  
ls -l -a  
przyniesie ten sam efekt.  
Czasami opcje mają postać pełnych słów, wtedy poprzedzone są podwójnym znakiem minus 
„--”  
Argumenty poleceń to zwykle wartości liczbowe lub nazwy pewnych obiektów, 
przekazywane da poleceń. Są to najczęściej nazwy plików zwykłych, katalogów i urządzeń.  
Polecenia można wydawać w jednym wierszu, należy je w tym celu odseparować od siebie 
średnikiem. Wynik działania polecenia można wysłać do pliku. używamy do tego znaku >.  
Na przykład  
ls -la  /etc > ./lista_z_etc  
spowoduje wypisanie do pliku zawartości katalogu /etc do pliku lista_z_etc. Jeśli plik nie 
istnieje zostanie on utworzony. Jeśli istnieje jego zawartość zostanie nadpisana. Aby dopisać 
wynik działania polecenia do końca pliku należałoby wykonać następujące polecenie:  

ls -la /etc >> ./lista_z_etc 

Informacje na temat użycia danego programu znajdziesz bezpośrednio w podręczniku 
systemowym 'man'. Wystarczy wpisać 'man Is', a na ekranie pojawi się opis, składnia i 
informacje na temat tego programu. Oczywiście mamy możliwość wyświetlenia 
„streszczenia" opcji po dodaniu argumentu '--help' lub (niekoniecznie występujący w każdym 
programie) '-h'. Niekiedy wystarczy wpisać samą nazwę programu, a program sam wyświetli 
sposób użycia i ewentualnie, jak możemy uzyskać informacje o nim! 

background image

Wielką zaletą systemowego Basha jest łączenie poszczególnych poleceń. Jest to bardzo 
pożyteczne, gdy np. chcemy wyświetlić zawartość dużego katalogu - na /usr/bin.  
Nazwy plików nie zmieściły by się na ekranie, więc nie ujrzelibyśmy ich. Tu z pomocą idzie 
na chociażby wyżej wymieniony 'less': 
imoteph@debian:~$ ls /usr/bin 

less 

Pionowa kreska „łączy" dane polecenia, dzięki czemu możemy w tym przypadku przewijać 
listę plików! 
Aby ujrzeć wszystkie globalne programy, wystarczy, że wciśniemy dwa razy tabulator. Bash 
tylko spyta czy je wyświetlić. Poda oczywiście ile tych plików będzie, dzięki czemu łatwo 
możemy sprawdzić ile ich mamy w systemie! 

Pomoc man  

System pomocy kontekstowej "man" (z angielskiego manual - podręcznik). Obsługa systemu 
pomocy jest łatwa i jednolita. By uzyskać pomoc dotyczącą konkretnego polecenia należy 
wydać komendę:  
man komenda  
np.: man pwd, man ls  
Man jest źródłem wielu cennych informacji. Korzystanie z man'a jest najłatwiejszym 
sposobem na uzyskanie informacji dotyczących opcji wywołania poszczególnych poleceń. 
Strony w podręczniku składają się z kilku sekcji.  
Mogą to być np:  
NAME - nazwa polecenia i krótki opis działania,  
SYNOPSIS - składnia polecenia, dostępne opcje,  
DESCRIPTION - szeroki opis polecenia,  
OPTIONS - omówienie opcji,  
AUTHOR - informacja o autorze,  
ENVIRONMENT - zmienne środowiskowe mające wpływ na wykonanie polecenia,  
SEE ALSO - informacja o powiązanych tematycznie stronach podręcznika,  
BUGS - zauważone błędy,  
REPORTING BUGS - informacja o sposobie raportowania błędów,  
TIPS - praktyczne wskazówki,  
COPYRIGHT - informacja o prawach autorskich,  
HISTORY - krótka historia,  
FILES - lista plików konfiguracyjnych. 
 

Polecenia ls, pwd, whoami, cd, echo, more, cd, cp ,mv, rm, touch, cat, vi 

 
Polecenie  ls  służy do wyświetlania zawartości katalogów. Uruchamia ono program 
wypisujące listę wszystkich nazw plików i katalogów katalogu roboczego.  
Przykładowe użycie:  
ls – wyświetla zawartość katalogu  
ls –l – wyświetl zawartość katalogu wraz z prawami dostępu  
Więcej opcji i dokładniejszy opis otrzymasz po wpisaniu polecenia ‘man ls’.  
Polecenie pwd służy do wypisania nazwy katalogu, w którym aktualnie się znajdujemy.  
Polecenie whoami (ang. Kto ja jestem) – wypisuje login użytkownika.  
Polecenie cd służy do poruszania się po drzewie katalogowym.  
mkdir – tworzenie katalogu  
Przykładowe użycie:  
cd nazwa_katalogu  

background image

cd .. – przejście o katalog niżej  
Polecenie echo – działa jak echo. Wypisuje wszystko, co poda się po poleceniu echo.  
np.: ‘echo Linux to jest to’, wypisze na ekranie napis ‘Linux to jest to’  
Polecenie more wyświetla zawartość pliku. Użycie: more nazwa_pliku. 
cp plik1 plik2 – kopiuje pliki  
mv plik1 plik2 – przenosi / zmienia nazwy plików  
rm nazwa_pliku – usuwa pliki  
ln plik nazwa_skrotu – tworzy dowiązanie do podanego pliku/katalogu  
rmdir nazwa_katalogu – usuwa katalogi  
touch nazwa_pliku – tworzy plik o podanej nazwie/zmienia czas modyfikacji pliku  
cat plik – wyświetla zawartość pliku  
vi – uruchamia podstawowy edytor tekstu 
shutdown  - zamykanie  systemu, parametry [minuty] [informacja dla zalogowanych 
użytkowników] 
logout – służy do wylogowania się 
who – sprawdzamy kto jest aktualnie zalogowany 
write – wysyłanie komunikatów, write [użyykownik] [wiadomość] 
wall – wysyłanie  komunikatów, wysłanie do wszystkich użytkowników wiadomości z pliku, 
wall [plik tekstowy]

 

su – szybka zmiana loginu

 

 
 
Prawa dostępu do plikó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 
Poleceniem ls -1 możemy wyświetlić szczegółową listę plików i katalogów wraz z ich 
prawami dostępu. Przykładowy wynik działania tego polecenia: 
drwxr-xr-x 5 root admin 4096 Jun 2 14:04 Desktop  
 
Znaczenie pierwszych 10 znaków określa nam prawa dostępu. Pierwsza litera oznacza rodzaj 
pliku, na przykład:  
d - katalog (ang. directory)  
l - dowiązanie symboliczne (ang. link)  
b - urządzenie blokowe (ang. block)  
kolejne 9 znaków oznacza prawa dostępu kolejno dla właściciela (pierwsze 3 znaki), grupy 
(kolejne 3 znaki) oraz innych (ostatnie 3).  
Znaczenie liter  
r - prawo do odczytu (ang. read)  
w - prawo do zapisu (ang. write)  
x - prawo do wykonywania/przeszukiwania (ang. execute)  
W powyższym przykładzie widać,  że plik Desktop jest katalogiem, właściciel ma prawo 
odczytu, zapisu i wykonywania, grupa ma prawo odczytu i wykonywania, inni mają prawo 
odczytu i wykonywania.  
Z dalszych pozycji można odczytać  właściciela pliku (root) oraz grupę (admin), czas 
modyfikacji oraz nazwę pliku. 

background image

prawa dostępu : 

 

 
 
Prawa przypisywane plikom lub katalogom mogą być podawane na dwa sposoby:  

• 

systemem kodów numerycznych : 4 2 1  

• 

systemem kodów znakowych : r w x  

 
Oto kilka przykładów na porównanie tych systemów : 

 

 
Polecenie służące do zmian praw dostępu to chmod .  
Przykłady użycia:  
Wszystkie prawa dla właściciela pliku i prawo do czytania dla grupy  
chmod 740 nazwa_pliku  
chmod u+rwx,g+r nazwa_pliku
 

 
 

4. Ćwiczenia 

 
1. Scharakteryzować jedną z wybranych dystrybucji Linuksa (przedstawić w sprawozdaniu) 
2. Przeczytaj opisy poleceń użytych w ćwiczeniu za pomocą man (jeden opis do 
sprawozdania) 
3. Sprawdź tematy pomocy kontekstowej dla każdego ze słów: directory, file, link używając 
apropos (jeden opis do sprawozdania) 
4. W katalogu domowym utwórz katalog grupa_x, gdzie x to numer grupy (użyte polecenia 
wraz z wyjaśnieniem do sprawozdania) 
5. W katalogu grupa_x utwórz plik student wykorzystując polecenie touch oraz podkatalogi 
kat1 i kat2 (użyte polecenia wraz z wyjaśnieniem do sprawozdania) 
6. Wyświetl zawartość katalogu domowego za pomocą ls -l. Czy widać pliki ukryte (wynik w 
sprawozdaniu, odpowiedzieć) 
7. Jak wyżej, ale użyj ls -la (wynik w sprawozdaniu, odpowiedzieć) 

background image

8. W katalogu domowym utwórz pięć plików o nazwach plik1 plik2 plik3 plik4 plik5 (użyte 
polecenia wraz z wyjaśnieniem do sprawozdania) 
9. Przenieś plik1 plik3 do katalogu grupa_x/kat2 (użyte polecenia wraz z wyjaśnieniem do 
sprawozdania) 
10. Skopiuj pozostałe pliki do katalogu grupa_x/kat1 (użyte polecenia wraz z wyjaśnieniem 
do sprawozdania) 
12. Stwórz w katalogu domowym skrót do dowolnego pliku z katalogu grupa_x/kat1. Stwórz 
dwa różne skróty (symboliczny i trwały) za pomocą poleceń ln -s oraz ln. Wyświetl zawartość 
katalogu, jaka jest różnica pomiędzy tymi skrótami? (użyte polecenia wraz z wyjaśnieniem do 
sprawozdania, dopowiedź) 
12. Wyświetl za pomocą polecenia cat zawartość pliku /etc/issue (użyte polecenia wraz z 
wynikiem do sprawozdania) 
13. Skopiuj plik /etc/issue do katalogu student w katalogu domowym, zmień nazwę pliku na 
powitanie. (użyte polecenia do sprawozdania) 
14. Użyj polecenia rm * w katalogu domowym. Czy usunięte zostały wszystkie pliki i 
katalogi? (odpowiedź do sprawozdania) 
15. Sprawdź czy jesteś w katalogu domowym (pwd)  
16. Przejdź do katalogu /var. Spróbuj utworzyć katalog MOJKATALOG (jaki komunikat 
błędu został wyświetlony i dlaczego? Do sprawozdania).  
17. Idź do twojego domowego katalogu (cd) i utwórz katalog o nazwie MOJKATALOG.  
18. Czy polecenia cd MOJKATALOG i cd mojkatalog dadzą taki sam efekt? (odpowiedz do 
sprawozdania )  
19. Sprawdź za pomocą ls ile plików znajduje się w katalogu /sbin. Jaki efekt i dlaczego? 
(odpowiedz do sprawozdania )  
20. Sprawdź przy pomocy man jaki parametr polecenia rm umożliwia usuwanie katalogów. 
(odpowiedz do sprawozdania )