Blog literacki, portal erotyczny - seks i humor nie z tej ziemi
Szybkie przejście od DOS-a do Linux-a.
Autor: Guido Gonzato, Guido@ibogfs.cineca.it
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
przeczytania; wyjście z niego to klawisz 'q'), "apropos
słowem, "whatis
ˇ 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_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 <
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
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
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
wykonywania go.
chmod ug+rx
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 <
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 ./
Oto jak wygląda typowy wiersz poleceń: $ polecenie -o1 -o2 ... -on
par1 par2 ... parn
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 -
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] [
- Aby odpalić proces w tle napisz: $ program [-opcje] [parametry]
[
- 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
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
(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
- Aby przywrócić proces do pierwszego planu napisz $ fg
- I jeszcze raz, aby zabić zadanie napisz: $ kill %
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
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
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
Opcja -l
/usr/lib/lib
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
calc: calc.o parser.o
# calc zależy od dwóch plików objektowych: calc.o i parser.o
calc.o: calc.c parser.h
# 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
# 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
<
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
Aby wydobyć pliki z archiwum wpisz:
tar xpvf
Aby wyświetlić zawartość archiwum napisz:
tar tf
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
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
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
Oglądanie zawartości ekranu, która się przesunęła do góry: Możesz to
zrobić wciskając
masz pamięci na karcie graficznej. Jeśli podasz polecenie script
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
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
ˇ 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
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
drukowania napisz lpq
ˇ mc - coś a'la Norton Commander
ˇ pine - przyjazny program do obsługi poczty i nie tylko
ˇ script
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 gregh@sunsite.unc.edu.
99..22.. DDiissccllaaiimmeerr..
"Szybkie przejście od DOS-a do Linux-a" zostało napisane przez Guido
Gonzato, Guido@ibogfs.cineca.it. 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:
B.Maruszewski@zsmeie.torun.pl
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.
tam też odwołania do Polskiej Strony Tłumaczeniowej.
Kontakt z naszą grupą, grupą tłumaczy możesz uzyskać poprzez listę
dyskusyjną jtz@ippt.gov.pl. Jeśli chcesz sie na nią zapisać, to wyślij
list o treści subscribe jtz Imię Nazwisko na adres
listproc@ippt.gov.pl
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.