background image

 

 

Wykład 12

System operacyjny 

Linux

Drzewo katalogów.

Podstawowe komendy

background image

 

 

Różnice między 

dystrybucjami

Nie  dotyczą  one  omawianych  dziś 

podstawowych  komend.  Widoczne  są 

natomiast 

położeniu 

plików 

systemowych, 

stosowanych 

narzędziach 

admini-stracyjnych, 

przede  wszystkim  w  zawartości  pakie-

tów  programów  dołączanych  dodatkowo 

do „rdze-nia” systemu.

background image

 

 

Drzewo katalogów systemu 

Linux

Katalog główny oznaczany jest znakiem / 

(„slash”)  na  początku  ścieżki  dostępu. 

Komendy

a) 

ls /home

b) 

ls home

wyświetlą:  a)  zawartość  katalogu 

home

 

umieszczone-go w katalogu głównym, b) 

zawartość katalogu 

home

 istniejącego w 

aktualnym katalogu roboczym

background image

 

 

Drzewo katalogów systemu 

Linux

/

/
mnt/cdro
m/mnt/f
oppy

/usr/bin 
/usr/loc
al

/boot

/bin

/lib

/sbin

/etc

/
home

/var

/tmp

/usr

/mnt

background image

 

 

Drzewo katalogów systemu 

Linux

/boot

  zawiera  pliki  uruchomieniowe 

systemu,  np.  plik  z  jądrem  (

kernelem

systemu

/bin

  i 

/sbin

  zawierają  podstawowe 

komendy dostępne ogólnie (/bin) i tylko 

dla root-a (/sbin)

/lib

  zawiera  biblioteki  -  nie  są  to 

programy,  a  raczej  zbiory  procedur,  z 

których programy korzystają

background image

 

 

Biblioteki w systemie 

Linux

Biblioteki  zawierają  procedury  często 

używane  przez  programy.  Nazwy  mają 

format 

lib*.a

 albo 

lib*.so

Ponieważ  „urzędowym”  językiem  Linuxa 

jest  C,  najważniejsza  biblioteka  to 

libc

 

(oraz  związana  z  nią 

libm

  zawierająca 

funkcje 

matematyczne). 

Dawniej 

używano  wersji 

libc5

,  dziś  obowiązuje 

libc6

 zwana też 

glibc2

background image

 

 

Biblioteki w systemie 

Linux

Biblioteki  dzielimy  na 

statyczne

  i 

dynamiczne

  (mają  one  odpowiednio 

rozszerzenia 

*.a

 i 

*.so

)

Procedury  z 

bibliotek  statycznych

  są 

włączane 

na 

stałe

 

do 

programu. 

Program jest więc większy.

Procedury  z 

bibliotek  dynamicznych

 

pozostają  w  nich  i  są  wywoływane  „w 

razie  potrzeby”.  Program  jest  mniejszy, 

ale mogą wystąpić konfikty wersji.

background image

 

 

Drzewo katalogów systemu 

Linux

/usr

 

zawiera 

pliki 

programów 

użytkowych, 

dodatko-we 

komendy,dokumentację itp. Dzieli się na 

liczne 

podkatalogi, 

jak 

/usr/bin, 

/usr/sbin, /usr/lib

/etc

  to  katalog,  w  którym  zapisane  są 

dane  konfigu-racji  systemu  (np.  lista 

użytkowników  i  plik  z  hasła-mi  - 

/etc/passwd

), 

skrypty 

uruchamiające 

usługi itp.

background image

 

 

Drzewo katalogów systemu 

Linux

/tmp

  zawiera  pliki  tymczasowe.  Jest 

czyszczony przy uruchamianiu systemu.

/var

  zawiera  m.in.  zapis  pracy  systemu 

(

/var/log/

)

/mnt

 (skrót od 

mount

) to miejsce, gdzie 

zwykle  „podmontowane”  zostają  inne 

urządzenia  fizyczne  (CDROM,  stacja 

dysków) - np. /mount/foppy

background image

 

 

Katalogi i nie tylko

/dev

  zawiera  pseudo-pliki  będące  w 

rzeczywistości odnośnikami do urządzeń 

wejścia/wyjścia,  np. 

/dev/fd0

  (stacja 

dysków A:) albo 

/dev/psaux

 (mysz).

swap

  („obszar  wymiany”)  to  podręczna 

pamięć  dys-kowa  -  jest  używana,  gdy 

brakuje  RAM-u.  Zwykle  zakładana  na 

osobnej  partycji  lub  dysku  zgodnie  z 

zasadą: 

objętość „swap”  2 * ilość RAM

background image

 

 

Procesy

Zadania  (programy)  w  systemie  Linux 

istnieją  jako  tzw. 

procesy

.  Każdy  z  nich 

ma  swój  numer  (

Process  Identity

PID

). 

Listę 

najaktywniejszych 

procesów 

pokazuje  komenda 

top

  (przerywana 

przez 

Ctrl

-

C

).  Sporo  procesów  to  tzw. 

demony

  (ang. 

daemon

)  -  programy 

„uśpione”,  czekające  na  jakiś  sygnał  - 

np. 

„demon” 

klawiatury, 

sieciowy, 

dyskowy. 

Nazwy 

procesów-demonów 

kończą się na „d” np. 

inetd

background image

 

 

Powłoki (shell)

Użytkownik  nie  pracuje  bezpośrednio  z 

systemem,  ale  w  ramach  tzw. 

powłoki

 

(ang. 

shell

).  Wybór  powłoki,  z  jaką 

użytkownik  chce  pracować,  to  zwykle 

kwestia  gustu  i  przyzwyczajeń.  Do 

najczęściej  stoso-wanych  należą: 

bash

csh

 i jej nowszy klon 

tcsh

ksh

. Powłokę 

wywołuje się jak program - np. wpisanie 

komendy 

csh

  przerzuci  nas  do  powłoki 

csh.

background image

 

 

Komendy - sesja

logout

  -  komenda  kończąca  pracę. 

Czasem  zamiast  „logout”  trzeba  użyć 

komendy 

exit

login 

-  komenda  umożliwia  rozpoczęcie 

pracy jako inny użytkownik

passwd

 - umożliwia zmianę hasła

who

  -  pokazuje  listę  pracujących 

użytkowników

whoami

  -  pokazuje  login  bieżącego 

użytkownika

background image

 

 

Komendy - katalogi

ls

  -  komenda  wyświetla  zawartość 

katalogów. 

Ma 

wiele 

opcji 

pomocniczych,  np. 

ls    -a

  wyświetla 

dodat-kowo  pliki  ukryte,  zaś 

ls  -l

 

wyświetla 

opis 

plików 

wersji 

rozszerzonej 

podaje 

atrybuty, 

właściciela,  rozmiar.  Komenda 

ls  -i

 

podaje  numery  identyfika-cyjne  plików  - 

użyteczne  do  rozpoznania,  czy  mamy  do 

czynienia z plikiem, czy skrótem.

background image

 

 

Komendy - skróty

ln

  -  komenda  tworzy  skrót-połączenie 

(ang. 

link

) do danego pliku. Na przykład 

komenda

ln  -s  /usr/local/bin/start_quake  ./quake

utworzy  w  bieżącym  katalogu  plik 

„quake” 

będący 

skrótem 

(

linkiem 

symbolicznym

)  do  pliku  o  nazwie 

start_quake  z  katalogu  /usr/local/bin. 

Linki

  służą  do  utworzenia  „kopii”  pliku 

czy programu w pożąda-nym miejscu.

background image

 

 

Komendy - katalogi

pwd

 - komenda podaje bieżący katalog

cd 

katalog 

komenda 

powoduje 

przejście  do  danego  katalogu,  np. 

cd 

praca

 albo 

cd ../dysk2

 albo 

cd /usr

cp  źródło  cel

  -  komenda  kopiuje  plik 

(pliki)  źródłowy  we  wskazane  miejsce, 

np.  cp  plik*.txt  /mnt/foppy  Podobna 

komenda 

mv źródło cel

 przenosi plik.

rm 

plik

 

kasuje 

nieodwracalnie 

wskazany plik

background image

 

 

Komendy - katalogi

mkdir  katalog

  -  komenda  zakłada  nowy 

katalog

rmdir  katalog 

-  komenda  kasuje  dany 

katalog,  jeśli  jest  on  pusty.  Jednak  jeśli 

tak  nie  jest,  komenda  nie  zadziała. 

Trzeba  wtedy  najpierw  opróżnić  dany 

katalog, np. tak:

rm katalog/*

rmdir katalog

background image

 

 

Komendy - czas

date

  -  komenda  podaje  aktualny  czas  i 

datę

time  polecenie 

-  komenda  mierzy  czas 

wykonania danego polecenia, np. 

time ls 

-l /home

Czas w systemie Linux dzieli się na 

user 

time

system time

 i 

wall clock time

: czas 

wykorzystany 

przez 

pro-ces 

użytkownika, czas obsługi procesu przez 

system  oraz  rzeczywisty  czas  od  startu 

do ukończenia proce-su.

background image

 

 

Komendy - przekierowania

Jeżeli 

chcemy, 

by 

dana 

komenda 

zapisała  wyniki  działania  do  pliku, 

korzystamy ze znaku 

>

ls  praca > spis

Jeżeli  komenda  ma  czytać  dane  z  pliku, 

używamy znaku 

<

mój_program 

dane_wejściowe 

wyniki

background image

 

 

Komendy - zadania w tle

Jeżeli chcemy, by dana komenda została 

uruchomiona  w  tle  (jako  samodzielny 

proces), korzy-stamy ze znaku 

&

mój_program 

dane_wejściowe 

wyniki &

Uruchomienie  komendy

  top 

powoduje 

pokazanie  tabelki  aktywnych  procesów. 

Podobnie działa komenda

 ps 

albo też

 ps 

-u nazwa_użytkownika

background image

 

 

Komendy - procesy

Jeżeli 

chcemy 

przerwać 

działanie 

procesu  biegnącego  w  tle,  korzystamy  z 

komendy 

kill

,  ale  wcześniej  (komendą 

top  lub  ps)  musimy  poznać  numer  PID 

danego procesu:

ps -u demo

> 998

sh

> 1004

mój_program < dane > wyniki

> 1014

ps -u demo

kill 1004

background image

 

 

Komendy - pliki

file  plik

  -  podaje  opis  pliku  (czy  jest  to 

program itp.)

touch  plik

  -  tworzy  pusty  plik  albo 

aktualizuje datę pliku już istniejącego

cat  plik,  more  plik,  less  plik

  - 

przeglądają zawartość danego pliku. Nie 

stosować do plików binarnych!

echo  wyrażenie

  -  wypisuje  podane 

wyrażenie  tekstowe  np. 

echo  „Na 

zdrowie” > pozdrowienia

background image

 

 

Komendy - pliki

head -N  plik

 - podaje N pierwszych linii 

danego pliku, np. 

head -10 lista

tail  -N  plik

  -  podaje  N  ostatnich  linii 

danego pliku, np. 

tail -10 lista

tail  -f    plik 

-  śledzi  przyrastanie  danego 

pliku - podaje jego ostatnie linie i czeka, 

czy nie pojawią się następ-ne. Użyteczne 

przy  pracy  z  programami  zapisują-cymi 

dane nieregularnie lub co jakiś czas.

background image

 

 

Komendy - pliki

diff  plik1  plik2

  -  podaje  linie,  którymi 

różnią się dwa pliki tekstowe; dla plików 

binarnych  stwierdza  tylko,  czy  są  one 

identyczne, czy nie.

grep  „wyrażenie”  plik

  -  podaje  linie 

pliku,  w  których  występuje  (albo  w 

wersji 

grep  -n

  nie  występuje)  po-dane 

wyrażenie, np. 

grep 1200 lista

grep „kilka wyrazów” lista

background image

 

 

Komendy - archiwizacja

compress plik

,

 gzip plik

,

 bzip2 plik 

- trzy 

komendy  kompresujące  plik  (podane  w 

kolejności  od  najstar-szej  do  najnowszej 

i  najlepszej).  Produkują  odpo-wiednio 

pliki 

plik.Z

plik.gz

 oraz 

plik.bz2

Do rozpakowania posłużą komendy

uncompress  plik.Z

,

  gzip  -d  plik.gz 

albo

 

gunzip plik.gz

,

 bzip2 -d  plik.bz2

background image

 

 

Komendy - archiwizacja

tar cf archiwum.tar plik1 plik2 plik3... 

tworzy  plik-archiwum  zawierający  w 

sobie pliki (katalogi) plik1...

Do 

rozpakowania 

archiwum 

służy 

komenda

tar xf archiwum.tar

tar xf archiwum.tar -C katalog_docelowy

tar  xf  archiwum.tar  plik1 

-  wypakuje 

tylko plik1

tar  tf  archiwum.tar 

-  testuje i  wyświetla 

spis plików 

background image

 

 

Atrybuty plików

Atrybuty  plików  widoczne  są  po  użyciu 

komendy 

ls -l

Najważniejsze  to: 

d

  (katalog), 

r

  (prawo 

do  odczytu), 

w

  (prawo  do  zapisu  i 

skasowania), 

x

  (prawo  do  uruchomienia 

pliku  lub  wejścia  do  katalogu), 

l

  (link 

symboliczny)

ls  -l

> drwxr-xr-x demo

user katalog

-rwxr--r--

demo

user

plik_z_programem

background image

 

 

Komendy - atrybuty plików

chmod  atrybuty  plik

  -  zmienia  atrybuty 

danego pliku

chmod  -w+x  programik

  -  zabrania 

zapisu  (i  kasowa-nia)  pliku  programik

ale pozwala go wykonywać

chown 

właściciel 

plik

 

zmienia 

właściciela  danego  pliku,  np. 

chown 

demo:users programik

Uwaga:  przy  tej  operacji  zwykle  trzeba 

być root-em!

background image

 

 

Komendy - administracja, 

sieć

su

 - umożliwia przejście na konto root-a 

(oczywiście  gdy  znamy  hasło),  lub  w 

formie 

su  nazwa

  -  przejście  na  konto 

użytkownika 

nazwa

ftp  adres.sieciowy

  -  połączenie  z  danym 

komputerem  w  celu  przesyłania  plików, 

np. 

ftp sunsite.icm.edu.pl.

telnet  adres.sieciowy

  -  zalogowanie  się 

na  komputerze  o  podanym  adresie. 

Niebezpieczny  -  połączenie  nie  jest 

szyfrowane!

background image

 

 

Komendy - sieć

ssh nazwa@adres.sieciowy

 - zalogowanie 

się 

jako 

użytkownik 

nazwa 

na 

komputerze 

podanym 

adre-sie. 

Połączenie 

jest 

szyfrowane. 

Należy 

używać tej komendy zamiast telnet-a.

ping  adres.sieciowy

  -  sprawdzenie,  czy 

komputer  o  podanym  adresie  jest 

aktywny 

(odpowiada 

na 

żąda-nie 

połączenia)

background image

 

 

Komendy - sieć

host  adres.sieciowy

  -  podaje  inną  formę 

danego 

adre-su: 

zamienia 

adres 

„słowny”  na  czterobajtowy  kod  IP  lub 

odwrotnie. Przykład: 

host www.wp.pl

traceroute adres.sieciowy

 - podaje drogę 

pakietu 

się-ciowego 

naszego 

komputera  na  ten  o  podanym  adresie. 

Przydatne w diagnostyce sieci.


Document Outline