Szybkie przej�cie od DOS-a do Linux-a.
Autor: Guido Gonzato,
[email protected]
v1.0 11 Grudnia 1996
WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkii,,
BB..MMaarruusszzeewwsskkii@@zzssmmeeiiee..ttoorruunn..ppll
v1.31, 26 Lipca 1997
Dokument ten jest dedykowany tym wszystkim (wkr�tce by�ym) u�ytkown�
ikom DOS-a, kt�rzy zdecydowali si� przej�� na Linux-a, system typu
Unix pierwotnie przeznaczony na komputery klasy PC. Dokument ten
zosta� napisany w standardzie ISO-8859-2. Oryginalna wersja znajduje
si� pod adresem ftp.icm.edu.pl w katalogu /pub/Linux/docs/HOWTO.
Nowsza wersja zawiera uaktualnione wskazania na katalog z j�drami na
ftp.icm.edu.pl.
______________________________________________________________________
Table of Contents:
1. Wprowadzenie.
1.1. Czy Linux jest dla ciebie odpowiedni?
1.2. Tak jest. Powiedz mi jeszcze.
1.3. Dla niecierpliwych.
2. Pliki i programy.
2.1. Pliki: poj�cie og�lne.
2.2. Do��czenia symboliczne.
2.3. Atrybuty plik�w w Linux-ie.
2.4. Pliki: Por�wnanie podstawowych polece� DOS-owych z Linux-
owymi.
2.5. Wykonywanie program�w: wielozadaniowo�� i sesje.
2.6. Uruchamianie program�w na komputerach odleg�ych.
3. U�ywanie katalog�w.
3.1. Katalogi: poj�cie og�lne.
3.2. Prawa dost�pu katalog�w.
3.3. Katalogi: Por�wnanie podstawowych polece� DOS-owych z Linux-
owymi.
4. Dyskietki, dyski twarde i takie inne.
4.1. Urz�dzenia.
4.2. Archiwizacja.
5. Konfigurowanie systemu.
5.1. Pliki startowe systemu.
5.2. Pliki startowe program�w.
6. Troszk� programowania.
6.1. Pisanie skrypt�w: takie .BAT-y tylko lepsze.
7. C dla ciebie.
8. Pozosta�y 1%.
8.1. "Odrootowi� si�".
8.2. Tworzenie wirtualnej pami�ci.
8.3. U�ywanie tar-a i gzip-a.
8.4. Instalacja aplikacji.
8.5. Triki, bez kt�rych nie mo�esz si� obej��.
8.6. Po�yteczne programy.
8.7. Pospolite rozszerzenia i programy z nimi zwi�zane.
9. To tyle.
9.1. Prawa autorskie.
9.2. Disclaimer.
9.3. Od t�umacza.
______________________________________________________________________
11.. WWpprroowwaaddzzeenniiee..
11..11.. CCzzyy LLiinnuuxx jjeesstt ddllaa cciieebbiiee ooddppoowwiieeddnnii??
Wi�c chcesz przej�� z DOS-a na Linux-a ? Dobry pomys�, ale ostrzegam:
mo�e ci to wyj�� bokiem. Wed�ug mnie nie ma takiego czego� jak
"najlepszy komputer" czy "najlepszy system operacyjny"; wszystko
zale�y od tego do czego dana konfiguracja ma s�u�y�. Dlatego te� nie
wierz�, �e Linux jest najlepszym wyj�ciem dla ka�dego - nawet je�li
jest on technicznie lepszy od wielu komercyjnych system�w
operacyjnych. Naprawd� nie po�a�ujesz Linux-a je�li to czego szuka�e�,
to software do programowania, Internet, TeX... w og�le techniczny
software, ale je�li w wi�kszo�ci potrzebujesz software'u komercyjnego,
je�li nie czujesz si� na si�ach uczy� setek polece� i wklepywa� je z
klawiatury, to szukaj gdzie indziej.
Linux nie jest (jak na razie) tak �atwy w u�ytkowaniu i konfigurowaniu
jak Windows czy Mac, tak wi�c przygotuj si� do grzebania w plikach
konfiguracyjnych. Pomimo tych przestr�g, powiem ci, �e jestem 100%
przekonany, �e je�li nale�ysz do tej dobrej grupy u�ytkownik�w, to
odnajdziesz w Linux-ie swoj� komputerow� Nirvan�.
Zak�adam, �e
� - Znasz podstawowe polecenia i za�o�enia DOS-a,
� - Linux, ewentualnie z XWindows-ami, jest zainstalowany poprawnie
na twoim komputerze,
� Twoj� pow�ok� (odpowiednik COMMAND.COM) jest bash
� Rozumiesz, �e ten dokument to dopiero niekompletny pocz�tek. Na
temat wi�kszej ilo�ci szczeg��w przeczytaj podr�cznik Matta Welsha
"Linux Installation and Getting Started" i/lub Larry'ego
Greenfielda "Linux User Guide". Mo�na je znale�� pod adresem
ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/docs/LDP/.
To HOWTO zast�puje poprzednie mini-HOWTO o tym samym tytule.
11..22.. TTaakk jjeesstt.. PPoowwiieeddzz mmii jjeesszzcczzee..
Zainstalowa�e� Linux-a na PC-cie. Za�o�y�e� sobie konto, wykonuj�c
instrukcje podczas instalacji (je�li nie, to wpisz adduser _t_e_r_a_z _!_!_!)
i Linux dzia�a. W�a�nie wpisa�e� sw�j login (indentyfikator) i has�o
(password) i patrzysz na ekran my�l�c: "No... i co teraz?"
Teraz - nie rozpaczaj. Jeste� prawie got�w robi� to samo co w DOS-ie i
wiele wi�cej. Je�liby� dzia�a� na DOS-ie a nie na Linux-ie zrobi�by�
jedn� z tych rzeczy:
� 1. wykonywanie program�w i tworzenie, kopiowanie, przegl�danie,
kasowanie i zmienianie nazw plik�w;
� 2. cd, md, rd, i dir;
� 3. formatowanie dyskietek i kopiowanie na nie plik�w;
� 4. grzebanie w AUTOEXEC.BAT albo CONFIG.SYS;
� 5. pisanie w�asnych plik�w .BAT albo program�w;
� 6. no i pozosta�y 1%.
Ucieszysz si� bardzo je�li dowiesz si�, �e to samo mo�na robi� pod
Linux-em w podobny spos�b jak pod DOS-em. Pod DOS-em przci�tny
u�ytkownik u�ywa tylko kilku polece� z ponad 100 dost�pnych; to samo
mo�na powiedzie� o Linux-ie. Je�li przypadkowo nie znasz polece� do
wykonywania tego co jest w li�cie powy�ej, to odpu�� sobie - nie
czytaj. Nie b�d� wyja�nia� co to katalog czy zmienna PATH.
Kilka notek zanim p�jdziemy dalej:
� 1. W przeciwie�stwie do DOS-a Linux ma wbudowane mechanizmy
zabezpieczaj�ce. Kiedy w��czysz PC-ta i odpalisz Linux-a musisz si�
"zalogowa�", to znaczy zrobi� si� widocznym dla systemu. Pliki i
katalogi maj� odpowiednie prawa dost�pu i niekt�re nie s� dost�pne
dla zwyk�ego u�ytkownika. (Zobacz sekcj� ``Prawa dost�pu''). Jest
tak poniewa� Unix to system wielou�ytkownikowy; poza tym zwyk�y
u�ytkownik nie jest w�a�cicielem systemu i nie mo�e nim zarz�dza�
czy sterowa� jego dzia�aniem; tylko u�ytkownik o identyfikatorze
"root" (ang. korze�) ma w�adz� w tym systemie. (Ten facet jest
administratorem systemu. Na swoim PC-cie ty b�dziesz root-em).
Pliki i katalogi maj� odpowiednie prawa dost�pu i niekt�re z nich
nie s� dost�pne dla zwyk�ego u�ytkownika. A DOS pozwoli�by ci
wyczy�ci� ca�y dysk twardy.
� 2. Kiedy ju� sko�czysz pracowa�, NNIIEE WWOOLLNNOO CCII WWYY����CCZZYY�� PPCC--TTAA OODD TTAAKK
PPOO PPRROOSSTTUU Musisz w odpowiedni spos�b "zamkn�� system" (naci�nij
CTRL-ALT-DEL, poczekaj a� system zrobi wszystko co powinien, aby
bezpiecznie wy��czy� komputer i napisze, �e jest w porz�dku i wtedy
mo�esz wy��czy� komputer). Je�li pracujesz pod XWindows to wci�nij
CTRL-ALT-BACKSPACE, albo wybierz wyj�cie z Menu i dalej to samo co
wy�ej. Od t�umacza: Mo�esz te� napisa� shutdown -h now i czeka� a�
pojawi si� napis _S_y_s_t_e_m _h_a_l_t_e_d_.
� 3. Usilnie zach�cam do eksperymentowania i pr�bowania samemu: Na
pewno ci nie zaszkodzi. Pomoc znajdziesz w poleceniach takich jak:
"man <polecenie>" - podr�cznik systemowy (nie zadawaj pyta� bez
przeczytania; wyj�cie z niego to klawisz 'q'), "apropos
<polecenie>" - to wy�wietla wszystkie polecenia zwi�zane z danym
s�owem, "whatis <polecenie>" - podobnie do apropos.
� 4. Wi�kszo�� mocy Unix-�w pochodzi z prostej koncepcji strumieni i
potok�w, bardziej rozwini�tych ni� pod DOS-em. Proste polecenia
mog� by� po��czone w bardziej z�o�ony potok i wykonywa� do��
skomplikowane zadania. (Bardzo du�o ludzi u�ywa tych zalet; tobie
te� radz� si� tego pouczy�. Proste przyk�ady mo�na znale�� w
plikach Makefile przy �ciganiu i instalacji nowych aplikacji)
� 5. Konwencja oznacze�:
a. <...> oznacza co� co musi by� podane, natomiast [...] oznacza
co� co mo�e by� podane, ale nie musi. Np.: tar -tf <plik.tar>
[plik_log] plik.tar musi by� podany, a przekierowanie wyj�cia do
pliku plik_log - nie.
b. od teraz skr�t "PPS" oznacza "Przeczytaj Podr�cznik Systemowy
man, aby uzyska� wi�cej informacji. (Od t�umacza: oto trzy
najcz�ciej u�ywane skr�ty w�r�d "Linux-owc�w": RTFM - Read The
Fascinating (Fucking) Manual (Przeczytaj Fascynuj�cy [albo jak kto
woli Pieprzony] Manual [man]) FAQ - Frequently Asked Questions -
dokukment z Cz�sto Zadawanymi Pytaniami HOWTO - dokument taki jak
ten - Jak To Zrobi�)
Jeste� teraz gotowy, aby uczy� si� Linux-a.
11..33.. DDllaa nniieecciieerrpplliiwwyycchh..
Nie mo�esz si� ju� doczeka� ? No to masz tu skr�t polece� Linux-a:
DOS Linux Uwagi
------------------------------------------------------------------------------
BACKUP tar -Mcvf device dir/ zupe�nie co� innego
CD dirname\ cd dirname/ prawie ta sama sk�adnia
COPY file1 file2 cp file1 file2 ------ " ------
DEL file rm file UWAGA: nie ma UNDELETE
DELTREE dirname rm -R dirname/ ------ " ------
DIR ls nie zupe�nie ta sama
sk�adnia
EDIT file vi file raczej ci si� nie spodoba
emacs file ten jest lepszy
jstar file podobny do EDIT-a
FORMAT fdformat,
mount, umount raczej inna sk�adnia
HELP command man command ta sama filozofia
MD dirname mkdir dirname/ prawie ta sama sk�adnia
MOVE file1 file2 mv file1 file2 ------ " ------
NUL /dev/null ------ " ------
PRINT file lpr file ------ " ------
PRN /dev/lp0,
/dev/lp1 ------ " ------
RD dirname rmdir dirname/ ------ " ------
REN file1 file2 mv file1 file2 nie dotyczy wielu plik�w
RESTORE tar -Mxpvf device inna sk�adnia
TYPE file less file o wiele lepszy
WIN startx dwa r�ne bieguny !!!
22.. PPlliikkii ii pprrooggrraammyy..
22..11.. PPlliikkii:: ppoojj��cciiee oogg��llnnee..
Linux posiada system plik�w - co oznacza "struktura katalog�w i
plik�w" - bardzo podobny do DOS-owego. Pliki posiadaj� nazwy, kt�re
podlegaj� specjalnym zasadom, s� zapisywane w katalogach, niekt�re s�
wykonywalne, a w�r�d tych wi�kszo�� ma r�ne opcje. Mo�esz te� u�ywa�
masek ('*', '?'), przekierowa� strumieni oraz potok�w. Jest tylko
troch� mniejszych r�nic.
� - Pierwsza r�nica: W DOS-ie nazwy plik�w maja posta� 8.3 - czyli 8
znak�w na nazw� i 3 znaki na rozszerzenie. W Linux-ie jest inaczej
(lepiej). Je�li tw�j Linux u�ywa systemu plik�w "ext2" (nie wa�ne w
tej chwili co to znaczy) lub umsdos, to mo�esz u�ywa� d�u�szych
nazwa plik�w. Np. To_jest-bardzo.d�uga.nazwa.pliku. (nazwa mo�e
mie� do 255 znak�w)
(Od t�umacza: W tej chwili standardowo podczas instalacji Linux-a
umieszczany jest na dysku system plik�w "ext2". W rzeczywisto�ci
Linux nie zna takiego czego� jak rozszerzenie; w Linux-ie jest po
prostu nazwa pliku nie wa�ne jakie znaki tam si� znajduj� - a mog�
to by� nawet znaki kontrolne, chocia� nie radz� ich u�ywa�, bo
potem mog� by� problemy z usuni�ciem takiego pliku)
Zauwa�, �e u�y�em tu ma�ych jak i du�ych liter. Ot�...
� - Druga r�nica: Du�e i ma�e litery s� rozr�nianie przez Linux-a.
To znaczy plik i Plik i PliK to trzy r�ne pliki. To samo odnosi
si� do polece�: je�li wykonasz polecenie ls (odpowiednik DOS-owego
DIR) otrzymasz list� plik�w w bie��cym katalogu, ale je�li
napiszesz LS i wci�niesz <<ENTER>> to otrzymasz b��d m�wi�cy, �e
nie ma takiego polecenia.
� - Trzecia r�nica: je�li zaczniesz nazw� pliku od kropki, plik ten
b�dzie plikiem ukrytym. Na przyk�ad: .Jestem.Plikiem.Ukrytym nie
poka�e si� po wydaniu polecenia ls.
� - Czwarta r�nica: Nie ma obowi�zkowych rozszerze� .COM czy .EXE
dla plik�w wykonywalnych (program�w) albo .BAT dla plik�w
wsadowych. Pliki wykonywalne maj� ustawione odpowiednie prawa
dost�pu i s� wy�wietlane: - z gwiazdk� (*) na ko�cu je�li wydasz
polecenie ls -F - na zielono je�li masz kolorowy monitor i wydasz
polecenie ls --color Pod DOS-em pliki z rozszerzeniem .BAK to kopie
zapasowe; Pod Linux-em takie pliki ko�cz� sie na ~
� - Pi�ta r�nica: opcje do program�w DOS-owych podawane s� ze
znakiem / na pocz�tku np. dir /s; natomiast programy Linux-owe za
opcj� rozumiej� ci�g znak�w z my�lnikiem - na pocz�tku, np. ls -R.
Mo�esz teraz skoczy� do sekcji ``T�umaczenie polece� z DOS-a na
Linux-a'', ale na twoim miejscu czyta�bym dalej.
22..22.. DDoo����cczzeenniiaa ssyymmbboolliicczznnee..
Systemy typu Unix maj� taki typ pliku, kt�ry nie istnieje pod DOS-em -
symboliczne do��czenie. Mo�na to uwa�a� za wska�nik na plik lub
katalog i mo�e by� u�ywany zamiast tego pliku czy katalogu, na kt�ry
wskazuje. Co� podobnego do skr�t�w w Win'95. Przyk�adami do��cze�
symbolicznych mog� by�: /usr/X11, kt�ry wskazuje na /usr/X11R6;
/dev/modem, kt�ry wskazuje na /dev/cua0 lub /dev/cua1.
Aby utworzy� symboliczne do��czenie napisz:
ln -s <plik_lub_katalog> <nazwa_do��czenia>
Na przyk�ad:
$ ln -s /usr/doc/g77/DOC g77podrecznik.txt
Teraz mo�esz wykonywa� operacje na g77podrecznik.txt zamiast na
/usr/doc/g77/DOC.
22..33.. AAttrryybbuuttyy pplliikk��ww ww LLiinnuuxx--iiee..
Ka�dy plik i katalog w Linux-ie ma swoje prawa dost�pu, zwane przez
u�ytkownik�w DOS-a atrybutami. Postaram si� przybli�y� to poj�cie i
wyja�ni� co oznacza magiczne 755.
Jak wydasz polecenie ls -l to wy�wietli si� co� na kszta�t:
-rw-r--r-- 1 root root 32251 Feb 15 14:32 DOS2Linux
-rw-r--r-- 1 root root 38338 Feb 20 13:15 DOS2Linux.pl.sgml
-rw-r--r-- 1 root root 18144 Feb 19 18:34 Locales-HOWTO.sgml
-rw-r--r-- 1 root root 1398 Feb 19 18:30 howto.dat
-rw-r--r-- 1 root root 317 Feb 14 14:24 next.gif
-rw-r--r-- 1 root root 37 Feb 19 20:03 plik_log
-rw-r--r-- 1 root root 317 Feb 14 14:24 prev.gif
-rw-r--r-- 1 root root 610 Feb 19 12:01 slowniczek
-rw-r--r-- 1 root root 5655 Feb 16 21:54 slowniczek.uwagi
-rw-r--r-- 1 root root 2601 Feb 18 22:29 tlumaczenie.howto
-rw-r--r-- 1 root root 316 Feb 14 14:24 toc.gif
-rw-r--r-- 1 root root 723 Feb 20 12:40 todo
-rw-r--r-- 1 root root 1307 Feb 19 19:36 zasady
Pierwsza kolumna z lewej to w�a�nie wspomniane prawa dost�pu, 3. i 4.
to w�a�ciciel i grupa do jakiej dany plik nale�y. Og�lnie wygl�da to
tak:
- rwx rwx rwx
r - read (mo�liwo�� czytania) w - write (mo�liwo�� zapisu) x - execute
(mo�liwo�� wykonywania, b�d� dla katalog�w mo�liwo�� przeszukiwania i
ustawienia go jako bie��cy cd) Oczywi�cie w rzeczywosto�ci nie ma tam
spacji, ale je robi� dla czytelno�ci. W miejscu pierwszej kreski mo�e
znajdowa� si� jedna z liter: d, l, b, c - s� to tylko
najpopularniejsze. I tak oznaczaj� one odpowiednio: katalog,
symboliczne do��czenie, urz�dzenie blokowe, urz�dzenie znakowe.
Dalej: od lewej: pierwsza tr�jka liter to prawa dla w�a�ciciela pliku,
druga tr�jka - dla grupy do jakiej nale�y plik, trzecia - dla
pozosta�ych u�ytkownik�w. W pierwszej i drugiej tr�jce mog� si�
pojawi� litery s lub S zamiast x - oznacza to, �eby wykona� plik z
takimi prawami jakie ma w�a�ciciel pliku albo grupa, a nie ten kto go
uruchamia. Na przyk�ad plik /usr/bin/passwd ma ustawione pierwsze x na
s, �eby m�g� dokona� zapisu do pliku /etc/passwd, do kt�rego mo�e
pisa� tylko root, a nie zwyk�y u�ytkownik, kt�ry uruchamia ten
program.
Polecenie chmod pozwala zmienia� te prawa dost�pu - je�li jeste�
w�a�cicielem pliku.
Podstawmy sobie nast�puj�ce warto��i:
- rwx rwx rwx
421 421 421
4 2 1 - te warto�ci s� dla s, S i t
(na temat 't' zobacz "man chmod")
�eby ustawi� jakie� prawa dost�pu nale�y doda� do siebie te liczby,
kt�re stoj� przy prawach, kt�re chcemy ustawi�, ale dla ka�dej tr�jki
osobno. Troch� przyk�ad�w dla lepszego zrozumienia:
- r-x --- --- nazwa_pliku
4 1
To b�dzie 4+0+1, 0+0+0, 0+0+0 czyli 500. chmod 500 nazwa_pliku zmieni
prawa dost�pu na odczyt i wykonywanie dla w�a�ciciela i zabierze
wszystkie prawa dla grupy i innych u�ytkownik�w.
- rwx r-x r-x nazwa_pliku
421 4-1 4-1
To b�dzie 4+2+1, 4+0+1, 4+0+1 czyli 755 - to jest chyba najcz�stsze
ustawienie.
- rws r-x r-x
421 4 1 4 1
4
To b�dzie 4+0+0 - najwa�niejsze s� warto�ci s, S, t chyba, �e ich nie
ma - 4+2+1 4+0+1, 4+0+1 czyli 4755
Teraz �atwiejszy spos�b na zmian� praw dost�pu. Polecenie chmod mo�e
te� przyjmowa� takie parametry:
chmod ugoa+-=rwx <plik>
I tak: u - user (w�a�ciciel pliku), g - group (grupa do jakiej plik
nale�y), o - others (pozosta�a cz�� u�ytkownik�w). + ustawia podane
prawa, a - zabiera. = czyni podane prawa jedynymi prawami jakie
posiada dany plik.
Przyk�ady:
chmod u+x <plik> - nadaje w�a�cicielowi pliku prawo do
wykonywania go.
chmod ug+rx <plik> - nadaje w�a�cicielowi i grupie, do kt�rej
nale�y plik prawa do odczytu i wykonywania
To powinno wyja�ni� wiele spraw zwi�zanych z prawami dost�pu. Wi�cej
szczeg��w znajdziesz w podr�czniku systemowym "man".
22..44.. PPlliikkii:: PPoorr��wwnnaanniiee ppooddssttaawwoowwyycchh ppoolleeccee�� DDOOSS--oowwyycchh zz LLiinnuuxx--oowwyymmii..
DOS Linux
COPY cp
DEL rm
REN mv
TYPE cat
MORE more, less - mo�na te� u�ywa� jako polecenie, nie tylko
jako filtr (ten drugi jest lepszy, ma wi�cej
mo�liwo�ci)
Przekierowywanie strumieni i potoki wygladaj� tak samo.
Maski: '*', '?' oraz [znaki]
[znaki] - oznacza pokolei ka�dy, ale zawsze jeden, z
wymienionych w �rodku znak�w, np:
ls *[abc] - wy�wietl nazwy plik�w ko�cz�cych si� na 'a' lub 'b' lub 'c'
ls *[a-g] - wy�wietli nazwy plik�w ko�cz�cych si� na jedn� z
liter od a do g
nul /dev/null
prn,lst /dev/lp0, lpr
PRZYK�ADY
DOS Linux
C:\GUIDO>copy joe.txt joe.doc $ cp joe.txt joe.doc
C:\GUIDO>copy *.* total $ cat * > total
C:\GUIDO>copy fractals.doc prn $ cat fractals.doc | lpr
C:\GUIDO>del temp $ rm temp
C:\GUIDO>del *.bak $ rm *~
C:\GUIDO>ren paper.txt paper.asc $ mv paper.txt paper.asc
C:\GUIDO>type letter.txt $ more letter.txt
C:\GUIDO>type letter.txt $ less letter.txt
C:\GUIDO>type letter.txt > nul $ cat letter.txt >/dev/null
n/d $ more *.txt *.asc
n/d $ cat section*.txt
n/d - niedost�pne
Uwagi:
1) * jest sprytniejsz� mask� pod Linux-em:
- * oznacza jak�kolwiek nazw� nie zaczynaj�c� si� na .
- *.* oznacza nazw�, kt�ra ma w �rodku kropk�
- p*r oznacza nazw� zaczynaj�ca si� na p a ko�cz�c� na r
- *c* oznacza nazw� zawieraj�c� w �rodku c
2) Podczas u�ywania less mo�esz porusza� si� po pliku
- w prz�d - spacja
- w ty� - b
lub strza�kami
- wszystkie dost�pne funkcje otrzymasz naciskaj�c h
3) W Linux-ie NNIIEE MMAA UUNNDDEELLEETTEE, wi�c pomy�l dwa razy zanim skasujesz.
4) W Linux-ie znaczek > przekierowuje standardowe wyj�cie, ale nie
standardowe wyj�cie b��d�w; aby b��dy tak�e znalaz�y si� w pliku
musisz napisa� np. cat plik >plik_log 2>&1 - ale to dzia�a tylko w
pow�oce bash lub sh. Od t�umacza: aby dowiedzie� si� jak� pow�ok�
u�ywasz napisz echo $shell
5) Nie ma polecenia DOS-owego RENAME; tzn. ren *.xxx *.yyy nie
zadzia�a
6) U�ywaj cp -i oraz mv -i, aby zosta� ostrze�onym, kiedy plik ma
zosta� zmazany.
22..55.. WWyykkoonnyywwaanniiee pprrooggrraamm��ww:: wwiieelloozzaaddaanniioowwoo���� ii sseessjjee..
Aby uruchomi� program podaj jego nazw� i wci�nij <<ENTER>>. Je�li
katalog (sekcja ``Katalogi''), w kt�rym znajduje si� dany program,
jest w zmiennej PATH (sekcja ``Inicjacja systemu''), program si�
uruchomi. Wyj�tek: W przeciwie�stwie do DOS-a, pod Linux-em je�li
program znajduje si� w katalogu bie��cym nie uruchomi si�, o ile
katalog bie��cy nie jest w zmiennej PATH. Rozwi�zanie: wpisz ./<prog>.
Oto jak wygl�da typowy wiersz polece�: $ polecenie -o1 -o2 ... -on
par1 par2 ... parn <wej�cie >wyj�cie gdzie o1,2,...,n to opcje
polecenia, a par1,2,...,n to parametry. Mo�liwe jest uruchomienie
kilku polece� w jednym wierszu polece�: $ polecenie1; polecenie2; ...;
polecenien
To by by�o wszystko na temat uruchamiania program�w, gdyby nie jedna z
najwa�niejszych zalet Unix-�w a tym samym i Linux-a czyli
wielozadaniowo��. S�owo to oznacza, �e systemy operacyjne typu Unix
mog� wykonywa� kilka program�w (od teraz proces�w) na raz. Mo�na
uruchomi� procesy w tle oraz w pierwszym planie. Mo�na tak�e dzia�a�
na kilku sesjach na raz - to tak jakby� pracowa� na kilku komputerach
na raz !
- Na konsoli (czyli na komputerze, na kt�rym jest zainstalowany Linux)
dost�pnych jest standardowo 6-7 wirtualnych ekran�w (zwanych
wirtualnymi konsolami); aby si� pomi�dzy nimi prze��cza� u�yj klawiszy
ALT+F1..6-7, albo ALT+strza�ka
- Aby uruchomi� now� sesj� bez opuszczania bie��cej napisz su -
<identyfikator> Jest to po�yteczne kiedy na przyk�ad jeste� zalogowany
jako zwyk�y u�ytkownik, a chcesz zamontowa� dysk (sekcja
``Dyskietki'') - tylko root mo�e to zrobi�
- Aby zako�czy� sesj� wpisz exit. Je�li s� jakie� zawieszone zadania
(zobacz dalej) zostaniesz ostrze�ony
- Aby odpali� proces w pierwszym planie napisz: $ program [-opcje]
[parametry] [<wej�cie] [>wyj�cie]
- Aby odpali� proces w tle napisz: $ program [-opcje] [parametry]
[<wej�cie] [>wyj�cie] &
- Aby zobaczy� ile jest proces�w napisz: ps Polecenie to poka�e list�
proces�w aktualnie dzia�aj�cych. Ka�dy z nich ma sw�j niepowtarzalny
numer PID (Process IDentifier)
- Aby zako�czy�/zabi� proces napisz $ kill <PID> Mo�esz zabi� proces
je�li np. nie wiesz jak go normalnie zako�czy�. Czasami proces si�
stawia i nie chce da� si� zabi� (no ja te� bym si� stawia� ;) ), ale i
tak jest na niego spos�b: $ kill -9 <PID> W dodatku pow�oka
(odpowiednik COMMAND.COM-u; wi�kszo�� u�ywa bash-a) pozwala na
zatrzymanie lub czasowe zawieszenie procesu, wys�anie procesu w t�o,
powr�t procesu do pierwszego planu. W tym kontek�cie procesy nazywaj�
si� "jobs" (czyli zadania).
- Aby zobaczy� ile jest zada� napisz $ jobs zadania s� identyfikowane
poprzez numer jaki nada im pow�oka a nie poprzez PID
- Aby zatrzyma� proces uruchomiony w pierwszym planie wci�nij CTRL+C
lub CTRL+D - nie zawsze zadzia�a
- Aby zawiesi� proces uruchomiony w pierwszym planie wci�nij CTRL+Z
- Aby wys�a� zawieszony proces w t�o napisz $ bg <nr_zadania>
- Aby przywr�ci� proces do pierwszego planu napisz $ fg <nr_zadania>
- I jeszcze raz, aby zabi� zadanie napisz: $ kill %<nr_zadania>
U�ywaj�c tych polece� mo�esz jednocze�nie formatowa� dysk,
archiwizowa� jakie� pliki, kompresowa� jakie� pliki, kompilowa�
program, albo kilka, rozpakowywa� jakie� archiwum i jeszcze na dodatek
mie� wiersz polece� do swojej dyspozycji HA !! Spr�buj zrobi� to pod
DOS-em albo nawet Windowsami, a zobaczysz r�nic� mi�dzy Unixami a
domowymi systemami operacyjnymi.
22..66.. UUrruucchhaammiiaanniiee pprrooggrraamm��ww nnaa kkoommppuutteerraacchh ooddlleegg��yycchh..
Aby uruchomi� jaki� program na odleg�ym komputerze, kt�rego adres to
daleko.wielki.pl, napisz:
telnet daleko.wielki.pl
Po zalogowaniu si� uruchom swoje ulubione programy. Oczywi�cie nie
musz� m�wi�, �e trzeba mie� konto na odleg�ym komputerze.
Je�li masz X11 mo�esz nawet uruchamia� aplikacje pod XWindows na
tamtym komputerze i wyswietla� je na swoim ekranie. Niech
daleko.wielki.pl b�dzie od�eg�ym komputerem obs�uguj�cym XWindows, a
tutaj.linux.pl twoim komputerem. Aby uruchomi� z tutaj.linux.pl
program pod XWindows tak, aby uruchomi� si� on na daleko.wielki.pl
� uruchom X11, uruchom xterm lub jaki� inny emulator terminala i
napisz:
xhost +wielki.daleko.pl
telnet wielki.daleko.pl
� po zalogowaniu si� napisz:
DISPLAY=tutaj.linux.pl:0.0
<nazwa_programu> &
zamiast DISPLAY... mo�esz napisa� setenv DISPLAY tutaj.linux.pl:0.0.
To zale�y od pow�oki na komputerze odleg�ym.
Et voila! Teraz program b�dzie dzia�a� na komputerze odleg�ym, a
wyniki jego dzia�ania b�d� wy�wietlane na twoim ekranie. Nie pr�buj
tego robi� przez ��cze PPP.
33.. UU��yywwaanniiee kkaattaalloogg��ww..
33..11.. KKaattaallooggii:: ppoojj��cciiee oogg��llnnee..
Poznali�my ju� r�nic� mi�dzy plikami w DOS-ie i Linux-ie. Co do
katalog�w, to w DOS-ie katalogiem g��wnym jest natomiast w Linux-ie
jest to /. Tak samo kolejne podkatalogi oznacza si� aaa/sss/ddd.
Przyk�ady: DOS: PROGRAMSRCESLO.CPP Linux:
/home/guido/papers/geology/mid_eocene.tex
Jak zwykle '..' to katalog nadrz�dny, a '.' to katalog bie��cy.
Pami�taj, �e Linux nie pozwoli ci na wykonywanie polece� cd, rd czy
md, gdzie ci si� podoba. Ka�dy u�ytkownik zaczyna prac� w systemie w
swoim domowym katalogu nadanym mu przez administratora; np. u mnie
jest to: /home/guido.
33..22.. PPrraawwaa ddoosstt��ppuu kkaattaalloogg��ww..
Katalogi tak�e maj� swoje prawa dost�pu. To czego dowiedzia�e� si� z
sekcji ``Prawa dost�pu'' odnosi si� r�wnie� do katalog�w. Atrybut 'x'
oznacza, �e mo�esz dany katalog uczyni� katalogiem bie��cym (cd), w -
mo�esz skasowa� z niego pliki (zale�nie od ich praw dost�pu) albo sam
katalog.
Na przyk�ad, aby zabroni� innym u�ytkownikom dost�pu do swojego
katalogu domowego /home/guido/ napisz:
chmod o-rwx /home/guido
33..33.. KKaattaallooggii:: PPoorr��wwnnaanniiee ppooddssttaawwoowwyycchh ppoolleeccee�� DDOOSS--oowwyycchh zz LLiinnuuxx--
oowwyymmii..
DOS Linux
DIR ls, find, du
CD cd, pwd
MD mkdir
RD rmdir
PRZYK�ADY
C:\GUIDO>dir $ ls
C:\GUIDO>dir file.txt $ ls file.txt
C:\GUIDO>dir *.h *.c $ ls *.h *.c
C:\GUIDO>dir/p $ ls | more
C:\GUIDO>dir \*.tmp /s $ find / -name "*.tmp"
C:\GUIDO>cd $ pwd
n/d - patrz uwaga $ cd
n/d - patrz uwaga $ cd ~
n/d - patrz uwaga $ cd ~/temp
C:\GUIDO>cd \other $ cd /other
C:\GUIDO>cd ..\temp\trash $ cd ../temp/trash
C:\GUIDO>md newprogs $ mkdir newprogs
C:\GUIDO>md \progs\turbo $ mkdir /progs/turbo
C:\GUIDO>rd newprogs $ rmdir newprogs
C:\GUIDO>rd \progs\turbo $ rmdir /progs/turbo
Uwaga 1: je�li chcesz skasowa� katalog rmdir musi on by� pusty; mo�esz
skasowa� katalog wraz z zawarto�ci� poleceniem rm -r. Uwaga 2: znak ~
jest skr�tem nazwy twojego katalogu domowego. Polecenia cd i cd ~
zmieni� �cie�k� bie��c� na tw�j katalog domowy niezale�nie od tego,
gdzie jeste� w danym momencie; polecenie cd ~/tmp zmieni bie��cy kata�
log na /home/tw�j_dom_kat/tmp. Rozumiesz zasad� ?
Uwaga 3: cd - odwraca ostatnie polecenie cd.
44.. DDyysskkiieettkkii,, ddyysskkii ttwwaarrddee ii ttaakkiiee iinnnnee..
44..11.. UUrrzz��ddzzeenniiaa..
Nigdy o tym nie my�la�e�, ale DOS-owe polecenie FORMAT A: robi o wiele
wi�cej ni� si� wydaje. W rzeczywisto�ci, kiedy wydajesz polecenie
FORMAT, to:
- sformatuje ono fizycznie dysk;
- stworzy katalog A: (czyli utworzy system plik�w na dyskietce)
- uczyni dyskietk� dost�pn� dla u�ytkownika (zamontuje j�).
Te trzy kroki s� oddzielnymi zadaniami w Linux-ie. Mo�liwe jest
przygotowanie i u�ywanie dyskietek w formacie MS-DOS, chocia� s� tak�e
dost�pne inne formaty; najpopularniejeszym jest ext2, ale dla
dyskietek lepszy jest minix. Oto spos�b w jaki mo�na przygotowa�
dyskietk� (standardow� 1.44 MB) do pracy:
- musisz si� zalogowa� jako root,
- fdformat /dev/fd0H1440 lub mformat a: - �eby mie� dyskietk� w
formacie MS-DOS
- przed rozpocz�ciem u�ywania dyskietki musisz j� zamontowa�: mount
/dev/fd0 /mnt
katalog /mnt musi istnie�.
Teraz mo�esz u�ywa� dyskietki; jej obraz jest w katalogu /mnt. BBAARRDDZZOO
WWAA��NNEE - zanim wyjmiesz dyskietk� ze stacji - odmontuj j�:
umount /mnt Oczywi�cie musisz formatowa� tylko nieu�ywane dyskietki.
Je�li chcesz korzysta� ze stacji B: to zamie� wsz�dzie fd0 na fd1.
Wszystko co robi�e� poprzez A: czy B: robi si� teraz poprzez katalog
/mnt. Przyk�ady:
DOS Linux
C:\GUIDO>dir a: $ ls /mnt
C:\GUIDO>copy a:*.* \docs\temp $ cp /mnt/* /docs/temp
C:\GUIDO>copy *.zip a:\zip $ cp *.zip /mnt/zip
C:\GUIDO>a: $ cd /mnt
A:\> /mnt$
Nie musz� chyba m�wi�, �e tak jak mo�esz zamontowa� dyskietk� tak i
mo�esz zamontowa� dowolne urz�dzenie z danymi. (dysk twardy, CD-ROM,
ta�ma itp.) Sp�jrz do katalogu /dev, �eby zobaczy� jakie mo�esz
montowa� urz�dzenia. (UWAGA: jest tam oko�o 1000 plik�w, lepiej u�yj
ls /dev | less). Np. Aby zamontowa� CD-ROM napisz
mount -t iso9660 /dev/cdrom /cdrom
To by� "oficjalny" spos�b na montowanie dyskietek, ale jest inny
spos�b - �atwiejszy. Poniewa� jest to uci��liwe ci�gle si� prze��cza�
na root-a po to, aby zamontowa� dyskietk� - ka�demu u�ytkownikowi
mo�emy pozwoli� na montowanie dyskietek. W taki spos�b:
� stw�rz katalogi /mnt/a, /mnt/a: i /mnt/cdrom
� dodaj w /etc/fstab nastepuj�ce linie:
/dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 0
/dev/fd0 /mnt/a: msdos user,noauto 0 0
/dev/fd0 /mnt/a ext2 user,noauto 0 0
Teraz �eby zamontowa� dyskietk� z systemem MS-DOS, ext2 albo CD-ROM
napisz:
$ mount /mnt/a:
$ mount /mnt/a
$ mount /mnt/cdrom
/mnt/a, /mnt/a: i /mnt/cdrom s� teraz dost�pne dla ka�dego
u�ytkownika. Zauwa�y�em, �e aby m�c pisa� do /mnt/a od razu po
przygotowaniu dyskietki trzeba napisa�:
# mount /mnt/a
# chmod 777 /mnt/a
# umount /mnt/a
Pami�taj, �e udost�pniaj�c w ten spos�b u�ytkownikom dyskietki robisz
wielk� dziur� w bezpiecze�stwie systemu.
44..22.. AArrcchhiiwwiizzaaccjjaa..
Teraz jak ju� umiesz si� pos�ugiwa� dyskietk�, kilka s��w na temat
archiwizacji danych. Jest kilka pakiet�w, kt�re mog� ci pom�c, ale ten
najpopularniejszy i naj�atwiejszy do archiwizowania na wielu no�nikach
to tar.
# tar -M -cvf /dev/fd0H1440 /katalog_do_arch
Upewnij si�, �e dyskietka jest sformatowana i kilka innych jest
gotowych. Aby odarchiwizowa� dane w�� dyskietk� do stacji i napisz:
# tar -M -xpvf /dev/fd0H1440
55.. KKoonnffiigguurroowwaanniiee ssyysstteemmuu..
55..11.. PPlliikkii ssttaarrttoowwee ssyysstteemmuu..
W DOS-ie s� dwa pliki systemowe, kt�re sa odpowiedzialne za
konfiguracj� systemu podczas startu, ustawienie zmiennych i
ewentualnie uruchomienie jakich� program�w.
W Linux-ie jest o wiele wi�cej takich plik�w, z kt�rych kilku nie
powiniene� rusza� dop�ki nie b�dziesz wiedzia� dok�adnie co robisz.
Oto te najwa�niejsze:
PLIKI UWAGI
/etc/inittab nie dotykaj !
/etc/rc.d/* nie dotykaj !
Je�li wszystko czego chcesz, to ustawienie zmiennej PATH czy innej
albo zmiana wygl�du komunikatu "login" albo automatyczne odpalenie
jakiego� programu podczas wlogowywania si�, to zajrzyj do tych plik�w:
PLIK UWAGI
/etc/issue ustawia format komunikatu "login"
/etc/motd ustawia komunikat wy�wietlaj�cy si�
zaraz po wlogowaniu si�
/etc/profile pow�oka bash/sh - ustawia globalnie
(dla wszystkich u�ytkownik�w) r�ne zmienne
/etc/csh.cshrc to samo dla pow�oki tcsh/csh - z tego
pliku nie mo�e by� nic wy�wietlane na ekran
/etc/csh.login pow�oka tcsh/csh - st�d mo�esz wy�wietla� na ekran
/home/twoj_dom_kat/.profile pow�oka bash/sh - robi to co chcesz
/home/t_d_k/.cshrc patrz wy�ej - z t� r�nic�, �e
ustawienia dotycz� tylko ciebie
/home/t_d_k/.login -----"------
Je�li pliki .login albo .profile istniej�, to zostan� przeczytane po
zalogowaniu si� na ko�cu i zostan� wykonane zawarte w nich polecenia
(Co� jakby AUTOEXEC.BAT)
Przyk�ad - sp�jrz na ten plik .profile:
______________________________________________________________________
# Jestem sobie komentarzem
echo �rodowisko:
printenv | more # ekwiwalent polecenia SET pod DOS-em
alias d='ls -l' # chyba rozumiesz, co to jest alias
alias up='cd ..'
echo "Przypominam ci, �e zmienna PATH zawiera: "$PATH
echo "Mi�ego dnia, "$LOGNAME
PATH i LOGNAME - tak, zgad�e� - to s� zmienne �rodowiskowe
# To jest funkcja w pow�oce
ctgz() # Wy�wietla zawarto�� archiwum .tar.gz
{
for file in $*
do
gzip -dc ${file} | tar tf -
done
}
# koniec pliku .profile
______________________________________________________________________
55..22.. PPlliikkii ssttaarrttoowwee pprrooggrraamm��ww..
Pod Linux-em wirtualnie wszysto mo�na ustawi� tak, jak chcesz.
Wi�kszo�� program�w ma jeden lub wi�cej plik�w startowych, w kt�rych
mo�esz poustawia� r�no�ci. Cz�sto jest to �nazwa_programurc w twoim
katalogu domowym. Zauwa�, �e s� one ukryte; pliki ukryte wy�wietla si�
ls -a. Niekt�re programy, jak tin, elm, netscape, xfm tworz� katalogi
.nazwa i tam umieszczaj� swoje pliki startowe. Pierwsze, kt�re
b�dziesz chcia� modyfikowa� to:
~/.joerc - joe to bardzo popularny edytor - polecam
~/.xinitrc - u�ywany podczas uruchamiania Xwindows (je�li masz mniej
ni� 8MB RAM-u to lepiej nie uruchamiaj) poleceniem startx
~/.fvwmrc - u�ywany przez mened�era okienek fvwm. Przyk�ad mo�esz
znale�� w /usr/lib/X11/fvwm/system.fvwmrc
~/.xfm - u�ywany przez mened�era plik�w xfm pod Xwindows
~/.Xdefault - u�ywany przez emulator terminala pod X - rxvt
Pami�taj ! Dla tych wszystkich plik�w i innych, kt�re spotkasz w
przysz�o�ci - PPS
66.. TTrroosszzkk�� pprrooggrraammoowwaanniiaa..
66..11.. PPiissaanniiee sskkrryypptt��ww:: ttaakkiiee ..BBAATT--yy ttyyllkkoo lleeppsszzee..
Je�li u�ywa�e� plik�w .BAT, aby u�atwi� sobie �ycie (Ja u�ywa�em i to
du�o), to to samo mo�na zrobi� w Linux-ie u�ywaj�c alias�w - zobacz
przyk�ad wy�ej. Ale je�li twoje pliki .BAT by�y bardziej
skomplikowane, to polubisz programowanie w pow�oce - jest tak samo
wydajne jak QBasic, je�li nie bardziej. (nawet je�li nie u�ywa�e�
bardziej skomplikowanych plik�w .BAT, to i tak b�dziesz z czasem
programowa� w pow�oce. Chocia�by dlatego, �e wszelkie wersje
instalacyjne program�w pod Linux-a s� napisane w skryptach.) Pow�oka
ma takie elementy jak: zmienne, instrukcje while, case, for,
if...then...else i wiele innych, co mo�e by� alternatyw� nawet dla
dobrego j�zyka programowania.
Aby napisa� skrypt, wszystko co musisz zrobi�, to napisa� zwyk�y plik
tekstowy zwieraj�cy polecenia, zapisa� go i uczyni� wykonywalnym. To
ostatnie mo�esz zrobi� poleceniem: chmod u+x <nazwa> Aby go wykona�
wpisz jego nazw� - pami�taj, �e Linux nie widzi plik�w w katalogu
bie��cym wi�c dodaj ./ na pocz�tku nazwy, albo dodaj katalog bie��cy
'.' do zmiennej PATH.
S�owo ostrze�enia: Standardowy edytor systemowy 'vi' nie jest
najszcz�liwszym edytorem - szczeg�lnie je�li kto� jest przyzwyczajony
do takich edytor�w jak ne.exe czy te spod �rodowiska Pascal/C++. Jak
ju� to radzi�em wcze�niej lepiej u�ywa� joe, kt�ry jest dost�pny w
ka�dej standardowej dystrybucji. Na wszelki wypadek powiem, �e:
- aby co� wpisa� w 'vi' trzeba najpierw nacisn�� 'i'
- aby wyj�� bez zachowania zmian: 'ESC:q!'
- aby wyj�� z zachowaniem zmian: 'ESC:x'
Pisanie skrypt�w pod Unix-ami, to tak obszerny temat, �e mo�na by
napisa� ksi��k� na ten temat (w istocie s� ksi��ki na ten temat :) ),
wi�c nie b�d� si� tutaj dalej zag��biaj, tylko podam przyk�ad, kt�ry
mam nadziej� przyda si� i z kt�rego mo�esz wyci�gn�� kilka
podstawowych zasad.
______________________________________________________________________
#!/bin/sh
# Jestem sobie komentarzem
# nie zmieniaj pierwszej linii !!! - musi tam by�
echo "To jest system: `uname -a`" # u�yj wyj�cia polecenia uname
echo "Nazywam si� $0" # zmienne wbudowane
echo "Poda�e� mi nast�puj�ce $# parametry: "$*
echo "Pierwszy parametr to: "$1
echo -n "Jak si� nazywasz? " ; read imie
echo sp�jrz na r�znic�: "Cze�� $imie" # cytowanie z "
echo sp�jrz na r�nic�: 'Cze�� $imie' # cytowanie z '
DIRS=0 ; FILES=0
for file in `ls .` ; do
if [ -d ${file} ] ; then # je�li plik jest katalogiem
DIRS=`expr $DIRS + 1` # DIRS = DIRS + 1
elif [ -f ${file} ] ; then
FILES=`expr $FILES + 1`
fi
case ${file} in
*.gif|*jpg) echo "${file}: plik graficzny" ;;
*.txt|*.tex) echo "${file}: plik tekstowy" ;;
*.c|*.f|*.for) echo "${file}: plik �r�d�owy" ;;
*) echo "${file}: inny plik" ;;
esac
done
echo "Jest ${DIRS} katalog�w i ${FILES} plik�w"
ls | grep "ZxY--!!!WKW"
if [ $? != 0 ] ; then # kod wyj�cia ostatniego polecenia
echo "ZxY--!!!WKW nie znaleziono"
fi
echo "wystarczy... je�li chcesz wiedzie� wi�cej, to poczytaj"
echo "podr�cznik systemowy""
______________________________________________________________________
77.. CC ddllaa cciieebbiiee..
Chyba nie spodziewa�e� si� znale�� GW czy QBasic-a na Linux-ie ?? W
Unix-ach j�zykiem systemowym i podstawowym jest C, pokochaj albo rzu�.
Wiele innych j�zyk�w (FORTAN, Pascal, Lisp, Basic, Perl, awk ale nie
Turbo Pascal) s� tak�e dost�pne. Zak�adaj�c, �e znasz ju� C, oto
kilka wytycznych dla tych, kt�rzy wychowali si� na Turbo C++ czy innym
z DOS-owych braci C. Kompilator C pod Linux-em to gcc i wcale nie ma
�adnych gwizdk�w, dzwonk�w i bajer�w, ktore maj� DOS-owe wersje.
�adnego �rodowiska, zintegrowanej pomocy (CTRL+F1) czy zintegrowanego
debuggera itp. Jest to go�y kompilator wywo�ywany z wiersza polece�;
bardzo wydajny z reszt�. �eby skompilowa� swoje standardowe hello.c
napisz:
gcc hello.c, a je�li chcesz mie� nazw� pliku wynikowego tak� sam� jak
plik �r�d�owy to napisz gcc -o hello hello.c. Pierwsze polecenie
utworzy plik wykonywalny a.out. �eby do��czy� jak�� bibliotek� dodaj
opcj� -l<arg>, np. gcc -o matma matma.c -lm
Opcja -l<arg> zmusza gcc, aby do��czy�o bibliotek�
/usr/lib/lib<arg>.a, tak wi�c -lm do��czy /usr/lib/libm.a.
To wszystko jest dobre dop�ki piszesz ma�e programy. Ale kiedy tw�j
program sk�ada si� z kilku plik�w �r�d�owych, musisz u�y� narz�dzia
make. Za��my, �e napisa�e� jaki� interpreter: jego plik g��wny to
parser.c i do��cza do siebie dwa pliki parser.h i xy.h. Chcesz u�ywa�
procedur zawartych w parser.c, w programie calc.c, kt�ry znowu do��cza
parser.h. Co za ba�agan ! Co musisz zrobi� aby skompilowa� calc.c ?
Musisz napisa� tzw. Makefile, kt�ry informuje kompilator o
zale�no�ciach pomi�dzy poszczeg�lnymi programami. W naszym przypadku
to b�dzie:
______________________________________________________________________
# Oto plik Makefile u�ywany do kompilacji calc.c
# W miejsce <TAB> naci�nij tabulator
calc: calc.o parser.o
<TAB>gcc -o calc calc.o parser.o -lm
# calc zale�y od dw�ch plik�w objektowych: calc.o i parser.o
calc.o: calc.c parser.h
<TAB>gcc -c calc.c
# calc.o zale�y od dw�ch plik�w �r�d�owych: calc.c i parser.h
parser.o: parser.c parser.h xy.h
<TAB>gcc -c parser.c
# parser.o zale�y od trzech plik�w �r�d�owych
# koniec pliku Makefile
______________________________________________________________________
Zapisz ten plik jako Makefile i napisz make aby skompilowa� calc.c;
mo�esz tak�e zapisa� go jako calc.mak i wtedy napisa� make -f
calc.mak. No i oczywi�cie PPS :) na temat make.
Wcze�niej powiedzia�em, �e nie ma pomocy do C. To nie ca�kiem
prawda... niekt�re funkcje s� opisane w podr�czniku systemowym.
Jest bardzo du�o bibliotek do C; w�r�d pierwszych, kt�re b�dziesz
chcia� u�y� mog� znale�� si�:
� ncurses - do zabawy z trybem tekstowym,
� svgalib - do grafiki,
� XForms - do programowania pod XWindows,
� MGUI - tak�e do programowania pod XWindows.
Dwie ostatnie mo�na znale�� pod adresami:
bloch.phys.uwm.edu/pub/xforms
www.volftp.vol.it/IT/IT/ITALIANI/MORELLO/index.htm Te biblioteki
u�atwiaj� bardzo programowanie pod XWindows. Je�li nie mo�esz prze�y�
bez IDE a'la Borland, to zdob�d� pakiet xwpe z ftp.icm.edu.pl w
katalogu /pub/Linux/sunsite/apps/editors. Powiniene� go polubi�.
88.. PPoozzoossttaa��yy 11%%..
88..11.. OOddrroooottoowwii�� ssii��""..
Z�ym pomys�em jest logowanie si� jako root, �eby robi� zwyk�e
codzienne rzeczy. U�ywanie tego konta jest do�� niebezpieczne i
powinno by� przeznaczone tylko do administracji. Aby utworzy� konto
dla siebie wykonaj polecenie: adduser podaj�c nast�pnie informacje
takie jak sw�j identyfikator, has�o, numer grupy itp. (wci�nij
<<ENTER>> na pytania, kt�rych nie rozumiesz.) Od t�umacza: Mo�e si�
tak zdarzy�, �e pojawi si� komunikat /etc i zobacz czy jest tam plik
.passwd.lock lub o podobnej nazwie i skasuj go.
88..22.. TTwwoorrzzeenniiee wwiirrttuuaallnneejj ppaammii��ccii..
Teoretycznie Linux mo�e by� uruchomiony ju� na 2MB RAM-u. Od
t�umacza: Ale ja bym nie radzi� uruchamiania go przy takiej ilo�ci
pami�ci, z reszt� obecnie chyba �adna dystrybucja nie da si�
zainstalowa� je�li masz mniej ni� 4MB RAM-u, a niekt�re wymagaj� nawet
8MB. Ale im wi�cej pami�ci masz tym wi�cej mo�esz zrobi�. XWindows
jak ju� wspomnia�em nie b�d� dzia�a� w miar� sensowanie je�li masz
mniej ni� 8MB RAM-u. Aby doda� sobie jeszcze 8MB wirtulanej pami�ci
wpisz jako root w wierszu polece�:
______________________________________________________________________
# dd if=/dev/zero of=/swapfile bs=1024 count=8192
# mkswap /swapfile 8192
# sync
# swapon /swapfile
______________________________________________________________________
Dodaj ostatni� lini� do pliku /etc/rc.d/rc.local, aby udost�pni� t�
pami�� za ka�dym razem kiedy b�dziesz startowa� Linux-a.
88..33.. UU��yywwaanniiee ttaarr--aa ii ggzziipp--aa..
W Unix-ach bardzo popularnymi programami do archiwizacji i kompresji
s� tar i gzip.
Aby stworzy� archiwum wpisz w wierszu polece�:
tar cvf <nazwa_archiwum.tar> <pliki_do_zarchiwizowania>
Aby wydoby� pliki z archiwum wpisz:
tar xpvf <nazwa_archiwum.tar> <pliki>
Aby wy�wietli� zawarto�� archiwum napisz:
tar tf <nazwa_archiwum> | less
Opcja 'v' powoduje wy�wietlenie plik�w archiwizowanych albo
wyci�ganych z archiwum, je�li nie chcesz tego, mo�esz ja pomin��.
Aby skompresowa� pliki mo�esz u�y� compress albo gzip. Ten pierwszy
jest ju� przestarza�y i nie powinien by� u�ywany.
compress <plik> albo gzip <plik> skompresuje plik. uncompress
<plik>.Z albo gzip -d <plik>.gz odkompresuje plik.
Je�li �ci�gasz z sieci jaki� pakiet w 99% przypadk�w jest to
skompresowane archiwum (xxx.tar.gz lub xxx.tgz). �eby rozpakowa� i
odarchiwizowa� za jednym zamachem wpisz:
tar xzf xxx.tar.gz Opcji 'z' mo�esz tak�e u�ywa� przy archiwizowaniu i
przegl�daniu archiuwm skompresowanego. Przy okazji warto powiedzie�,
�e pakiety te s� ju� tak przygotowane, �e mo�esz je rozpakowa� w
katalogu g��wnym - / i wszystkie programy znajd� si� na swoim miejscu.
Zak�adaj�c oczywi�cie, �e nie pogrzeba�e� za bardzo na swoim systemie.
Programy arj, zip, unzip, rar, unrar tak�e s� dost�pne pod Linux-em.
88..44.. IInnssttaallaaccjjaa aapplliikkaaccjjii..
Mie�ci si� tutaj ju� to co wspomnia�em o plikach xxx.tar.gz.
Dystrybucja Slackware ma sw�j program, kt�ry pomaga przy instalacji
pakiet�w - pkgtool. Dystrybucja Red Hat ma rpm - troch� mniej
przyjazny. Dystrybucja Debian pewnie te� co� takiego ma, ale poniewa�
nie mia�em z ni� kontaktu, wi�c nie wiem.
S� te� aplikacje, kt�re maj� swoje w�asne systemy instalacji. Jak
rozpakujesz jaki� pakiet przeczytaj zawsze pliki README albo
INSTALLATION, a znajdziesz tam informacje na temat jak zainstalowa�
dany pakiet. Du�a cz�� pakiet�w jest rozprowadzana jako �r�d�a i
musisz je najpierw skompilowa�. Najlepiej rozpakowa� je w katalogu
/usr/src przeznaczonym na �r�d�a i tam poczyta� jak dany pakiet
skompilowa� i zainstalowa�. Z regu�y wszystko co musisz zrobi� to
rozpakowa� pakiet i napisa� make albo make install. Oczywi�cie
b�dziesz potrzebowa� kompilatora gcc. Pami�taj, �e instalacja
pakiet�w to zadanie dla root-a.
88..55.. TTrriikkii,, bbeezz kktt��rryycchh nniiee mmoo��eesszz ssii�� oobbeejj����..
Dope�nianie nazw polece� i nazw plik�w/katalog�w. Je�li wpiszesz nie
ca�� nazw� polecenia i naci�niesz <TAB> to pow�oka dope�ni za ciebie
nazw� albo wy�wietli wszystkie zaczynaj�ce si� na podany ci�g. Np.
zamiast pisa� gcc dddddddllllllllluuuuga.nazwa.pliku - na dodatek nie
pomyli� si� w ilo�ci d l oraz u napisz gcc ddd<TAB>.
Ogl�danie zawarto�ci ekranu, kt�ra si� przesun�a do g�ry: Mo�esz to
zrobi� wciskaj�c <SHIFT+PGUP> - ile mo�esz obejrze� zale�y od tego ile
masz pami�ci na karcie graficznej. Je�li podasz polecenie script
<plik> to wszystko co pojawi si� na ekranie znajdzie si� tak�e w pliku
<plik> dop�ki nie podasz polecenia exit.
Reset ekranu: je�li zdarzy ci si� wy�wietli� plik binarny to mo�e si�
to sko�czy� tym, �e zamiast znaku zach�ty b�dziesz mia� jakie� krzaki.
Napisz wtedy na �lepo, ale dok�adnie, reset albo echo <CTRL+V> <ESC> c
<ENTER> albo echo <CTRL+V> <CTRL+O> <ENTER>
Komunikaty od j�dra: sp�jrz do pliku /var/adm/messages albo
/var/log/messages jako root, aby poczyta� komunikaty od j�dra
w��czaj�c to co pojawi�o si� podczas startu systemu.
88..66.. PPoo��yytteecczznnee pprrooggrraammyy..
Po pierwsze - gdzie je znale��. Poniewa� wszyscy wiecie jak si�
porusza� po sieci i jak u�ywa� archie-go i ftp podam wam tylko
najwa�niejsze adresy dla Linux-a. S� to:
� sunsite.unc.edu
� TSX-11.mit.edu
� nic.funet.fi
Pierwsze dwa maj� swoje kopie w Polsce pod adresem ftp.icm.edu.pl.
Zalecam ich u�ywa� - o wiele szybszy transfer. I tak:
� sunsite.unc.edu to /pub/Linux/suniste/
� TSX-11.mit.edu to /pub/Linux/tsx-11/
Programy:
� at - pozwala uruchamia� programy o podanej godzinie w podanym dniu,
� awk - bardzo dobry j�zyk do manipulacji plikami z danym (i nie
tylko) Na przyk�ad:
awk '$2 ~ "abc" {print $1, "\t", $4}' dane.dat
Wy�witeli pola 1. i 4. ka�dej linii z pliku dane.dat, kt�rej drugie
pole = abc
� delete-undelete - to chyba wiadomo,
� df - podaje informacje o ilo�ci wolnego i zaj�tego miejsca na dysku
� dosemu - pozwala uruchamia� niekt�re DOS-owe programy oraz Win 3.x
przy odrobinie mieszania z konfiguracj�,
� file <nazwa> - podaje rodzaj pliku - archiwum, gif, text itp.
� find (zobacz sekcja ``Katalogi'') jest jednym z najlepszych
polece�. U�ywany jest do wyszukiwania plik�w na dysku, kt�re
spe�niaj� podane warunki i dzia�ania na nich. Og�lna posta�
polecenia find wygl�da tak:
find <katalog> <wyra�enie> gdzie wyra�enie zawiera kryteria
wyszukiwania i dzia�ania.
Przyk�ady:
find . -type l -exec ls -l {} ;
wyszukaj wszystkie do��czenia symboliczne w katalogu bie��cym i
jego podkatalogach i poka� na co wskazuj�.
find / -name '*.old' -ok rm {} ;
wyszukaj wszystkie pliki z ca�ego dysku z rozszerzeniem .old i
pytaj o skasowanie ich.
find . -perm 755
wyszukaj wszystkie pliki z prawami dost�pu 755 - wykonywalne
(zobacz ``Prawa dost�pu'') w bie��cym katalogu i jego
podkatalogach.
find . -user root
wyszukaj pliki, kt�rych w�a�cicielem jest root.
Jest o wiele wi�cej mo�liwo�ci, jak np. wyra�enia logiczne (and,
or) - PPS.
� (f)grep - wyszukuje �a�cuchy w plik-u/ach, np. grep -l "stdio" *.c
- wy�wietl nazwy plik�w .c, kt�re zawieraj� ci�g stdio
� gnuplot - doskona�y program do naukowego drukowania na ploterach
� gzexe - skompresuj program wykonywalny zachowuj�c jego
wykonywalno��
� joe - wspania�y edytor. Uruchamiaj�c go poleceniem jstar b�dziesz
mia� te same przypisania do klawiszy co w WordStar
� less - przypuszczalnie najlepszy do przegl�dania plik�w tekstowych;
je�li jest dobrze skonfigurowany to mo�esz tak�e ogl�da� pliki .gz,
.z, .tar
� lpr <plik> - drukuje plik w tle. Aby sprawdzi� status kolejki do
drukowania napisz lpq
� mc - co� a'la Norton Commander
� pine - przyjazny program do obs�ugi poczty i nie tylko
� script <plik> - kopiuje to co si� pojawia na ekranie do pliku
dop�ki nie wydasz polecenia exit.
� sudo - pozwala zwyk�ym u�ytkownikom na wykonywanie zada� root-a PPS
� uname -a - informacja o systemie
� zcat, zless - wy�wietlaj� skompresowane za pomoc� gzip-a pliki
tekstowe
� Nast�puj�ce polecenia s� cz�sto potrzebne: bc, cal, chsh, cmp, cut,
fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac,
tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs, znew.
88..77.. PPoossppoolliittee rroozzsszzeerrzzeenniiaa ii pprrooggrraammyy zz nniimmii zzwwii��zzaannee..
W przysz�o�ci na pewno zetkniesz si� z wieloma rozszerzeniami. Oto
lista tych najpopularniejszych:
� �1 ... .8 - strony podr�cznika systemowego.
� �arj - kompresja arj
� �dvi - plik wyj�ciowy TeX-a (patrz poni�ej); xdvi - program do
ogl�dania tych plik�w; dvips - program t�umacz�cy je na postscript
.ps
� �gif - plik graficzny
� �gz - kompresja gzip
� �info - plik informacyjny (alternatywa dla "man-a")
� �jpg, .jpeg - plik graficzny
� �lsm - Linux Software Map. Plik tekstowy zawieraj�cy informacje o
danym pakiecie
� �ps - plik postscipt-owy. Aby je ogl�da� zdob�d� gs i opcjonalnie
ghostscript
� �tgz, tar.gz - skompresowane archiwum
� �tex - plik dla TeX-a - narz�dzie do sk�adania dokument�w
� �texi - plik dla texinfo
� �xbm, .xpm, .xwd - plik graficzny
� �zip - archiwum zip
� �Z - kompresja compress
99.. TToo ttyyllee..
Gratulacje ! �ykn��e� troch� Unix-a i jeste� got�w do pracy i
eksperymentowania. Pami�taj, �e twoja wiedza na temat systemu jest
bardzo ma�a i jeste� zobowi�zany du�o �wiczy�, �eby dobrze si�
pos�ugiwa� Linux-em. Ale je�li wszystko co mia�e� zrobi� to po�ci�ga�
aplikacje i pracowa� z nimi, to za�o�� si�, �e to co napisa�em tutaj
to wystarczaj�co. Na dzisiaj nie wiem wiele wi�cej, a jako� udaje mi
si� pracowa� z Linux-em codziennie !
Jestem pewien, �e Linux ci si� spodoba i dalej b�dziesz si� go uczy� i
poznawa�. Za�o�� si� te�, �e ju� nigdy nie wr�cisz do DOS-a ! Mam
nadziej�, �e wyrazi�em si� dostatecznie jasno i zrozumiale i zrobi�em
dobry uczynek dla moich trzech czy czterech czytelnik�w.
99..11.. PPrraawwaa aauuttoorrsskkiiee..
O ile nie stwierdza si� inaczej, dokumenty HOWTO s� chronione prawami
autorskimi ich autor�w. Mog� one by� rozprowadzane w ca�o�ci lub w
cz�ci, w jakiejkolwiek postaci fizycznej czy elektronicznej tak
d�ugo, dop�ki znajduje si� w nich ta wzmianka. Dystrybucja komercyjna
jest dozwolona, a nawet zach�ca si� do niej; chocia� autor chcia�by
by� poinformowany o takowej.
Wszelkie t�umaczenia, prace pochodne, prace zebrane zawieraj�ce
dokumenty HOWTO musz� zawiera� t� notatk� o prawach autorskich.
Oznacza to, �e nie mo�esz stworzy� pracy pochodz�cej z HOWTO i na�o�y�
na jej dystrybucj� dodatkowych ogranicze�. Wyj�tki od tej zasady mog�
by� uczynione pod pewnymi warunkami; skontaktuj si� z koordynatorem
programu Linux HOWTO pod ni�ej podanym adresem.
Kr�tko m�wi�c, chcemy promowa� szerzenie tych dokument�w przez
wszelkie dost�pne kana�y. Chcieliby�my tak�e utrzyma� prawa autorskie
na�o�one na te dokumenty, i by� powiadomieni o planach dotycz�cych
redystrybucji HOWTO.
Je�li masz pytania skontaktuj si� z Gregiem Hankisem, koordynatorem
programu Linux HOWTO po adresem
[email protected].
99..22.. DDiissccllaaiimmeerr..
"Szybkie przej�cie od DOS-a do Linux-a" zosta�o napisane przez Guido
Gonzato,
[email protected]. Wielkie dzi�ki dla Matta Welsha,
autora podr�cznika "Linux Installation and Getting Started", dla Ian
Jackson, autora "Linux frequently asked questions with answers", dla
Giuseppe Zanetti, autora "Linux - Il sistema operativo FREE SOFTWARE
per personal computer 386/486", dla wszystkich, kt�rzy przys�ali mi
poczt� z sugestiami no i szczeg�lne podzi�kowania dla Linusa Torvaldsa
i GNU, kt�rzy dali nam Linuxa !!!
Dokument ten dostarczany jest "taki jaki jest". W�o�y�em wiele
wysi�ku, aby napisa� go tak dok�adnie jak tylko potrafi�em, ale
wykorzystujesz informacje tu zawarte na w�asne ryzyko. Nie jestem
odpowiedzialny w �adnym wypadku za jakiekolwiek zniszczenia wynik�e z
winy korzystania z tego dokumentu. T�umacz tak�e nie jest
odpowiedzialny za �adne zniszczenia.
Wszelkie odzewy, pro�by, sugestie, krytyki itd. s� mile widziane.
Ciesz si� z �ycia ! (i z Linux-a)
Guido =8-)
99..33.. OOdd tt��uummaacczzaa..
T�umaczenie to jest chronione prawami autorskimi � Bartosza
Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na
prawach takich samych jak dokument oryginalny.
Je�li znalaz�e� jakie� ra��ce b��dy ortograficzne, gramatyczne,
sk�adniowe, techniczne to pisz do mnie:
[email protected]
Oficjaln� stron� t�umacze� HOWTO jest
http://www.jtz.org.pl/
Aktualne wersje przet�umaczonych dokument�w znajduj� si� na tej�e
stronie. Dost�pne s� tak�e poprzez anonimowe ftp pod adresem
ftp.ippt.gov.pl/pub/Linux/JTZ/
Przet�umaczone przeze mnie dokumenty znajduj� si� tak�e na mojej
stronie WWW. <
http://www.zsmeie.torun.pl/~bart/tlumaczenie.html> S�
tam te� odwo�ania do Polskiej Strony T�umaczeniowej.
Kontakt z nasz� grup�, grup� t�umaczy mo�esz uzyska� poprzez list�
dyskusyjn�
[email protected]. Je�li chcesz sie na ni� zapisa�, to wy�lij
list o tre�ci subscribe jtz Imi� Nazwisko na adres
[email protected]
Zmiany w tym dokumencie wprowadzone przez t�umacza to:
� - wzmianka o systemie ext2 w nowych dystrybucjach,
� - wzmianka o najcz�ciej stosowanych skr�tach,
� oraz inne pomniejsze dodatki.