background image

Uniwersytet w Białymstoku

Wydział Matematyki i Informatyki

Instytut Informatyki

Materiały bazowe do zajęć z przedmiotu:

Systemy operacyjne

Laboratorium nr 01

Temat:

Systemy Operacyjne,

System unix/linux - wiadomości wstępne

mgr Adam Bonda

Białystok 2008

background image

Cel laboratorium: Zapoznanie si

ę

 z podstawowymi definicjami, przyswojenie ogólnej

wiedzy na temat rozwoju systemów operacyjnych, wst

ę

pne zapoznanie si

ę

 z

struktur

ą

 systemu i podstawowe komendy Linux'a.

(1) Wiadomo

ś

ci ogólne:

System komputerowy – zestaw sprz

ę

tu (hardware) i „o

Ŝ

ywiaj

ą

cego” go oprogramowania

(software). Oba te elementy tworz

ą

 zasoby systemu.

Zasoby systemu komputerowego to:

procesor (ang. CPU – Central Processing Unit) – element wykonuj

ą

cy program

pami

ęć

 operacyjna – umieszczane s

ą

 w niej wykonywane programy

program 

dane

urz

ą

dzenia zewn

ę

trzne: drukarki, terminale, pami

ę

ci dyskowe, ta

ś

mowe itp.

Program  –   zbiór   instrukcji   zrozumiałych   dla   komputera   przechowywanych   na
odpowiednim   no

ś

niku   danych   i   przenoszonych   do   pami

ę

ci   operacyjnej   na   czas

wykonywania programu.
Wykonywanie   programu   polega   na   post

ę

powaniu   zgodnie   z   zapisan

ą

  instrukcj

ą

(algorytmem).

Elementem umo

Ŝ

liwiaj

ą

cym prac

ę

 całego systemu komputerowego jest pewien minimalny

zestaw oprogramowania okre

ś

lany powszechnie mianem  systemu operacyjnego  (ang.

operating system – OS).

Do najbardziej znanych rodzin i typów systemów operacyjnych nale

Ŝą

:

Amiga: AmigaOS, AROS Research Operating System (AROS), MorphOS

Apple: Apple DOS, ProDOS, GS/OS, Mac OS, Mac OS X, Mac OS X Server, A/UX,
Lisa OS

Atari: Atari TOS, MultiTOS, FreeMiNT

Be: BeOS, BeIA, NewOS/Haiku, yellowTAB Zeta

DEC/Compaq: AIS, OS-8, RSTS/E, RSX, RT-11, TOPS: TOPS-10, TOPS-20, VMS
(pó

ź

niej przemianowany na OpenVMS)

IBM: OS/2, AIX, OS/400, OS/390, VM/CMS, DOS/VSE, DOS/360, OS/360, MFT,
MVT, PC-DOS, SVS, MVS, TPF, ALCS, z/OS

ICL: EXEC, JEAN, MINIMOP, GEORGE

Microsoft: MS-DOS (PC-DOS, DR-DOS, FreeDOS, DOS, QDOS), Microsoft
Windows: 1.0, 2.0, 3.x, 95/98/98 SE/Me, CE, NT/2000/XP/2003/2008/FLP/Vista

Novell: NetWare, Novell DOS

NeXT: NeXTStep

Unisys: MCP(Master Control Program), OS 2200.

UNIX i jego pochodne: AIX, BSD, FreeBSD, NetBSD, OpenBSD, DragonFly BSD,
DesktopBSD, PC-BSD, Digital UNIX, HP-UX, IRIX, Mac OS X, Minix, OSF/1, SCO
UNIX, Sun Solaris (dawniej SunOS), System V, QNX, Ultrix, Venix, Xenix,
GNU/Linux (system GNU z j

ą

drem Linux), GNU/Hurd (system GNU z j

ą

drem

Hurd),, Linux

systemy   czasu   rzeczywistego   (ang.  realtime   systems):   LynxOS,   OS9,   Phoenix-
RTOS, QNX, Nut/OS, RT-Linux, SenseOS, VxWorks, Suse Linux Enterprise Real
Time, MicroC/OS-II

background image

Zadaniem ka

Ŝ

dego systemu operacyjnego jest:

efektywne wykorzystywanie sprz

ę

tu (procesora, pami

ę

ci itp.)

koordynowanie pracy sprz

ę

tu, programów i u

Ŝ

ytkowników

ułatwienie u

Ŝ

ytkownikom korzystania z komputera

Poprzez   realizacj

ę

  tych   zada

ń

  OS   kontroluje   niemal   wszystkie   czynno

ś

ci   komputera   i

urz

ą

dze

ń

  do

ń

  podł

ą

czonych.   Decyduje   w   jaki   sposób   s

ą

  wykorzystywane   zasoby

komputerowe, a wi

ę

c i co wy

ś

wietlane jest na ekranie monitora.

Ze wzgl

ę

du na wysoki stopie

ń

 komplikacji budowy sprz

ę

tu komputerowego, zazwyczaj nie

zezwala   si

ę

  programom   na   bezpo

ś

redni   dost

ę

p   do   zasobów   sprz

ę

towych,   a   jedynie

poprzez OS. Rozwi

ą

zuje to wiele problemów np. umo

Ŝ

liwia OS zachowanie kontroli nad

prac

ą

  komputera,  zwalnia   z   gruntownej  znajomo

ś

ci   zasad   pracy  komputera   i   urz

ą

dze

ń

peryferyjnych programistów i u

Ŝ

ytkowników.

Budowa OS determinowana jest ich typem i przeznaczeniem. System operacyjny mo

Ŝ

e

stanowi

ć

 jeden program, lub kilka, czy kilkana

ś

cie, z których pewien wyró

Ŝ

niony, b

ą

d

ź

 ich

grupa   nosi   nazw

ę

 j

ą

dra   systemu  (ang.  kernel).   Kernel   uruchamiany   jest   jako   proces

pierwotny i sprawuj

ą

c kontrol

ę

 nad całym systemem komputerowym. OS dostarczane s

ą

 z

pewnym zestawem programów usługowych, które wspomagaj

ą

 działanie j

ą

dra. Składaj

ą

si

ę

  na   nie   zarówno   proste,   odpowiedzialne   za   wykonywanie   pojedynczych   polece

ń

u

Ŝ

ytkownika, jak i bardziej rozbudowane programy o szerszym zastosowaniu (okre

ś

lane

s

ą

 one terminem aplikacji u

Ŝ

ytkowych lub oprogramowania aplikacyjnego)

Do   ko

ń

ca   lat   60-ych   wi

ę

kszo

ść

  z   powstałych   przed   Unix'em   systemów   operacyjnym

dedykowana była okre

ś

lonemu typowi komputerów – wi

ą

zało si

ę

 to z wysokimi nakładami

kosztów i szybkim starzeniem si

ę

 OS, wraz z unowocze

ś

nianiem konstrukcji sprz

ę

towych.

Doprowadziło   to   do   unifikacji   (zmniejszenia   ró

Ŝ

norodno

ś

ci)   konstrukcji   sprz

ę

tu

komputerowego i przystosowania systemów operacyjnych do pracy na całej rodzinie, a nie
(jak do tej pory) na jednym typie komputerów.
Wprowadzono wi

ę

c ujednolicenie koncepcyjne w zakresie danej rodziny komputerów, na

których mo

Ŝ

na było uruchamia

ć

 OS  jak i aplikacje u

Ŝ

ytkowe. Dana rodzina komputerów

charakteryzuje   si

ę

  podobn

ą

  architektur

ą

  (konstrukcj

ą

)   oraz   tym   samym   lub   zbli

Ŝ

onym

typem zastosowanego procesora. Mówimy wi

ę

c o platformie komputerów osobistych klasy

PC, które bazuj

ą

 na procesorach typu x86 firmy Intel, zapocz

ą

tkowanych przez 16-bitowy

procesor 8086, które z kolei wywodził si

ę

 z 8-bitowego układu 8085. Nazwa architektury

wywodzi si

ę

 od nazw pierwszych modeli z tej rodziny, których numery ko

ń

czyły si

ę

 liczb

ą

86.

W zakresie unifikacji konstrukcji sprz

ę

tu najbardziej znacz

ą

c

ą

 rol

ę

 odegrały firmy DEC i

IBM,  natomiast  w   zakresie   OS   Laboratoria   Bella   w   których   opracowana   system   Unix   i
udost

ę

pniono   go   nieodpłatnie   ameryka

ń

skim   uniwersytetom.   Zapocz

ą

tkowało   to   szybki

rozwój Unixa i przystosowanie go do pracy z ró

Ŝ

nymi komputerami. Dalsze modyfikacje i

migracja   systemu   mo

Ŝ

liwa   była   dzi

ę

ki   zastosowaniu   j

ę

zyka   C   w   znacznej   cz

ęś

ci   kodu

(fragmenty assemblera – wewn

ę

trzny j

ę

zyk komputera – realizowały tylko te, najbardziej

zale

Ŝ

ne od sprz

ę

tu cz

ęś

ci kodu).

(2)  Struktura   systemu   plików,   powłoka   systemowa   i   podstawowe

komendy

Po zalogowaniu si

ę

 do systemu, automatycznie uruchamiana jest powłoka systemu (ang.

shell). Najpopularniejsz

ą

 obecnie stosowan

ą

 powłok

ą

 jest bash (Bourne-Again Shell) jej

background image

starczym odpowiednikiem jest sh (Bourne Shell).
To, jaka  powłoka  jest automatycznie  uruchamiana  podczas  logowania   okre

ś

lone   jest w

nast

ę

puj

ą

cej lokalizacji:

/etc/passwd

Aby, móc jednak wy

ś

wietli

ć

 zawarto

ś

ci plików potrzebna jest znajomo

ść

:

zestawu komend umo

Ŝ

liwiaj

ą

cych sprawne poruszanie si

ę

 po systemie plików,

narz

ę

dzi do podgl

ą

du,

wiedzy   o   strukturze   drzewa   katalogów   systemów   Unix'owych,   w   tym   Linux'a
(aktualnie u

Ŝ

ywanej dystrybucji).

Pomoc systemowa

Systemy Unix oferuj

ą

 pomoc systemow

ą

 (

man, apropos, whatis

) w postaci tekstowych

dokumentów   opisuj

ą

cych   działanie,   składni

ę

  wywołania   programów   i   narz

ę

dzi

zainstalowanych   w   systemie.   Dokumentacja   dost

ę

pna   jest   po   wpisaniu   polecenia   man

(ang.  manual)  i podaniu   jako   pierwszego  argumentu   nazwy  programu, usługi,  lub  pliku
(systemowego), dla którego pomoc chcemy uzyska

ć

, np.:

man passwd

Dokumentacja podzielona jest na sekcje, których ilo

ść

 zale

Ŝ

y upodoba

ń

 twórcy. 

Główne cz

ęś

ci opisu to:

NAME: zawiera zwi

ę

zły opis działania polecenia

SYNOPIS: składnia poleceniach
AVAILABILITY: platforma sprz

ę

towa, na której dost

ę

pne jest polecenie

DESCRIPTION: pełny opis wywoływanego polecenia
EXAMPLES: przykłady u

Ŝ

ycia polecenia

FILES: pliki np.: konfiguracyjne
SEE ALSO: powi

ą

zania, polecenia pokrewne

wi

ę

cej na temat samej pomocy mo

Ŝ

na dowiedzie

ć

 si

ę

 wpisuj

ą

c:

man man

Nawigacja stron pomocy kontrolowana jest poleceniem 

more

 przy pomocy nast

ę

puj

ą

cych

skrótów: spacja (kolejna strona), Ctrl+B (poprzednia strona), q – zamkni

ę

cie i opuszczenie

przegl

ą

darki, / - wyszukiwanie tekstu w przód lub ? w tył, n,N – przej

ś

cie do nast

ę

pnego

(n) lub poprzedniego (N) wyst

ą

pienia poszukiwanego wyra

Ŝ

enia

Zadanie 1:
Zapoznaj  si

ę

  z zawartymi powy

Ŝ

ej poleceniami.  Sprawd

ź

 jak  nazywa  si

ę

  przedostatnia

sekcja   dokumentacji   man,   podaj   nazw

ę

  pierwszego   powi

ą

zania   wyst

ę

puj

ą

cego   w   tej

sekcji. Jaka komenda wy

ś

wietla ostatni rozdział tego powi

ą

zania?

Struktura drzewa katalogów

Rodzin

ę

  systemów   Unix'owych   cechuje   hierarchiczna   (drzewiasta)   struktura   plików   i

katalogów przypominaj

ą

ca odwrócone drzewo. Skoro wyst

ę

puje tu jakie

ś

 „drzewo” to musi

by

ć

 i korze

ń

 (ang. root). W rzeczy samej Unix'y posiadaj

ą

 korze

ń

, jest nim katalog główny

(ang.  Root   directory)   oznaczany   symbolem   „/”   (ang.  slash).   U

Ŝ

yte   sformułowania

„hierarchiczna”   nie   jest   do   ko

ń

ca  

ś

cisłe,   poniewa

Ŝ

  wyst

ę

powa

ć

  mog

ą

  tutaj   dowi

ą

zania

danego pliku do ró

Ŝ

nych katalogów, jak i plików do plików.

Na ogół system plików (ang.  file system – fs) głównego katalogu wi

ę

kszo

ś

ci dystrybucji

Linux'owych posiada nast

ę

puj

ą

c

ą

 struktur

ę

:

background image

/
|—/bin
|—/boot
|—/dev
|—/etc
|—/home
|—/lib
|—/mnt
|—/opt
|—/proc
|—/lost+found
|—/root
|—/sbin
|—/tmp
|—/usr
  |—/bin
  |—/lib
  |—/sbin
  |—/tmp
/var

 —

 katalog główny (root dir)

 —

 katalog bazowego zestawu polece

ń

 —

 katalog plików rozruchu systemu 

 —

 katalog plików specjalnych, reprezentuj

ą

cych urz

ą

dzenia

 —

 katalog plików konfiguracyjnych systemu

 —

 katalog kont u

Ŝ

ytkowników (poza root'em)

 —

 katalog bibliotek systemowych i plików nagłówkowych

 —

 punkt mount'owania systemu plików i urz

ą

dze

ń

 —

 katalog instalacji oprogramowania zewn

ę

trznego

 —

 katalog specjalny, informacje systemowe (wirtualny fs)

 —

 pliki odzyskane podczas sprawdzania spójno

ś

ci fs

 —

 katalog domowy administratora

 —

 katalog programów systemowych

 —

 katalog plików tymczasowych

 —

 katalog podkatalogów systemowych

 —

 podkatalog uzupełniaj

ą

cego zestawu polece

ń

 —

 podkatalog bibliotek narz

ę

dziowych

 —

 podkatalog uzupełniaj

ą

cych programów systemowych

 —

 podkatalog plików tymczasowych

 —

 katalog zmieniaj

ą

cych si

ę

 plików systemowych (logi, kolejki)

Unix posiada 3 rodzaje plików:

(a) zwykłe pliki dyskowe (ang. files) s

ą

 to pliki binarnej lub tekstowej.

(b) katalogi (ang. directory) zawieraj

ą

 (lub nie) pliki dowolnego z wymienionych typów.

(c) pliki specjalne (ang. special files) – mog

ą

 dotyczy

ć

:

urz

ą

dze

ń

  zewn

ę

trznych   zainstalowanych   w   komputerze   (dyski,

 

karty muzyczne itp.)

ł

ą

czy   nazwanych  (pliki   FIFO)  słu

Ŝą

cych   do   porozumiewania   si

ę

  procesów

niespokrewnionych.   Ł

ą

cze   musi   zosta

ć

  jawnie   utworzone,   jako   plik   specjalny

poprzez   funkcj

ę

 

mknod()

.   Dalsze   mechanizmy   porozumiewania   si

ę

  s

ą

analogiczne jak w przypadku plików. Usuni

ę

cie ł

ą

cza nast

ę

puje poprzez funkcj

ę

unlink()

Nazwy   rozpoczynaj

ą

ce   si

ę

  uko

ś

nikiem   „

/

”   okre

ś

laj

ą

  pełn

ą

 

ś

cie

Ŝ

k

ę

  (ang.  absolute

pathname) do pliku:

/etc/passwd

okre

ś

la, 

Ŝ

e plik 

passwd

 znajduje si

ę

 w katalog 

etc

, do którego dost

ę

p jest bezpo

ś

rednio z

głównego katalogu. Je

ś

li w linii nie było by pierwszego uko

ś

nika:

etc/passwd

to   o   pliku   passwd   wiedzieliby

ś

my   tylko   tyle,  

Ŝ

e   znajduje   si

ę

  w   katalogu   (ang.   relative

pathname) etc. Gdyby był to jaki

ś

 mniej charakterystyczny katalog i plik to jedyn

ą

 nadziej

ą

na   znalezienie   znajduj

ą

cego   si

ę

  nim   pliku   byłoby   skorzystanie   z   programu

umo

Ŝ

liwiaj

ą

cego wyszukiwanie.

Prócz charakterystycznego symbolu / oznaczaj

ą

cego katalog główny, u

Ŝ

ywa si

ę

 tak

Ŝ

e

innych symboli dla okre

ś

lenia wybranych katalogów:

. - oznacza katalog bie

Ŝą

cy, 

.. - oznacz katalog bezpo

ś

rednio nadrz

ę

dny; 

~ - oznacz katalog domowy u

Ŝ

ytkownika. 

Nazwa   pliku   zwykłego   i   katalogu   mo

Ŝ

e   składa

ć

  si

ę

  z   dowolnego   ci

ą

gu   znaków  ASCII.

background image

Wielkie   i   małe   litery   s

ą

  rozró

Ŝ

nialne.   Ze   wzgl

ę

du   na   specjalne   znaczenie   niektórych

znaków dla  shella, zaleca si

ę

 u

Ŝ

ywanie  w nazwach  tylko  znaków przenaszalnych: liter,

cyfr,   podkre

ś

lenia   i   kropki.   Znaki   o   specjalnym   znaczeniu   dla   powłoki   (zwane

metaznakami) to:

 * ? ; | & \ < > [ ] ` ' ”

u

Ŝ

ycie ich w nazwach plików wi

ąŜ

e si

ę

 z tym, 

Ŝ

e w poleceniach odwołuj

ą

cych si

ę

 do takich

nazwa musz

ą

 by

ć

 „cytowane” z u

Ŝ

yciem: 

znaku backslash 

\

, apostrofów 

lub cudzysłowów 

.

Je

ś

li   nazwa   pliku   zaczyna   si

ę

  od   znaku   kropki,   to   dla   pewnej   grupy   polece

ń

  plik   jest

traktowany jako ukryty.

Poruszanie si

ę

 po systemie plików

pwd

 (ang. print working directory)

cd arg

 (ang. change directory)

mkdir arg

 (ang. make directory)

rmdir arg

 (ang. remove directory)

mv arg1 arg2

 (ang. move)

ls

 (ang. list)

– wy

ś

wietla nazw

ę

 aktualnego katalogu roboczego

– zmienia katalog na podany w argumencie (o ile
istnieje)
– tworzy katalog podany w argumencie (o ile nie
istnieje)
– usuwa katalog podany w argumencie (o ile istnieje)
– przenosi, b

ą

d

ź

 zmienia nazw

ę

, jako pierwszy

 argument podaje si

ę

 przenoszony pliku/katalog, jako

drugi miejsce lub docelow

ą

 nazw

ę

– listuje standardow

ą

 zawarto

ść

 bie

Ŝą

cego katalogu

Przykłady:

login@nazwa:~$ pwd
/home/login
login@nazwa:~$ cd ..
login@nazwa:/home$ pwd
/home
login@nazwa:/home$ mkdir ./login/test01
login@nazwa:/home$ cd ~/test01
login@nazwa:~/test01$ pwd
/home/login/test01
login@nazwa:~/test01$ cd /
login@nazwa:/$ pwd
/
login@nazwa:/$ mv ~/test01 ~/test02

login@nazwa:/$ mkdir ~/test02/x1
login@nazwa:/$ mv ~/test02/x1 ~/x1

login@nazwa:/$ cd /home/login/test02
login@nazwa:~test02$ pwd
/home/login/test02
login@nazwa:~test02$ rmdir ../test02 ~/x1
login@nazwa:~$ cd ..
login@nazwa:~$ cd test02
-bash: cd: test02: No such file or directory

wy

ś

wietla aktualny kat. roboczy

wychodzi do katalogu
nadrz

ę

dnego

tworzy katalog test01 w kat.
domowym przy u

Ŝ

yciu 

ś

cie

Ŝ

ki

bezwzgl

ę

dnej

wychodzi o głównego kat.

zmienia nazw

ę

 kat. test01

znajduj

ą

cego si

ę

 w kat.

domowym na test02
tworzy podkatalog x1, a
nast

ę

pnie przenosi go katalogu

domowego

usuwa zarówno katalog test02,
jak i x1

background image

Zadanie 2:
Przy   u

Ŝ

yciu   pojedynczej   komendy   wyjd

ź

  do   głównego   katalogu.   Wejd

ź

  do   katalogu

domowego   u

Ŝ

ywaj

ą

c  

ś

cie

Ŝ

ki   bezwzgl

ę

dnej.   Stwórz   katalog   o   nazwie   wg   wzoru

dzien'miesi

ą

c`pierwszaliteranazwiska|pierwszeliteraimienia

np.: 

1'10`B|A

wejd

ź

 do stworzonego tego katalogu i wy

ś

wietl nazw

ę

 aktualnego katalogu roboczego, a

nast

ę

pnie wyjd

ź

 do katalogu nadrz

ę

dnego i wy

ś

wietl list

ę

 wszystkich! plików i katalogów.

U

Ŝ

ywaj

ą

c  

ś

cie

Ŝ

ki   bezwzgl

ę

dnej,   jednym   poleceniem   stwórz   w   wewn

ą

trz   ostatnio

powstałego katalogu podkatalog o nazwie 

test

, a nast

ę

pnie usu

ń

 go w ten sam sposób.

Działania na plikach (katalogach)

* zast

ę

puje ci

ą

g dowolnych znaków

? zast

ę

puje dokładnie jeden znak

[lista] – zast

ę

puje dokładnie jeden znak z podanej listy znaków w nawiasie kwadratowym

[abc] – na okre

ś

lonej pozycji nazwy pliku mo

Ŝ

e wyst

ą

pi

ć

 tylko jedna z liter a, b lub c

[a-z] – na okre

ś

lonej pozycji nazwy pliku mog

ą

 wyst

ą

pi

ć

 liter od a do z

[19] – na okre

ś

lonej pozycji nazwy pliku mo

Ŝ

e wyst

ą

pi

ć

 tylko cyfra 1 lub 9

touch arg1

tworzy plik o podanej nazwie, lub zmienia dat

ę

 stworzenia pliku

login@nazwa:~$ touch plik1
login@nazwa:~$ ls
plik1

head arg1

wy

ś

wietla 10 pierwszych linii pliku podanego jako argument

-c, --bytes=[-]ILE

       wypisanie pierwszych ILE bajtów z ka

Ŝ

dego pliku

-n, --lines=[-]ILE

       wypisanie pierwszych ILE linii zamiast 10

z `-' - wypisanie wszystkich oprócz ostatnich ILE bajtów/linii ka

Ŝ

dego pliku

tail arg1

wy

ś

wietla 10 ostatnich linii pliku podanego jako argument

-c, --bytes=N

            wypisanie ostatnich N bajtów

-f, --follow[={name|descriptor}]

wypisywanie nowych danych kiedy plik ro

ś

nie;

-f, --follow  i  --follow=descriptor s

ą

 równowa

Ŝ

ne

-n, --lines=N

            wypisanie ostatnich N linii zamiast ostatnich 10

cat arg1 arg2 ...

wy

ś

wietla zawarto

ść

 pliku(ów) podanego(ych) jako argument(y)

-b

,

numeracja niepustych linii

more arg1 arg2...

wy

ś

wietla zawarto

ść

 pliku(ów) podanego(ych) jako argument(y)

stronami

Po wy

ś

wietleniu ekranu z zawarto

ś

ci

ą

 pliku, program oczekuje instrukcji od u

Ŝ

ytkownika:

h

wy

ś

wietla help

<spacja> to samo co 

f

przewija ekran do dołu

<enter>

przewija lini

ę

 w dół

3b

przewija 3 ekrany do tyłu

q

ko

ń

czy prac

ę

 przegl

ą

darki more

less arg1 arg2...

podobny do 

more

, pozwalaj

ą

cym na poruszanie si

ę

 w tył w pliku

tak samo jak w przód

background image

Zmiana standardowych wyj

ść

 i wej

ść

 (przekierowania)

W czasie wykonywania danego polecenia  strumienie danych wyj

ś

ciowychwej

ś

ciowych i

diagnostycznych mog

ą

 zosta

ć

 skojarzone z innymi wej

ś

ciami, wyj

ś

ciami ni

Ŝ

 domy

ś

lne, dla

okre

ś

lonego polecenia.

Strumie

ń

  danych   wyj

ś

ciowych   przekierowany   jest   do   argumentu   (mo

Ŝ

e   to   by

ć

  plik   lub

urz

ą

dzenie),   natomiast   potencjalne   bł

ę

dy   (strumie

ń

  diagnostyczny)   w   dalszym   ci

ą

gu

kierowane b

ę

d

ą

 na ekran.

login@nazwa:~$ cat plik1 > plik2

Zawarto

ść

 pliku 

plik1

 przekierowana została to stworzonego automatycznie pliku 

plik2

Je

Ŝ

eli 

plik2

 ju

Ŝ

 istniał i posiadał jakie

ś

 informacje to zostały one nadpisane!

login@nazwa:~$ cat plik1 plik2 plik3 > plik4

Strumie

ń

 danych wyj

ś

ciowych przekierowany jest do argumentu i dopisywany jest na jego

ko

ń

cu (w przypadku pliku). Strumie

ń

 diagnostyczny w

ę

druje na ekran terminala.

login@nazwa:~$ cat plik1 >> plik2

Strumie

ń

 danych wej

ś

ciowy przekierowany jest z argumentu (pliku) do polecenia, a bł

ę

dy

kierowane s

ą

 na ekran.

login@nazwa:~$ mail -s „temat” do_kogo@com.pl < zawartosc

Na   okre

ś

lony   adres   pocztowy   z   podanym   tematem,   zostanie   wysłana   wiadomo

ść

znajduj

ą

ca si

ę

 pliku 

zawartosc

.

Strumie

ń

 zarówno danych wyj

ś

ciowych i diagnostyczny przekierowane s

ą

 do argumentu

login@nazwa:~$ cat plik1 >& plik2

Symbol potoku „

|

” stosuje si

ę

 do przetwarzania strumieni danych. Mo

Ŝ

liwe jest tworzenie

ła

ń

cuchów polece

ń

, które wzajemnie przerabiaj

ą

 dane.

login@nazwa:~$ ls -l /etc/* | more

Bez u

Ŝ

ycia przekierowania wyników komendy 

ls

 do 

more

, mo

Ŝ

na by było zobaczy

ć

 tylko

ostatni   ekran   wyniku   listowania   zawarto

ś

ci   katalogu  

/etc/

.   Jeszcze   lepszym

rozwi

ą

zaniem jest zast

ą

pienie komendy 

more

 przez 

less

, dlaczego?

Zadanie 3: W stworzonym poprzednio katalogu utworzy

ć

 plik o nazwie test03. Umie

ś

ci

ć

 w

tym   pliku   list

ę

  wszystkich   plików   ko

ń

cz

ą

cych   si

ę

  na   litery   „g”   i   „h”   z   katalogu   /etc,   a

nast

ę

pnie   dopisa

ć

  do   tego  pliku   list

ę

  wszystkich  urz

ą

dze

ń

  z  katalogu   /dev  w   nazwach

których dwie pierwsze litery to „hd”.
Usun

ąć

 wszystkie pliki i katalogi tworzone podczas tego laboratorium.

Wreszcie mo

Ŝ

na si

ę

 przekona

ć

 jakiej domy

ś

lnej powłoki u

Ŝ

ywamy:

login@nazwa:~$ cat /etc/passwd | less
...
jas:x:1000:1000:jas,,,:/root:/bin/

bash

...

Plik ten ma nast

ę

puj

ą

c

ą

 konstrukcj

ę

:

login_name:hasło:uid:gid:imie_nazwisko:katalog_domowy:powłoka

login_name

nazwa u

Ŝ

ytkownika w systemie

hasło

zakodowane hasło przypisane do login_name, je

ś

li w tym miejscu stoi

background image

x

” oznacza to, 

Ŝ

e hasło znajduje si

ę

 w zaszyfrowanej postaci w pliku 

/etc/shadow

, do którego dost

ę

p maj

ą

 tylko administratorzy.

uid

liczbowy identyfikator u

Ŝ

ytkownika

gid

identyfikator grupy do której u

Ŝ

ytkownik nale

Ŝ

y

imię_nazwisko

dane teleadresowe, u

Ŝ

ywane głównie przez programy pocztowe

katalog_domowy

macierzysty katalog u

Ŝ

ytkownika, tworzony podczas zakładania konta

powłoka

domy

ś

lnie uruchamiana powłoka podczas logowania do systemu (nie

ka

Ŝ

dy u

Ŝ

ytkownik musi mie

ć

 shellowy dost

ę

p do systemu, czasem jest

to tylko poczta, lub ftp i w tym miejscu jest to okre

ś

lone)