background image

Uniwersytet w Białymstoku

Wydział Matematyki i Informatyki

Instytut Informatyki

Materiały bazowe do zajęć z przedmiotu:

Systemy operacyjne

Laboratorium nr 02

Temat:

Poruszanie się po systemie Linux,

podstawowe komendy cd. prawa dostępu.

mgr Adam Bonda

Białystok 2008

background image

Cel laboratorium: Zapoznanie si

ę

 z podstawowymi komendami Linux'a ci

ą

g dalszy.

Prawa dost

ę

pu do plików i katalogów. Dowi

ą

zania symboliczne.

Po załadowania j

ą

dra (ang. kernel) w które w kompilowany jest zestaw niezb

ę

dnych

sterowników zapewniaj

ą

cych inicjalizacj

ę

 systemu (obsługa dysków, systemu plików,

chipsetu płyty głównej itp.), oraz sterowników zewn

ę

trznych (modułów) nie wchodz

ą

cych

w skład j

ą

dra (karty d

ź

wi

ę

kowe karty sieciowe – o ile nie mamy do czynienia z np.

bezdyskow

ą

 stacj

ą

 robocz

ą

), a tak

Ŝ

e po uruchomieniu podstawowych usług systemowych

(od clientów dhcp pobieraj

ą

cych adresy sieciowe, po serwery plików ftp, samba, czy www

– apache i deamon'y jak sshd nasłuchuj

ą

ce na wybranych portach na przychodz

ą

ce

poł

ą

czenia) Linux prosi nas o podanie nazwy u

Ŝ

ytkownika (ang. login) oraz hasła mu

przypisanego (ang. password)

Logowanie do systemu:
login:

 (nazwa u

Ŝ

ytkownika)

password:

 (hasło u

Ŝ

ytkownika)

Warto zauwa

Ŝ

y

ć

Ŝ

e wpisywane hasło nie jest wy

ś

wietlane ani w formie tekstu, ani

gwiazdek. Ma to na celu utrudnienie podpatrzenia długo

ś

ci hasła osobie postronne.

Nieznajomo

ść

 długo

ś

ci hasła znacznie wydłu

Ŝ

a jego złamanie. Program łami

ą

cy musi

sprawdza

ć

 kombinacje znaków dla kolejnych długo

ś

ci haseł, dopóki nie znajdzie

prawidłowego słowa.

Po poprawnym zalogowaniu do systemu, uruchamiana jest okre

ś

lona w 

/etc/passwd

powłoka. 
Zale

Ŝ

nie od dystrybucji, czy te

Ŝ

 fantazji administratora przywita nas tzw. znak zach

ę

ty

(definicja znajduje si

ę

 pod zmienn

ą

 

ś

rodowiskow

ą

 $PS1), który na ogół przybiera

nast

ę

puj

ą

cy wygl

ą

d:

login@nazwa

:aktualny_katalog$ 

Typowa konstrukcja znaku zach

ę

ty (zach

ę

ta, bo zach

ę

ca do wprowadzania komend)

składa si

ę

 z nazwy u

Ŝ

ytkownika, @, nazwy stacji roboczej, :, bie

Ŝą

cego katalogu w którym

znajduje si

ę

 u

Ŝ

ytkownik, oraz symbolu $, b

ą

d

ź

 #.

Zale

Ŝ

nie od tego, czy zalogowany u

Ŝ

ytkownik jest uprzywilejowanym u

Ŝ

ytkownikiem

(administratorem), czy te

Ŝ

 nie, na ko

ń

cu linii pojawia si

ę

 znak # (root), bad

ź

 $ (user).

Komendy:

hostname
domainname
dnsdomainname
nisdomainname
ypdomainname
nodename

pokazuje lub ustawia nazw

ę

 hosta systemu

pokazuje/ustawia nazw

ę

 domeny NIS/YP systemu

pokazuje nazw

ę

 domeny systemu

pokazuje/ustawia nazw

ę

 domeny NIS/YP

pokazuje/ustawia nazw

ę

 domeny NIS/YP

pokazuje/ustawia nazw

ę

 w

ę

zła DECnet systemu

wi

ę

cej informacji 

man hostname 

etc.

date

wy

ś

wietla lub ustawia dat

ę

 i czas systemowy

wi

ę

cej informacji 

man date

passwd

zmienia  hasła kont u

Ŝ

ytkowników i grup

Zwykły u

Ŝ

ytkownik mo

Ŝ

e zmieni

ć

 wył

ą

cznie hasło własnego konta, super u

Ŝ

ytkownik mo

Ŝ

e

zmienia

ć

 hasła dowolnych kont.  Administrator grupy mo

Ŝ

e zmieni

ć

 hasło tej grupy.

background image

passwd

 zmienia  tak

Ŝ

e informacje  o  koncie,  takie  jak  pełna  nazwa  u

Ŝ

ytkownika,  jego

powłoka zgłoszeniowa (logowania) czy daty i interwały dotycz

ą

ce wa

Ŝ

no

ś

ci hasła.

U

Ŝ

ycie opcji: 

-s

 powoduje wywołanie przez 

passwd

 programu 

chsh

 w celu zmiany powłoki u

Ŝ

ytkownika,

-f

 powoduje wywołanie przez 

passwd

 programu 

chfn

 w celu zmiany informacji o

u

Ŝ

ytkowniku. 

Te dwie opcje istniej

ą

 jedynie dla zgodno

ś

ci, gdy

Ŝ

 wymienione programy mog

ą

 by

ć

wywoływane bezpo

ś

rednio.

su

zmiana identyfikatora u

Ŝ

ytkownika lub uzyskanie praw super u

Ŝ

ytkownika

Komenda słu

Ŝ

y  do  stawania  si

ę

  innym  u

Ŝ

ytkownikiem  w  trakcie  własnej  sesji.

Wywołanie  bez  nazwy u

Ŝ

ytkownika, domy

ś

lnie oznacza dla su prób

ę

 stania si

ę

superu

Ŝ

ytkownikiem.  Opcjonalnym argumentem - mo

Ŝ

na posłu

Ŝ

y

ć

 si

ę

 do zasymulowania

rzeczywistego rozpoczynania sesji pracy. Pozwala to na utworzenie 

ś

rodowiska

u

Ŝ

ytkownika. podobnego do tego, jakie wyst

ę

puje przy bezpo

ś

rednim zgłoszeniu

u

Ŝ

ytkownika w systemie.

wi

ę

cej informacji 

man su

exit

zako

ń

czenie bie

Ŝą

cej sesji własnej, lub nabytego komend

ą

 

su

 identyfikatora

finger
who
w

programy do sprawdzania informacji o u

Ŝ

ytkowniku(ach)

wi

ę

cej informacji 

man finger 

etc.

id

zwraca  informacje  o  UID and  GID  – literowym  i numerycznym  identyfikatorze
u

Ŝ

ytkownika i grupy do której jest on przypisany

wi

ę

cej informacji 

man id

users
groups

drukuj nazwy u

Ŝ

ytkowników obecnie zalogowanych na ho

ś

cie

drukuj grupy, do których przypisany jest u

Ŝ

ytkownik

Prawa dost

ę

pu do plików:

ls -l /etc/resolv.conf
-rw-r--r--  1 root root 55 2008-10-07 22:16 /etc/resolv.conf
cd / ; ls -l
drwxr-xr-x  122 root root          8192 2008-10-07 20:17 etc

rozmiar w [B]
grupa
wła

ś

ciciel

liczba podkatalogów (dla d) lub liczba
dowi

ą

za

ć

 (dla -)

uprawnienia innych
uprawnienia grupy
uprawnienia wła

ś

ciciela

katalog (d), plik (-), dowi

ą

zanie (l)

r

 – (ang. read)  prawo odczytu

w

 – (ang. write) prawo zapisu

x

 – (ang. execute) prawo wykonywania

background image

Kody   numeryczne   okre

ś

laj

ą

ce   prawa   dost

ę

pu   generuje   si

ę

  na   podstawie   systemu

dwójkowego, a ko

ń

cowa liczba okre

ś

laj

ą

ca dost

ę

p do pliku jest ósemkow

ą

 reprezentacj

ą

wzorca bitowego nowych praw:

r

w

x

r+w+x

2^2 2^1 2^0

read,write,execute

4

2

1

7

read,write

4

2

0

6

write,execute

0

2

1

3

read,execute

4

0

1

5

brak praw

0

0

0

0

Pierwsza cyfra wybiera SUID (4) i SGID (2) oraz atrybut zachowania obrazu tekstowego
(1). Nast

ę

pna cyfra wybiera prawa dla wła

ś

ciciela:odczytu (4), zapisu (2), wykonania (1);

trzecia cyfra prawa dla grupy posiadaj

ą

cej plik, a czwarta dla innych u

Ŝ

ytkowników, spoza

grupy (analogicznie do cyfry dla wła

ś

ciciela).

d

(

rwx

)(

r-x

)(

r-x

)

  122 root root          8192 2008-10-07 20:17 etc

   7   5   5

chmod

zmienia prawa dost

ę

pu do ka

Ŝ

dego podanego pliku według parametru, który jest

albo   symbolicznym/literowym   przedstawieniem   zmian,   których   dokona

ć

,   albo

ósemkow

ą

 liczb

ą

 reprezentuj

ą

c

ą

 wzorzec bitowy nowych praw

Format trybu symbolicznego to 

[ugoa...][[+-=][rwxXstugo...]...][,...]

.  Mo

Ŝ

na

poda

ć

 wiele operacji symbolicznych, oddzielonych przecinkami.

Kombinacja  liter  

ugoa

  kontroluje, czyje prawa maj

ą

 zosta

ć

 zmienione: wła

ś

ciciela (

u

),

innych u

Ŝ

ytkowników z tej samej grupy (

g

), innych u

Ŝ

ytkowników (

o

), lub wszystkich (

a

).

Je

ś

li 

Ŝ

adnego z tych parametrów nie podano, rezultatem jest u

Ŝ

ycie domy

ś

lne 

a

, lecz bity,

które s

ą

 ustawione w 

umask

 nie s

ą

 zmieniane.

Operator:

+

 powoduje dodanie wybranych praw do istniej

ą

cych,

-

 powoduje ich odj

ę

cie,

=

 powoduje ustawienie dokładnie takich praw, jakie wybrano.

Litery 

rwxXstugo

 wybieraj

ą

 nowe prawa dla u

Ŝ

ytkowników: odczytu (ang. read) (

r

), zapisu

(ang. write) (

w

), wykonania (ang. eXecute) (lub dost

ę

pu do katalogu) (

x

), wykonania tylko

je

ś

li plik jest katalogiem, lub ju

Ŝ

 ma prawa wykonania dla danego u

Ŝ

ytkownika (

X

),

ustawienia ID grupy podczas wywołania (s), zachowania tekstu programu na urz

ą

dzeniu

wymiany (

t

), prawa które posiada wła

ś

ciciel pliku (

u

), prawa innego u

Ŝ

ytkownika z grupy

posiadaj

ą

cej plik (

g

), prawa innych u

Ŝ

ytkowników (

o

).

chmod

  nigdy  nie  zmienia  praw dowi

ą

za

ń

 symbolicznych, gdy

Ŝ

 funkcja systemowa 

chmod

nie potrafi tego dokona

ć

. Nie jest to problemem, poniewa

Ŝ

 prawa dowi

ą

za

ń

 symbolicznych

nigdy nie s

ą

 u

Ŝ

ywane.  Jednak

Ŝ

e, dla ka

Ŝ

dego dowi

ą

zania symbolicznego, wymienionego

w wierszu polece

ń

chmod

 zmienia  prawa  wskazywanego  przez nie pliku.  W

przeciwie

ń

stwie do powy

Ŝ

szego, 

chmod

 ignoruje dowi

ą

zania symboliczne napotkane

podczas rekurencyjnego przechodzenia przez katalogi.

background image

Przykłady:
Przykład nadania pełnego prawa dost

ę

pu dla wła

ś

ciciela, jego grup i innych u

Ŝ

ytkowników

systemu plikowi 

nazwapliku 

znajduj

ą

cego si

ę

 w domowym katalogu wykonuj

ą

cego

komend

ę

 

chmod

:

chmod +777 ~/nazwapliku

Przykłady u

Ŝ

ycia komendy chmod przy u

Ŝ

yciu symboli literowych:

chmod u+x nazwa
chmod g+rwx nazwa
chmod ug-x nazwa
chmod g-w,o+r nazwa
chmod g-wx nazwa

chown

chown   zmienia   wła

ś

ciciela   i/lub   grup

ę

  wła

ś

cicieli   ka

Ŝ

dego   zadanego   pliku,

według   pierwszego   nie   b

ę

d

ą

cego   opcj

ą

  argumentu   lub   według   u

Ŝ

ytkownika   i

grupy  istniej

ą

cego  pliku  odniesienia,  wskazanego  opcj

ą

 

--reference

.  Je

Ŝ

eli

u

Ŝ

yto   składni   opisuj

ą

cej   wprost   nowego   wła

ś

ciciela,   to   okre

ś

la   ona   nowego

wła

ś

ciciela i grup

ę

 w formacie: 

[właściciel][[:|.][grupa]]

W zale

Ŝ

no

ś

ci od postaci zapis 

[właściciel][[:|.][grupa]] 

jest interpretowany w

nast

ę

puj

ą

cy sposób:

właściciel

Je

ś

li podano tylko wła

ś

ciciela (nazw

ę

 u

Ŝ

ytkownika lub jego numeryczny identyfikator), to

ten u

Ŝ

ytkownik staje si

ę

 wła

ś

cicielem  pliku,  a  grupa  pliku pozostaje niezmieniona.

właściciel.grupa
właścicie:grupa

Je

ś

li po wła

ś

cicielu wyst

ę

puje dwukropek i bezpo

ś

rednio po nim, grupa (nazwa lub

numeryczny identyfikator grupy), to zmieniana jest tak

Ŝ

e grupa pliku (na 

grupę

).

właściciel.
właściciel:

Je

ś

li po wła

ś

cicielu wpisano dwukropek, lecz nie podano nazwy grupy, to wła

ś

cicielem

plików staje si

ę

 wskazany u

Ŝ

ytkownik, a grupa  jest  zmieniana  na grup

ę

 główn

ą

(zgłoszeniow

ą

) nowego wła

ś

ciciela. 

.grupa
:grupa

Je

ś

li  podano  dwukropek  lub  kropk

ę

  i grup

ę

, lecz pomini

ę

to nazw

ę

 wła

ś

ciciela,

zmieniana jest tylko grupa plików.  W tym wypadku 

chown

 dokonuje tych samych operacji

co 

chgrp

.

Przykłady:
chown root /home/student/temp1/plik
chown 1000 /home/student/temp1/plik
chwon -R student:100 [kK][aA][tT][aA][lL][oO][gG]_[rR][oO][bB][oO][cC][zZ][yY]

cp [opcja]... źródło... katalog_docelowy

kopiuje pliki i katalogi

Przykłady:
Kopiowanie katalogu o nazwie  

jakis_katalog 

z bie

Ŝą

cej lokalizacji z jego cał

ą

zawarto

ś

cia (pliki, podkatalogi) do katalogu 

/home/user1/temp

cp -R ./jakis_katalog /home/user1/temp

background image

Kopiowanie zawarto

ś

ci pliku  

plik1

 do  

plik2

cp plik1 plik2

rm [opcja]...  plik...

usuwa ka

Ŝ

dy podany plik. Domy

ś

lnie nie usuwa katalogów.

 rm,  podobnie  jak  ka

Ŝ

dy inny program, który u

Ŝ

ywa funkcji getopt do rozbioru swoich

argumentów, pozwala na u

Ŝ

ywanie opcji -- do wskazania, 

Ŝ

e wszystkie nast

ę

pne

argumenty nie s

ą

 opcjami.  Aby skasowa

ć

 plik o nazwie 

-f

 w bie

Ŝą

cym katalogu, mo

Ŝ

na

wpisa

ć

 albo:

rm -- -f

albo

rm ./-f

Opcje:

-d, --directory

Usuwa katalogi za pomoc

ą

 

unlink

 zamiast u

Ŝ

ycia 

rmdir

 i nie wymaga by katalogi były

puste  przed  prób

ą

  skasowania.  Działa  to  tylko  je

ś

li  mamy odpowiednie  uprawnienia

a system obsługuje 

unlink

 w odniesieniu do katalogów. Poniewa

Ŝ

 kasowanie w ten

sposób katalogów powoduje, 

Ŝ

e wszystkie pliki w skasowanym katalogu nie posiadaj

ą

przypisa

ń

, rozs

ą

dnie jest u

Ŝ

y

ć

 

fsck

 na systemie plików po dokonaniu takiej operacji.

-f, --force

Ignoruje nieistniej

ą

ce pliki i nigdy nie pyta u

Ŝ

ytkownika. Ignoruje uprzedni

ą

 opcj

ę

--interactive (-i)

.

-i, --interactive

Dla ka

Ŝ

dego z plików prosi o potwierdzenie usuni

ę

cia.  Je

ś

li odpowied

ź

 nie zaczyna si

ę

 od

y

 lub 

Y

, plik jest pomijany.   Ignoruje  uprzedni

ą

  opcj

ę

 

--force (-f).

-r, -R, --recursive

Usuwanie rekurencyjne. Usuwane s

ą

 tak

Ŝ

e katalogi wraz z cał

ą

 zawarto

ś

ci

ą

.  Tej opcji

nale

Ŝ

y u

Ŝ

ywa

ć

 bardzo ostro

Ŝ

nie.

Tworzenie pliku za pomoc

ą

 komendy 

cat

:

cat > nowyplik1 <enter>
      wprowadzamy <enter>
      dane <enter>
      ctrl+d

dopisanie danych do pliku z u

Ŝ

yciem 

cat

:

cat >> nowyplik2 <enter>
       dopisujemy <enter>
       nowe <enter>
       dane <enter>

ln

tworzy dowi

ą

zania mi

ę

dzy plikami

ln

 działa podobnie do 

cp

 - poza tym i

Ŝ

cp

 tworzy niezale

Ŝ

n

ą

 kopi

ę

 pliku za

ś

 

ln

 jedynie

dowi

ą

zanie.

"Dowi

ą

zanie twarde" (hard link) jest inn

ą

 nazw

ą

 istniej

ą

cego pliku. Dowi

ą

zanie i oryginalna

nazwa s

ą

 w pełni równoprawne. (Technicznie rzecz bior

ą

c, posiadaj

ą

 ten  sam  i-w

ę

zeł,

za

ś

 i-w

ę

zeł zawiera cał

ą

 informacj

ę

 o pliku - faktycznie nie jest bł

ę

dem stwierdzenie, i

Ŝ

 i-

w

ę

zeł *jest* plikiem.)  W ten sposób plik mo

Ŝ

e wyst

ę

powa

ć

 pod wieloma równowa

Ŝ

nymi

nazwami - wskazuj

ą

cymi na te same dane. Usuni

ę

cie jednej z tych nazw przez 

rm

 nie

background image

powoduje jeszcze usuni

ę

cia  pliku.  Jest on usuwany dopiero z chwil

ą

 usuni

ę

cia ostatniej

nazwy.
We  wszystkich istniej

ą

cych implementacjach nie mo

Ŝ

na tworzy

ć

 twardych dowi

ą

za

ń

 do

katalogów, a dowi

ą

zania twarde nie mog

ą

 przekracza

ć

 granic systemów plików.

(Ograniczenia te nie s

ą

 jednak narzucone przez POSIX.)

"Dowi

ą

zania symboliczne" (symbolic link, symlink), z drugiej strony, s

ą

 specjalnym typem

plików (nie obsługiwanym przez wszystkie j

ą

dra; w szczególno

ś

ci  system V release 3 i

starsze nie posiadaj

ą

 dowi

ą

za

ń

 symbolicznych), w którym plik dowi

ą

zania faktycznie

wskazuje na inny plik (przez nazw

ę

). Dla wi

ę

kszo

ś

ci operacji (otwarcie, odczyt, zapis i tak

dalej) otrzymuj

ą

cych jako argument dowi

ą

zanie symboliczne j

ą

dro automatycznie

"odwska

ź

nikowuje"  dowi

ą

zanie  i  działa  na samym celu dowi

ą

zania. Przy niektórych (np.

usuwanie) działa na samym dowi

ą

zaniu, nie za

ś

 na celu przez nie wskazywanym.

Opcje

-d, -F, --directory

Pozwala u

Ŝ

ytkownikowi uprzywilejowanemu (root) na tworzenie dowi

ą

za

ń

 twardych

(hardlinks) do katalogów

-f, --force

Usuwa istniej

ą

ce pliki docelowe.

-i, --interactive

Pyta czy nadpisywa

ć

 istniej

ą

ce pliki docelowe.

-s, --symbolic

Tworzy dowi

ą

zania symboliczne zamiast dowi

ą

za

ń

 twardych.  Ta opcja wypisuje bł

ą

d na

systemach nie obsługuj

ą

cych dowi

ą

za

ń

 symbolicznych.

Przykłady:
tworzy dowi

ą

zanie 

./nazwa

 wskazuj

ą

ce na 

/jakas/nazwa

ln -s /jakas/nazwa

tworzy dowi

ą

zanie 

./mojanazwa

 wskazuj

ą

ce na

 /jakas/nazwa

ln -s /jakas/nazwa mojanazwa

tworzy dowi

ą

zania 

../a

 i 

../b

 wskazuj

ą

ce na

 ./a

 i 

./b

ln -s a b ..

sprawdzenie liczb

ę

 dowi

ą

za

ń

 (przy linkach symbolicznych)

ls -l

podaje numery i-w

ę

złów plików, czyli adresy gdzie znajduj

ą

 si

ę

 szczegółowe informacje o

plikach. Je

ś

li obydwa s

ą

 takie same dotycz

ą

 jednego pliku

ls -i 

Wszelkie operacje modyfikacji dokonujemy na plikach w swoich katalogach domowym.
Domy

ś

lnie prosz

ę

 u

Ŝ

ywa

ć

 konta studenta do wykonywania polece

ń

, a w przypadkach

niezb

ę

dnych korzysta

ć

 z root'a.

Zadane 1. 

(a) znale

źć

 w systemie wszystkich u

Ŝ

ytkowników mog

ą

cych u

Ŝ

ywa

ć

 powłoki 

bash

.

(b) sprawdzi

ć

 ilu u

Ŝ

ytkowników nale

Ŝ

y do grupy administratorów

(c) dla 3 ostatnich stworzy

ć

 katalogi w swoim katalogu domowym

(d) nazwy katalogów powinny by

ć

 identyczne jak login'y tych u

Ŝ

ytkowników

Zadanie 2.

(a) w katalogu domowym, u

Ŝ

ywaj

ą

c jedynie polecenia 

cat

 stworzy

ć

 plik o nazwie

background image

test01 i wprowadzi

ć

 nazwy, tych samych co w zadaniu 1 u

Ŝ

ytkowników, ka

Ŝ

da w

nowej linii

(b) skopiowa

ć

 utworzony plik do pierwszego i drugiego katalogu, a w trzecim stworzy

ć

dowi

ą

zanie symboliczne do kopii pliku pozostaj

ą

cej w katalogu domowym.

Zadanie 3. Nada

ć

 odpowiednie prawa trzem katalogom, aby tylko u

Ŝ

ytkownicy własnej

grupy mogli do nich wchodzi

ć

, ale nie mogli ich modyfikowa

ć

.

Zadanie 4. 

(a) dla pliku w katalogu pierwszym ustali

ć

 nowego wła

ś

ciciela i zmieni

ć

 mu prawa tylko

na odczyt/zapis

(b) dla pliku w drugim katalogu przypisa

ć

 prawa tylko na odczyt dla wszystkich

(c) dla pliku w katalogu domowym utworzy

ć

 pełny zapis. 

(d) sprawdzi

ć

 wszystko zarówno u

Ŝ

ywaj

ą

c warto

ś

ci numerycznych jak i literowych.

Zadanie 5. Jednym poleceniem zapisa

ć

 w nowym pliku za pomoc

ą

 wszystkich znanych

komend informacje o aktualnie zalogowanych u

Ŝ

ytkownikach. Sprawdzi

ć

 z jakimi prawami

dost

ę

pu stworzony został plik

Zadanie 6. 

(a) stworzy

ć

 katalog USERS.

(b) jednym poleceniem umie

ś

ci

ć

 w nim trzy stworzone katalogi i plik, razem z ich

zawarto

ś

ci

ą

.

(c) jednym poleceniem zmieni

ć

 prawa dost

ę

pu dla wszystkich plików znajduj

ą

cych si

ę

wewn

ą

trz USERS na tylko do odczytu dla wszystkich, lecz bez prawa wykonywania

dla innych (others)

Zadanie 7. Jednym poleceniem stworzy

ć

 w katalogu domowym plik zawieraj

ą

cy wszystkie

nazwy pi

ę

cioliterowe w katalogu /dev/, których dwie pierwsze litery to du

Ŝ

e lub małe „t”,

natomiast na ekranie wy

ś

wietli

ć

 tylko 15 pierwszych linii stworzonego pliku