9392


1. Wprowadzenie.

1.1 Czy Linux jest dla ciebie odpowiedni?

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

To HOWTO zastępuje poprzednie mini-HOWTO o tym samym tytule.

1.2 Tak jest. Powiedz mi jeszcze.

Zainstalowałe¶ Linux-a na PC-cie. Założyłe¶ sobie konto, wykonuj±c instrukcje podczas instalacji (je¶li nie, to wpisz adduser teraz !!!) 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:

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:

Jeste¶ teraz gotowy, aby uczyć się Linux-a.

1.3 Dla niecierpliwych.

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 !!!

2. Pliki i programy.

2.1 Pliki: pojęcie ogólne.

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.

Możesz teraz skoczyć do sekcji Tłumaczenie poleceń z DOS-a na Linux-a, ale na twoim miejscu czytałbym dalej.

2.2 Doł±czenia symboliczne.

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.

2.3 Atrybuty plików w Linux-ie.

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".

2.4 Pliki: Porównanie podstawowych poleceń DOS-owych z Linux-owymi.

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 NIE MA UNDELETE, 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.

2.5 Wykonywanie programów: wielozadaniowo¶ć i sesje.

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.

2.6 Uruchamianie programów na komputerach odległych.

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

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.

3. Używanie katalogów.

3.1 Katalogi: pojęcie ogólne.

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: \PROGRAMS\C++\SOURCES\HELLO.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.

3.2 Prawa dostępu katalogów.

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

3.3 Katalogi: Porównanie podstawowych poleceń DOS-owych z Linux-owymi.

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 katalog na /home/twój_dom_kat/tmp. Rozumiesz zasadę ?
Uwaga 3: cd - odwraca ostatnie polecenie cd.

4. Dyskietki, dyski twarde i takie inne.

4.1 Urz±dzenia.

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. BARDZO WAŻNE - 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:

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.

4.2 Archiwizacja.

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

5. Konfigurowanie systemu.

5.1 Pliki startowe systemu.

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:

0x01 graphic

# 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

0x01 graphic

5.2 Pliki startowe programów.

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 &dot;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

6. Troszkę programowania.

6.1 Pisanie skryptów: takie .BAT-y tylko lepsze.

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.

0x01 graphic

#!/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""

0x01 graphic

7. C dla ciebie.

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:

0x01 graphic

# 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

0x01 graphic

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ę:

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ć.

8. Pozostały 1%.

8.1 "Odrootowić się".

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 'password locked' lub co¶ podobnego. Zajrzyj wtedy do katalogu /etc i zobacz czy jest tam plik .passwd.lock lub o podobnej nazwie i skasuj go.

8.2 Tworzenie wirtualnej pamięci.

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ń:

0x01 graphic

# dd if=/dev/zero of=/swapfile bs=1024 count=8192

# mkswap /swapfile 8192

# sync

# swapon /swapfile

0x01 graphic

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.

8.3 Używanie tar-a i gzip-a.

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.

8.4 Instalacja aplikacji.

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.

8.5 Triki, bez których nie możesz się obej¶ć.

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.

8.6 Pożyteczne programy.

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:

Pierwsze dwa maj± swoje kopie w Polsce pod adresem ftp.icm.edu.pl. Zalecam ich używać - o wiele szybszy transfer. I tak:

Programy:

Wy¶witeli pola 1. i 4. każdej linii z pliku dane.dat, której drugie pole = abc

8.7 Pospolite rozszerzenia i programy z nimi zwi±zane.

W przyszło¶ci na pewno zetkniesz się z wieloma rozszerzeniami. Oto lista tych najpopularniejszych:

9. To tyle.

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.

9.1 Prawa autorskie.

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.

9.2 Disclaimer.

"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-)

9.3 Od tłumacza.

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. S± 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:



Wyszukiwarka

Podobne podstrony:
9392
9392
1 Komunikologia wykład1 2011 Komunikologia jako naukaid 9392 ppt
arkusz Matematyka poziom p rok 2009 9392 MODEL
9392
arkusz Matematyka poziom p rok 2009 9392
9392
9392
9392
9392
9392, materiały PWr, LPF
9392
9392
1 Komunikologia wykład1 2011 Komunikologia jako naukaid 9392 ppt

więcej podobnych podstron