linux podstawy


IIII IIII IIIII IIII IIII IIII IIII IIII

IIII IIII IIIIII IIII IIII IIII IIII IIII

IIII IIII IIIIIII IIII IIII IIII IIIIIIII

IIII IIII IIIIIIIIIIII IIII IIII IIIIII

IIII IIII IIII IIIIIII IIII IIII IIIIIIII

IIIIIIIII IIII IIII IIIIII IIIIIIIIIII IIII IIII

IIIIIIIII IIII IIII IIIII IIIIIIIII IIII IIII

Spis treści

I. SEKCJA A : start

I.1. Jak otworzyć konto w InterNet'cie?

I.2. Jak się zalogować?

I.3. Co to za plik /etc/passwd itp?

I.4. Jakie są zadania hackera?

I.5. Co to są shelle i system plików w Unix'ie?

II. SEKCJA B : podstawy unix'a

II.1. Gdzie jesteśmy?

II.2. Jak zobaczyć zawartość katalogu i uprawnienia?

II.3. Uprawnienia plików cd.?

II.4. Co to są grupy?

II.5. Jak się szybko poruszać po systemie plików?

II.6. Co to są dżokery?

II.7. Jakie są dżokery specjalne?

II.8. Co to są polecenia procesowe?

II.9. Polecenie "su".

II.10. Jak spakować dane?

II.11. Ile miejsca na dysku?

II.12. Jak przygotowywać własny system plików?

II.13. Co to są aliasy?

II.14. Jak się ze sobą porozumiewać?

III. SEKCJA C : sieć

III.1. Co to jest URL?

III.2. Co to jest FTP?

III.3. Co to jest Telnet?

III.4. Co to jest WWW?

III.5. Co to jest Gopher?

III.6. Co to jest Veronica?

III.7. Co to jest Wais?

III.8. Co to jest Archie?

III.9. Co to jest E-Mail?

III.10.Co to są News'y i Usenet?

III.11.Co to jest Jughead?

IV. SEKCJA D : podstawy

IV.1. Co to jest FakeMail?

V. SEKCJA E : internet

V.1. Gdzie szukać w InterNet'cie?

VI. SEKCJA F : koniec

* * *

I. Sekcja A : start

1. Jak otworzyć konto w InterNet'cie?

Na początku musimy posiadać jakiekolwiek konto w internecie, najłatwiej

jest się zgłosić do jednego z providerów (polbox itd.), lub też

można otrzymać konto na uczelni, ba‡ w szkole średniej.

Standardowo providerzy oferują, pełny dostęp do sieci, czyli Unix Shell

i SLIP/PPP, adres poczty elektronicznej i własna stronę WWW.

Ostatnio, już pewien czas, działa bezpłatny (bez przesady, tylko

telefoniczna taryfa lokalna) dostęp do internetu, oferowany przez tpsa,

pod numerem (dostępnym w całej Polsce) 0202122, jako login i hasło

wpisujemy ppp, czyli:

login: ppp

passwd: ppp

i już, niestety, jest tu tylko dostępny PPP, tak więź musimy odpowiednio,

skonfigurować oprogramowanie. To nie wszystko, firma PolBox, oferuje

bezpłatne konta pocztowe (do 500KB) dla każdego, także firm, oraz

możliwość założenia własnej strony WWW (za friko!) do 2MB, całkiem nieźle.

Chyba od nie dawna, także firma Optimus udostępnia bezpłatne konta,

musicie zobaczyć.

Gdy wykupimy (dostaniemy) już konto, określimy swój identyfikator i

dostaniemy hasło, przychodzi pora by sie zalogować i ...

2. Jak się zalogować?

Standardowo, w Unix'ie na początku wpisujemy swój identyfikator, następnie

hasło, jednak jak wiecie, nie ma jednego Unix'a, odmian tego systemu są

dziesiątki, że wymienię: Berkeley, CPIX, FOS, Genix, HP-UX, IS/I, OSx, Sys3,

PC-IX, PERPOS, Ultrix, Zeus, Xenix, UNITY, VENIX, UTS, Unisys, Unip lus+,

UNOS, Idris, QNIX, Coherent, Cromix, System III, System 7, Sixth edition,

FreeBSD (Darmowy) czy w końcu Linux (Darmowy) i to w kilku edycjach, jak

np. Debian, Red Hat (Colgate;-) czy Slackware. Ale powróćmy do logowania

które zawyczaj wygląda tak:

np. w Linux'ie

alpha login: jasio

Password:

gdzie, alpha to nazwa komputera

Oczywiście, że może zamiast login (Login), pojawić się Username (username),

a Password może być pisane z małej litery (password). Zwyczajowo (?),

przyjeło się, że login składa się tylko z małych liter, zazwyczaj od 3-8,

za to hasło jest już kombinacją małych i dużych liter, oraz cyfr znaków

specjalnych (?) (3-8) np: Zs23dU3lajeT8. Standardowo można sie zalogować

jako: root, sys, bin, trouble, deamon, uucp, nuucp, rje, lp, adm...

Hasła takie są kodowane i sprawdzane z hasłami w pliku /etc/passwd czy

/etc/shadow, tą właśnie metodę wykorzystują wszelkiej maści hackerzy ;->

3. Co to za plik /etc/passwd itp?

Oto przykładowy plik /etc/passwd przy wyłączonym shadowingu, bardzo nas,

hackerów interesujacy!!!!

# cat /etc/passwd

root:Erre5ffKllg9o:0:0:root:/root:/bin/bash

bin:*:1:1:bin:/bin:

daemon:*:2:2:daemon:/sbin:

adm:*:3:4:adm:/var/adm:

lp:*:4:7:lp:/var/spool/lpd:

sync:*:5:0:sync:/sbin:/bin/sync

shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown

halt:*:7:0:halt:/sbin:/sbin/halt

mail:*:8:12:mail:/var/spool/mail:

news:*:9:13:news:/var/spool/news:

uucp:*:10:14:uucp:/var/spool/uucp:

operator:*:11:0:operator:/root:

games:*:12:100:games:/usr/games:

gopher:*:13:30:gopher:/usr/lib/gopher-data:

ftp:*:14:50:FTP User:/home/ftp:

nobody:*:99:99:Nobody:/:

jasio:78P1IBwerttPk:500:500:Jasio Jaskowski:/home/jasio:/bin/bash

halinka:IO06GpLrt8yLN:501:501:Halinka z Lublinka:/home/halinka:/bin/bash

[...]

#

czyli:

login:password:uid:gid:comment:home:shell

Pierwsza pozycja okresla login stosowany przy logowaniu do systemu,

następnie jest zakodowane hasło (jeśli jest puste, to przy wpisywaniu

hasła podczas logowania wystarczy wcisnąć ENTER!), trzecie pole to tkz.

User Id (UID), czwarte pole to Group Id (GID), piąte pole, to pole opisu,

następne wskazuje na katalog domowy użytkownika, a ostatnie na powłokę.

Tak zaś wygląda plik /etc/password z włączonym shadowingiem, hasła są

wtedy przechowywane w pliku /etc/shadow!!!

# cat /etc/shadow

root:x:0:0:root:/root:/bin/bash

[...]

jasio:x:500:500:Jasio Jaskowski:/home/jasio:/bin/bash

halinka:x:501:501:Halinka z Lublinka:/home/halinka:/bin/bash

#

Teraz z kolei (przy włączonym shadwingu) interesuje nas plik /etc/shadow !

4. Jakie są zadania hackera?

Twoim głównym zadaniem jako hackera jest zdobycie uprawnień, równych

root'owi, co można (ale są też inne sposoby!!!) zrobić zdobywając hasło

root'a, co pociaga (ale nie jest to jedyny sposób!!!) za soba zdobycie

pliku z haslami /etc/passwd lub /etc/shadow!

Gdy uda Ci się już to zdobyć, musisz zaopatrzyć się (lub samemu zrobić)

plik ze slownikiem oraz program do kodowania/sprawdzania.

Program taki bierze wyraz ze słownika, koduje go i porównuje tak

zakodowane słowo ze słowem w pliku z hasłami.

Dobry slownik powinien mieć około 30-40MB!!!

Można też, jeśli Ci się uda zmienić wiersz z hasłem root'a na

root::0:0:::

(oczywiście nie musi to być użytkownik root, ważne, żeby UID i\lub GID,

miały wartość zero czyli np: jasio::0:0:::), a jeszcze lepiej bez żadnego

logina, czyli:

::0:0:::

i wystarczy teraz:

$ su ""

#

ale uwaga, taka konstrukcja:

login: root (jasio lub )

Password:

może (i raczej napewno) nie da się zastosować ;-(

A jak już jesteśmy zalogowani jako root (jasio itp.) dobrze jest

ustawić jakieś hasełko, będzie mniej podejrzanie ;-)

# passwd

Enter password:

New password:

Rep. password:

#

i my szalejemy, a prawdziwy root płacze ;->

5. Co to są shelle i system plików w Unix'ie?

Po prawidłowym zalogowaniu ukarze nam się, $ lub #, czyli Unix'owski prompt

(warto zauważyć, że bardzo czesto znak $ zarezerwowany jest dla prostego

użytkownika, a znak # tylko dla root'a).

Znaleźliśmy się w _prawdziwym_ (nie jakieś windowsy'95 czy NT;) systemie

operacyjnym. Unix składa sie z trzech komponentów, tj. kernela, shella i

systemu plików. Kernel jest głównym jadrem systemu, zarządza pamiecią,

systemem plików oraz programowymi i sprzętowymi urządzeniami. Zawiera też

język niskiego poziomu, shell obsługujący (utrzymującym) procesy.

Shell jest to język wysokiego poziomu, który może być używany do wykonywania

koment systemu, lub też jako język programowania, do pisania skomplikowanych

skryptów. Standardowymi unix'owymi shell'ami są:

/bin/ash

/bin/bash (Bourne-shell)

/bin/sh (Bourne-shell)

/bin/csh (C-shell)

/bin/ksh (Korn-shell)

/bin/tcsh

/bin/zsh

(Do pisania skryptów, osobiście, polecam bash'a lub tcsh'a)

System plików przedstawiamy w trzech kategoriach:

katalogi (directories)

pliki pospolite (ordinary files)

pliki specjalne (d, -, l, c)

Oto najprostsza struktura systemu plików BSD:

(root directory)

/

|

+-----+------+-----+--+--+-----+------+-----+

| | | | | | | |

/bin /dev /etc /lib /u /mnt /usr /tmp

| |

+ |

+-----+-(...)-+ |

| | | |

jasio ala jan |

|

+------+-------+------+---------+--------+-----+--(...)--+

| | | | | | | |

adm bin etc include tmp man ucb spool

|

+--------+----------+----+--------+-----------+------+-------+

| | | | | | | |

at batch lpd mqueue mail news uucp uucppublic

Oto najprostsza struktura systemu plików Systemu V.4:

(root directory)

/

|

+-----+------+-----+-----+-----+--+---+-----+

| | | | | | | |

/dev /etc /sbin /home /mnt /tmp /usr /var

|

+--------+--------+--------+-------+-------+-------+

| | | | | | |

adm cron lp mail news spool uucp

|

+-------+-------+

| | |

lp uucp uucppublic

Oto najprostsza struktura systemu plików Linux [RedHat 4.1]:

(root directory)

/

|

+-----+----+-+----+----+----+--+--+----+-----------+----+----+-----+

| | | | | | | | | | | |

/dev /proc /etc /bin /lib /home /mnt /lost+found /usr /tmp /root /var

|

+--------+-----+--(...)--+

| | | |

httpd ftp jasio other_users

| |

| public_html

|

+-----+---+--+-----+-----+

| | | | |

bin dev etc lib pub

UWAGA! Struktury są schematyczne i nie są na nich zaznaczone wszystkie

katalogi i podkatalogi, to są tylko przykłady!!!

/

główny katalog (root directory), podstawa całego drzewa katalogowego.

W obrębie tego katalogu, znajdują się wszystkie pliki i katalogi,

niezależnie od ich fizycznego położenia na dysku twardym.

/dev

zawiera pliki specjalne dla fizycznych urządzeń (I/O), w niektórych

systemach, katalog ten podzielony jest na kilka podkatalogów.

Pliki te obsługują takie urządzenia jak drukarka, twardy dysk,

cdrom czy karta muzyczna.

/proc

niezbędny dla komendy ps

/etc

zawiera niezbędne (ale nietylko) pliki konfiguracyjne i administarcyjne

systemu, katalog może być podzielony na podkatalogi, może też obok

plików tekstowych zawierać programy wykonywalne, np. skrypty bootujące.

Ważniejsze pliki tekstowe to min.:

/etc/passwd

/etc/group

/etc/shadow

itp. itd.

/bin

wykonywalne narzędzia systemowe dostępne dla wszystkich użytkowników

systemu, stanowiące jego integralną część.

/lib

biblioteki run-time różnych języków programowania, min.: C/C++

/home

katalog domowy, użytkownicy systemu itp. (Linux)

/u

katalog domowy, użytkownicy systemu itp. (BSD)

/mnt

używany jako punkt do przyłanczania (mounting) np: innego dysku, cdrom'a

czy też innego systemu plików.

/lost+found

katalog używany przez program fsck. Przechowuje się w nim pliki zgubione.

/usr

narzędzia i aplikacje (Linux)

katalog przeznaczony do przechowywania plików pocztowych, poleceń

użytkowników i innych fragmentów systemu operacyjnego. (BSD)

/var

katalog do przechowywania plików pocztowych i innych fragmentów systemu

operacyjnego (Linux) (System V.4)

/tmp

katalog dla plików tymczasowych, dostępny dla wszystkich.

/root

katalog własny nadzorcy systemu (Linux)

/usr/adm

katalog własny nadzorcy systemu (BSD)

/var/adm

katalog własny nadzorcy systemu (System V.4)

II. SEKCJA B : podstawy unix'a

1. Gdzie jesteśmy?

Aby okreslić w jakim miejscu na dysku sie znajdujemy, można napisać:

$ pwd

/home/jasio

$

Dla uzyskania więcej informacji napisz:

$ man pwd

Tak sprawdzaj każde polecenie ktorego nie znasz! Można jeszcze zamiast

man, używać polecenia apropos, ale nie na wszystkim maszynach to działa.

W Unix'ie znak / (slash), spełnia tą sama rolę co w DOS'ie

znak \ (backslash). W naszym przypadku, osnacza to, ze znajdujemy się

w katalogu /home/jasio

2. Jak zobaczyć zawartość katalogu i uprawnienia?

Napiszmy:

$ ls

jedenplik drugiplik trzeciplik katalog1

katalog2 katalog3 (...)

$ ls -a

.login .profile jedenplik katalog1

(...)

$ ls -l

total 5

drwxr-x--- 7 jasio users 512 Jul 11 22:47 katalog1

drwxr-xr-x 2 jasio users 512 Jul 11 02:22 katalog2

drwxr-x--- 5 jasio users 512 Jul 11 23:11 katalog3

drwxr-xr-x 9 jasio users 512 Jul 11 12:30 katalog4

-rw-r--r-- 1 jasio jasio 159 Dec 22 15:15 jedenplik

$

Jak zauważyliśmy, komenda ls jest odpowiednikiem (lepszym;), DOS'owskiej

komendy dir (w wielu systemach, spokojnie, o ile root pomyślał, można

zamiast ls, pisac dir). Samo ls wyświetla tylko katalogi i pliki,

parametr -a pozwala na obejrzenie plików, ukrytych (zaczynajacych sie od

'.') za to ls -l wyświetla dokładne widomości o plikach i katalogach.

Pierwszy wiersz wydruku podaje całkowitą objętość dysku zajmowaną przez

nasze pliki (katalogi) - total 5.

Kolumna zawierająca liczby:

512

512

512

512

159

Podaje rozmiary danych plików (katalogów) w bajtach.

Fraza Dec 22 15:15 podaje dokładną datę i czas zmiany pliku (kat.)

Druga kolumna zawierająca słowo 'jasio' okresla właściciela

pliku (katalogu), trzecia 'users' określa grupę dostępu do pliku (kat.).

Pierwsza kolumna dotyczy praw i rodzaju plików (katalogów).

pierwsza litera 'd' oznacza, że to jest katalog, literka 'l', oznaczałaby

link symbioliczny do pliku (katalogu), a minus '-', mówi nam, że jest to

zwykły plik. Następnie określane są przywileje, kolejno po trzy dla

właściciela, grupy i innych. Literka 'r' oznacza read, czyli możliwość

czytania, 'w' write, czyli pisanie, 'x' execute, wykonywania (np. aby

wejść do katalogu, niezbędne jest ustawienie uprawnienia 'r-x')!

W naszym przypadku wygląda to mniej więcej tak:

a).

+-+ +-+-+-+-+-+-+-+-+-+

|k| |r|w|x|r|w|x|r|w|x|

+-+ +-+-+-+-+-+-+-+-+-+

| \--+--/\--+-/\--+-/

| | | |

| | | \uprawnienia dla pozostalych użytkownikow (other)

| | |

| | \uprawnienia dla grupy (group)

| |

| \uprawnienia dla właściciela (owner)

|

\rodzaj kategorii (plik zwykły, plik specjalny, katalog, łącznik,

socket, potok.)

A tak przedstawia się znaczenie bitów w słowie, zawierającym prawa

dostępu:

b).

+-+-+-+ +-+-+-+-+-+-+-+-+-+

|s|g|t| |r|w|x|r|w|x|r|w|x|

+-+-+-+ +-+-+-+-+-+-+-+-+-+

\--+--/ \--+--/\--+-/\--+-/

| | | |

| | | \uprawnienia dla pozostałych użytkowników

| | |

| | \uprawnienia dla grupy

| |

| \uprawnienia dla właściciela

|

\uprawnienia specjalne

Legenda do a). i b).

r - uprawnienie do odczytania pliku

w - uprawnienie do zapisania (modyfikacji) pliku

x - uprawnienia do wykoniania pliku

k - rodzaj kategorii

('-' plik zwykły,

'd' katalog,

'l' łącznik symboliczny,

'b' plik specjalny blokowy,

'c' plik specjalny znakowy,

's' socket,

'p' nazwany potok.)

s - bit SUID ( ustawienie go powoduje, że dostęp do pliku może

mieć tylko jeden użytkownik)

g - bit SGID (ustawienie dla katalogu, powoduje, że pliki tworzone w tym

katalogu będą należały do tej samej grupy, do której należy katalog,

a nie do grupy do której należy właściciel pliku)

t - bit sticky (ustawienie go powoduje, że program po wykonaniu nie

jest usuwany z pamięci)

a). Interpretacja uprawnień, wyświetlonych po wydaniu polecenia 'ls -l'

b). Format informacji zapisanych w węźle, każdej klasy użytkowników.

3. Uprawnienia plików cd.?

Uprawnienia dla plików i katalogów ustawiamy za pomocą polecenia 'chmod',

którego format: chmod who+, -, =r, w, x, gdzie who, może oznaczać:

u-user (użytkownik, właściciel)

g-group (grupa)

o-other (inni użytkownicy)

a-all (wszyscy)

np.

chmod g+r plik1

nadaje grupie, możliwość czytania pliku (kat.) plik1.

chmod u+x plik2

nadaje właścicielowi, prawa wykonywania pliku plik2

chmod o-x plik3

odbiera pozostałym (other) użytkownikom, prawa do wykonywania pliku plik3

chmod g=rwx plik4

nadaje pełne uprawnienia grupie, do której należy właściciel

chmod ugo-x plik5 lub chmod a-x plik5

odbiera wszystkim prawa do wykonywania pliku plik5

Mozna też za pomocą polecenia 'chmod', nadawać uprawnienia w formie

octalnej np.

chmod 740 plik1

nadaje właścicielowi uprwanienia do czytania, pisania i wykonywania pliku,

grupie tylko to czytania a innym zabiera wszystkie uprawnienia.

Obliczyć wartość octalną uprawnień jest bardzo łatwo:

+-+-+-+-+-+-+-+-+-+

|r|w|x|r|w|x|r|w|x| pełne uprawnienia dla wszystkich

+-+-+-+-+-+-+-+-+-+

4+2+1 4+2+1 4+2+1

7 7 7 czyli chmod 777 plik0

+-+-+-+-+-+-+-+-+-+

|r|w|x|r|w|-|-|-|-| pełne uprawnienia dla właściciela, prawo czytania i

+-+-+-+-+-+-+-+-+-+ pisania dla grupy

4+2+1 4+2+0 0+0+0

7 6 0 czyli chmod 760 plik0

+-+-+-+-+-+-+-+-+-+

|r|-|-|-|-|-|r|w|-| uprawnienie do czytania dla właściciela oraz prawo do

+-+-+-+-+-+-+-+-+-+ czytania i pisania dla innych użytkowników

4+0+0 0+0+0 4+2+0

4 0 6 czyli chmod 406 plik0

Polecenie 'chmod' można wykonywać z parametrem '-R' (ang. recursive), np.

chmod -R 006 gre*

jeśli gre* natrafi na katalog to wszystkie jego podkatalogi z plikami

włącznie otrzymają prawo do czytania i pisania tylko dla innych

użytkowników!

Poleceniem dosyć ważnym jest jeszcze 'unmask', który precyzuje standardowe

prawa dostępu dla plików w momencie ich zakładania! Wydanie polecenia:

unmask

pokazuje liczbę, zazwyczaj '022', ktora odejmowana jest od pełnego

zestawu praw, to jest

+-+-+-+-+-+-+-+-+-+

|r|w|x|r|w|x|r|w|x| pełne uprawnienia dla wszystkich

+-+-+-+-+-+-+-+-+-+

4+2+1 4+2+1 4+2+1

7 7 7 777 dla katalogów

i

+-+-+-+-+-+-+-+-+-+

|r|w|-|r|w|-|r|w|-| pełne uprawnienia, bez uruchamiania (!) dla wszystkich

+-+-+-+-+-+-+-+-+-+

4+2+0 4+2+0 4+2+0

6 6 6 666 dla plików

czyli oznacza to, że standardowo będą tworzone pliki z uprawnieniami 644 i

katalogi z uprawnieniami 755!

Wydanie polecenia:

unmask 077

odbierze wszystkim, poza właścicielem, wszelkie prawa do plików (kat.),

uwaga, obowiazuje tu artmetyka ósemkowa (octalna)!!!

4. Co to są grupy?

Pora teraz zająć sie grupami, co to jest i jak to sie je?

Po wydaniu polecenia 'ls -l', otrzymaliśmy wynik:

[...]

1 drwxr-xr-x 9 jasio users 512 Jul 11 12:30 katalog4

2 -rw-rw-r-- 1 jasio jasio 159 Dec 22 15:15 jedenplik

[...]

Wiemy już, że 'jasio' jest właścicielem, ale w (2), 'jasio', jest

tez oznaczony jako grupa, co to oznacza? Po prostu, grupą w tym przypadku

jest tylko 'jasio' czyli tak naprawdę nie ma żadnych grup ;-), w

przypadku (1), grupa 'users' to najczęściej użytkownicy systemu, czyli np:

users to jasio, halinka, basia, asia itp.

Oto przykładowa definicja pliku /etc/group

# cat /etc/group

root::0:root

bin::1:root,bin,daemon

daemon::2:root,bin,daemon

sys::3:root,bin,adm

adm::4:root,adm,daemon

tty::5:

disk::6:root

lp::7:daemon,lp

mem::8:

kmem::9:

wheel::10:root

mail::12:mail

news::13:news

uucp::14:uucp

man::15:

games::20:

gopher::30:

dip::40:

ftp::50:

nobody::99:

users::100:jasio,halinka,basia,asia

jasio::500:jasio

halinka::501:halinka

[...]

#

czyli:

name:password:gid:login

name - nazwa grupy

password - hasło (najczęściej puste, czyli ::)

gid (GID) - Group Id (identyfikator grupy)

login - login

5. Jak się szybko poruszać po systemie plików?

Teraz musimy się nauczyć szybkiego poruszania po Unix'ie, poznalismy

już polecenie 'ls', czas teraz na nastepne:

cd - zmienia katalog (ang. change directory)

np.:

cd .. - przejdziemy do wyższego katalogu (rodzica)

cd katalog1 - wejdziemy do katalogu 'katalog1'

cd /etc/rc.d - wejdziemy do katalogu '/etc/rc.d'

cd / - wejdziemy do głównego (root) katalogu!

pwd - podaje bierzący katalog (patrz. II.1.)

mkdir - tworzy katalog

np.:

mkdir lala - tworzy katalog 'lala'

mkdir k1/k2 - tworzy katalog 'k2' w katalogu 'k1' (jesli trzeba to

tworzy katalog 'k1')

mkdir -p k1/k2/k3 - tworzy po kolei 'k1', 'k2', 'k3' w sobie

(konieczny parametr -p 'parent')

mkdir k1 k2 k3 - tworzy katalogi w bierzącym katalogu :-)

rmdir - usuwa katalog (musi byc pusty!)

np.:

rmdir k1 - usuwa katalog 'k1'

rmdir k1 k2 k3 - usuwa katalogi

cp - kopiowanie plików

np.:

cp p1 p2 - kopiuje plik 'p1' do pliku 'p2'

cp p1 /etc - kopiuje plik 'p1' do katalogu '/etc'

cp -i p1 p2 - kopiuje plik 'p1' do pliku 'p2' ale jeśli plik 'p2' istnieje

pyta sie czy go zamazać

cp -r k1 k2 - kopijuje katalog 'k1' i automatycznie tworzy katalog 'k2'

mv - przenoszenie i zmiana nazwy plików

np.:

mv p1 p2 - zmienia nazwę z 'p1' na 'p2'

mv p1 /etc - przenosi plik 'p1' do katalogu '/etc'

mv -i p1 p2 - przenosi plik 'p1' do pliku 'p2' ale jeśli plik 'p2'

istnieje pyta się czy go zamazać.

rm - usuwa plik

np.:

rm p1 - usuwa plik 'p1'

rm -i p1 - pyta sie czy usunąć i po potwierdzeniu usuwa

rm -r k1 - usuwa katalog, wszystkie pliki i podkatalogi!!!

cat - wypisuje zawartość pliku na standardowe wyjście (ekran, plik ...)

np.:

cat p1 - wyświetla zawartość pliku 'p1'

cat > p1 - pozwala zapisać tekst do pliku 'p1' po naciśnięciu Ctrl-D

Obok polecenia 'cat', możemy użyć jeszcze 'more' czy 'less', ktore są

dostępne w niektórych instalacjach Unix'a, np. Linux'a ;-)

joe, ed, vi - proste edytorki tekstowe

6. Co to są dżokery?

Zadasz może pytanie, jak zachaczyć większe grupy plików (kat.) np. przy

kopiowaniu, przecież nie będziesz samemu sam wszystkiego wpisywał, nie?

Tak więc piszemy znak:

*

obejmuje wszystkie zwykłe pliki w bierzącym katalogu

np. p1 p2 p3 p4 k1 k2 k3 k4 itd.

nie obejmuje natomiast plików ukrytych, czyli tych zaczynających się od

kropki (kropek) np. .ps1 .ps2 .ks1 .ks2 ... .. ...ps6 ........k8 itd.

Pliki te obejrzymy pisząc:

.*

Pisząc:

Agna*La*

dostaniemy np. Agna123sddddLa33fdff, czy Agna233La000

Znakiem:

?

zastepujemy, dokładnie jeden znak ;-) np.

A?a

może oznaczać Ala A9a Aaa AAa itd., a A???a może znaczyć A123a itd...

Pisząc:

[123]a

otrzymamy: 1a 2a lub 3a, zamiast [123]a, możemy napisać [1-3]a, co

oznacza dokładnie to samo! ([a-z], [A-Z], [A-Za-z0-9] itd).

możemy jeszcze użyć:

test.{exe,obj,out,o,exe}

Pasuje do: test.exe test.obj test.out test.o i test.exe

Oczywiście możemy kombinować, np:

Linu?-[0-9]*-[abcde0-9]???{exe,out,tar,gz}.*[QWEhj35]

też ma, zawiły bo zawiły, ale zawsze jakiś sens ;-)

7. Jakie są dżokery specjalne?

Inne znaki (dżokery) specjalne:

& - uruchamianie procesu w tle

np.:

playmidi muzyka.mid &

> - kieruje na wyjście (standard out)

np.:

echo "To jest tekst" > p1

1> - dokładnie to samo co poprzednie, kieruje na wyjście

(standard out)

np.:

echo "To jests tekst" 1> p1

2> - kieruje błędy na wyjście (standard error)

np.:

ls olo23 2> plik.z.bledami

< - kieruje na wejście zawartość pliku (standard in)

np.:

sort < p1

>> - kieruje na wyjście i np. dołancza do końca pliku

np.:

echo "Pierszy wiersz" > p1

echo "Drugi wiersz" >> p1

>& - zmienia kierunek strumieni standard out i standard error

np.:

ls olo23 >& plik.z.bledami

| - kieruje wynik programu do innego na wejście (wyjście na wejście)

(standard out => standard in)

np.:

ls -Fla | more

|& - kieruje na standard out także strumień z błędami

(wyjście+wyjście z błędami na wejście)

(standard out+standard error => standard in)

np.:

cat niemamnie |& more

Oczywiscie możemy wszystko kombinować ze sobą np:

sort < plik.nie.posortowany >> plik.jest.posortowany

lub

(ls niemamnie > info.plik) >& error.error.error

8. Co to są polecenia procesowe?

Do obsługi procesów (uruchomionych programów) i zadań (wiele procesów),

bardzo użytecznym programem jest 'ps'

(ang. proces status)

Jeśli wywołamy go bez żadnych parametrów, naszym oczą ukarze się:

$ ps

PID TTY STAT TIME COMMAND

282 1 S 0:02 /bin/login -- root

285 4 S 0:00 (mingetty)

286 5 S 0:00 (mingetty)

287 6 S 0:00 (mingetty)

301 1 S 0:01 (bash)

399 1 R 0:00 ps

$

po wydaniu polecenia 'ps -aux', gdzie parametry oznaczają

a - wszystkie procesy (all)

x - dodanie procesów nie kontrolowanych przez terminal (ang. deteched)

u - identyfikacja użytkowników (users)

$ ps -aux

USER PID %CPU %MEM SIZE RSS TTY STAT START TIME COMMAND

bin 95 0.0 0.6 896 44 ? S 20:32 0:00 (portmap)

news 296 0.0 7.9 1580 516 ? S 20:33 0:00 /sbin/innd -p5 -r

news 300 0.0 0.3 872 24 ? S 20:33 0:00 (overchan)

jasio 283 0.1 11.0 1012 716 2 S 20:33 0:01 /bin/login -- jasio

jasio 344 0.1 10.1 1220 656 2 S 20:38 0:01 -bash

asia 358 0.2 10.7 1012 700 3 S 20:39 0:01 /bin/login -- asia

asia 359 0.1 9.7 1216 632 3 S 20:39 0:00 -bash

root 1 0.3 1.6 880 104 ? S 20:30 0:04 init

[...]

root 465 0.0 6.2 928 404 1 R 20:53 0:00 ps -aux

$

USER - użytkownik procesu

PID - numer identyfikacyjny procesu

TTY - procesy związane z naszym terminalem

STAT - status procesu

R - proces działający (ang. running)

T - proces zatrzymany (ang. stopped)

P - proces w stanie spoczynku (ang. page wait)

D - proces w stanie spoczynku (ang. disk wait)

S - proces w stanie spoczynku (ang. sleeping)

I - proces w stanie spoczynku (ang. idle)

Z - proces duch (ang. zombie), zakończył się ale nie rozliczył

sie jeszcze z procesami nadrzędnymi!

TIME - jak długo działa proces

COMMAND - nazwa programu, której odpowiada proces

%CPU - ilość zaangażowania procesora w procesie

%MEM - jaką część pamięci operacyjnej zajmuje proces

START - czas startu procesu

Oczywiście jest to _prawdziwy_ system operacyjny, a nie jakiś windows, czy

inne gówno, tak więc każdy proces, możemy zabić poleceniem:

$ kill [-signal] [PID]

gdzie najsłapszym sygnałem jest ten oznaczony przez -1 a najmocniejszym -9

czyli sygnały numerowane są od -1 do -9.

np.

$ kill 200

200 terminated

$

a jesli proces jest oporny i nie chce dać się ubić, napisz

$ kill -9 [PID]

mało, który to przeżyje ;-)

Aby zabić równocześnie wszystkie procesy, warto napisać:

$ kill -9 -1

Acha, jesli jesteś samobójcą napisz

$ kill -9 0

Hieee, ha, ha ;->

Można też używać polecenia killall, o składni:

$ killall bash

zabije wszystkie procesy związane z zadaniem bash (występuje słowo bash).

Dowolny proces możemy w dowolnym momencie zatrzymać lub przerwać. Do

zatrzymania procesu wystarczy kombinacja klawiszy Ctrl+z, oczywiście

tak zatrzymany proces możemy powtórnie "kontynułować". Aby przerwać

stosujemy kombinację klawiszy Ctrl+c.

Do obsługiwania zadań, posiadamy jeszcze komendy

jobs - wyświetla zadania aktywne ([JOB] to numer zadania)

np.

$ jobs

[1]- Stopped (tty output) man tar

[2]+ Stopped man gzip

[3]+ Running find / -name "*.txt" &

$

gdzie, pierwsza kolumna to numer zadania (JOB), plus lub minus oznacza

aktywne(+) lub nieaktywne(-) zadanie, trzecia kolumna omawia bierzący

stan zadania (Stopped - zatrzymane, Running - w toku), czwarta oznacza,

gdzie znajduje sie wyjście zadania, a piąta, wykonywane polecenie.

bg %[JOB] - uruchamia zawieszone zadanie [JOB], w tle

fg %[JOB] - uruchamia zawieszone zadanie [JOB], w pierwszym planie

kill %[JOB] - przerywa zadanie [JOB]

Obok tu stosowanych metod zarządzania procesami, alternatywną i wygodną

metodą jest praca z programem screen (/usr/bin/screen), program ten

pozwala na pracę na kilku konsolach jednocześnie oraz pozwala na

pozostawienie działających procesów po wylogowaniu!

Program uruchamiamu pisząc:

$ screen

lub

$ /usr/bin/screen

teraz możemy rozpoczynać procesy.

Kombinacja klawiszy Ctrl+a+d pozwala na zakończenie sesji screen'a.

Ponowne uruchomienie screen'a (np. po ponownym zalogowaniu się) przez:

$ screen -r

pokazuje aktywne procesy (screen'y) i ich PID'y. Pisząc:

$ screen -r PID

przechodzimy (powracamy) do danego procesu.

Parametr:

$ screen -x

Pozwala zakończyć "uszkodzoną" sesję screen, a parametr -wipe, usuwa z

pamięci i dysku informację o procesach za'screen'owanych (oczywiście

tych uszkodzonych). Cały czas w czasie działania screen'a aktywne są

kombinacje klawiszy:

Ctrl+a+d - zakończenie sesji z screen'em, można też napisać

exit lub logout

Ctrl+a+c - dodanie dodatkowego ekranu (dla procesu)

Ctrl+a+spacja - przełączenie na następny ekran

Ctrl+a+a - przełączenie na poprzedni ekran

Ctrl+a+0..9 - wybór ekranu o numerze od 0 do 9 (max. 10)

9. Polecenie "su".

W Unix'ie możemy otwierać kilka równoczesnych sesji, aby to zrobić

nie przerywając poprzedniej sesji, piszemy:

$ su -[user]

gdzie, [user] to identyfikator użytkownika, potem podajemy hasło i sesja

jest już otwarta.

10.Jak spakować dane?

W miare wygodnie jest rozwiązane pakowanie i archiwizacja danych w

systemach Unix'owych. Najczęściej używanymi do tego programami są

archiwizator 'tar' (ten program TYLKO! archiwizuje NIE! kompresuje) oraz

kompresory (bardzo często używane razem z 'tar'em), 'gzip' i 'compress'.

Ostatnio coraz cześciej można spotkać, znane ze środowiska DOS i nie

tylko kompresory 'arj', 'rar' oraz 'lharc'.

Polecenia:

$ tar -cvf pliki

Tworzy archiwum z rozszerzeniem 'skompresowany_plik.tar'

(UWAGA! Takie archiwum wypada skompresowac, np. za pomocą 'gzip'a

lub 'compress'a).

$ tar -xvf

Rozarchiwizowuje plik 'zarchiwizowany_plik.tar'.

Poleceniem:

$ tar -tf

Przeglądamy archiwum 'zarchiwizowany_plik.tar'.

$ gzip

Kompresujemy plik 'plik', wynikiem jest powstanie pliku 'plik.gz',

a po wydaniu:

$ compress

Kompresujemy plik 'plik', wynikiem jest powstanie pliku 'plik.Z'.

Tak skompresowane pliki rozpakowujemy:

$ gzip -d

lub

$ compress -d

Najczęściej w Unix'ach stosujemy rozszerzenia *.tar.gz lub *.tgz,

które powstają po archiwizacji programem 'tar' i kompresji

programem 'gzip'.

Rozkompresowujemy poleceniem:

$ tar -zxvf

Najczęściej stosowane opcje:

v - wypisuje komentarze na temat przetwarzania pliku (ang. verbose)

c - zakładanie nowego archiwum (ang. create)

t - wypisywanie zawartości pliku arch. (ang. table of contents)

u - dodawanie nowych plików do arch. (ang. update)

x - odkompresowywanie plików (ang. extract)

z - arch. typu gzip

11.Ile miejsca na dysku?

Warto też znać jak sprawdzić ilość wolnego miejsca na dysk(u/ach).

Piszemy 'df' (ang. disk free)

$ df

Filesystem 1024-blocks Used Available Capacity Mounted on

/dev/hda2 326885 237977 72024 77% /

/dev/hda1 269960 243432 26528 90% /mnt/hdd

gdzie:

Filesystem - nazwa danego systemu plikowego

1024-blocks - ilosc wolnych 1024-bloków (kb) [kbytes]

Used - ilosc używanych 1024-bloków (kb) [used]

Available - ilość wolnych 1024-bloków (kb) [avail]

Capacity - ile procent systemu plików jest zajmowany [capacity]

Mounted on - gdzie dany system plików jest podpięty (patrz dalej)

Drugim użytecznym poleceniem, jest polecenie 'du' (ang. disk usage),

ktore pokazuje ilość miejsca (kb), zajmowanego przez pliki w danym

katalogu oraz we wszystkich podkatalogach. A jako ostatnia wyświetlona

liczbę, podaje łączną objętość wszystkich plików w tych katalogach.

Np.

$ du

13 ./.xfm

26 ./scripts/irc

27 ./scripts

1 ./mail

1208 ./tst

6 ./hack

30 ./tst2

1323 .

$

PS.

Pamieć w systemie Linux możemy skontrolować pisząc np.

$ cat /proc/meminfo

total: used: free: shared: buffers: cached:

Mem: 6643712 6533120 110592 4706304 372736 1679360

Swap: 17543168 204800 17338368

MemTotal: 6488 kB

MemFree: 108 kB

MemShared: 4596 kB

Buffers: 364 kB

Cached: 1640 kB

SwapTotal: 17132 kB

SwapFree: 16932 kB

$

Co poinformuje nas o używanych zasobach (pamieci, swapu itd.)

12.Jak przygotować własny system plików?

Jeżeli chcemy użyc dyskietki, to musimy ją najpierw sformatować:

# fdformat /dev/fd0H1440

formatuje dyskietkę w napędzie 3.5" na 1.44MB, a następnie utworzyć

system plików:

# mkfs -t ext2 -c /dev/fd0H1440

tworzy system plików dla Linux'a (ext2), a

# mformat a:

tworzy system plików, typu dosowskiego (FAT).

Aby skopiować coś na te dyskietki piszemy:

# dd if=file_name of=devie_name

lub

# cp file_name device_name

gdzie,

file_name - plik(i) do skopiowania (nazwa urządzenia)

device_name - nazwa urządzenia na ktore kopiujemy (np. /dev/fd0)

Czyli np. kopiowanie pliku /etc/passwd na dyskietkę w systemie dos,

może np. wyglądać tak:

1) # fdformat /dev/fd0H1440

2) # mkfs -t msdos -c /dev/fd0H1440 lub # mformat a:

3) # mount -t msdos /dev/fd0 /mnt

4) # cp /etc/passwd /mnt

5) # umount /mnt

Oczywiście dyskietkę dos'owska możemy przygotować wcześniej w dos'ie,

wtedy to operacja skróci się tylko do punktów 3), 4) i 5).

O mountowaniu i wymountowywaniu pisze dalej...

Różne Unix'y maja zainterpretowane różne systemy plików i tak np. Linux

posiada (cat /proc/filesystem):

ext

ext2 - Linux

xiafs

minix - Minix

umsdos

msdos - DOS

nfs - Network File System

proc

smbfs

iso9660 - CD-ROM

oraz jeszcze kilka innych...

Aby użyć np. dyskietke czy CD-ROM, a nawet inna partycje z np. DOS'em

trzeba ja najpierw zamountować (polecenie 'mount'), a po zakonczonej

pracy wymountować (polecenie 'umount'). Acha, trzeba pamiętać, że te

polecenie może wydawać tylko root.

I tak aby to robic automatycznie i półautomatycznie, w niektórych

Unix'ach (Linux etc.) stosuje sie plik /etc/fstab

# cat /etc/fstab

/dev/hda2 / ext2 defaults 1 1

/dev/hda3 swap swap defaults 0 0

/dev/fd0 /mnt/fda msdos noauto 0 0

/dev/fd1 /mnt/fdb msdos noauto 0 0

/dev/hdb /mnt/cdrom iso9660 noauto 0 0

/dev/hda1 /mnt/hdd msdos defaults 0 0

none /proc proc defaults 0 0

#

gdzie,

pierwsza kolumna - urzadzenie (system plików)

druga kolumna - gdzie bedzie dostępne urządzenie

trzecia kolumna - rodzaj systemu plików

czwarta kolumna - parametry (np. auto, noauto, defaults, [user])

piąta kolumna - odnosi sie do programu dump

szósta kolumna - odnosi sie do programu fsck (1 - sprawdzać file system

przy boot'owaniu 0 - nie sprawdzać)

teraz wystarczy napisać tylko (po nowym starcie systemu):

# mount

/dev/hda2 on / type ext2 (rw)

/dev/hda1 on /mnt/hdd type msdos (rw)

none on /proc type proc (rw)

#

i już wiemy co i jak (rw - read/write ro - read only), główny katalog

mamy zamountowany w '/', a w katalogu /mnt/hdd, mamy partycje dos'owską.

Teraz aby zamountować cdrom, wystarczy napisać:

# mount /mnt/cdrom

a wymountowć

# umount /mnt/cdrom

Jeśli zaś nie mamy pliku /etc/fstab, musimy napisać

# mount -t iso9660 /dev/hdb /mnt/cdrom

i/lub

# mount -t msdos /dev/hda1 /mnt/hdd

aby zamountować partycje dosowską. Aby wymountować wystarczy napisać

# umount /mnt/hdd

Ogólnie mountujemy pisząc:

# mount -opcje filesystem urządzenie podczepić_pod_katalog

Trzeba pamietać, aby przed zamountowaniem, w np. CD-ROM'ie obecny był CD!

Acha, troche o urządzeniach:

/dev/hda - oznacza pierwszy dysk twardy (IDE/EIDE)

/dev/hda1 - pierwsza partycje na pierwszym dysku twardym

/dev/hda2 - drugi...

/dev/hdb - drugi dysk twardy lub cd-rom

/dev/sda - pierwszy dysk wardy (SCSI)

/dev/sda1 - pierwsza partycja na pierwszym dysku twardym

/dev/sdb - drugi...

/dev/fd0 - pierwsza stacja dysków elastycznych

/dev/fd0H1440 - dyskietka 3.5" 1.44MB

/dev/fd0H1200 - dyskietka 5.25" 1.20MB

/dev/fd1 - druga stacja dysków elastycznych

/dev/cua0 - COM1

/dev/cua1 - COM2

/dev/lp0 - LPT1

/dev/lp1 - LPT2

/dev/null - urządzenie puste

/dev/swap - urządzenie swap

/dev/... - itd.

13.Co to są aliasy?

Aliasy, czyli przypisanie komendy skrótowi,też się przydają, pisząc np.

$ alias skrót=`polecenie -opcje`

np.

$ alias dir=`ls -Fla`

$ alias copy=`cp $1 $2`

to bylo dla bash'a

$ alias skrót "polecenie -opcje"

np.

$ alias dir "ls -Fla"

$ alias copy "cp $1 $2"

to bylo dla tcsh'a.

14.Jak się ze sobą porozumiewać?

Czasami chcemy sie zorientować z kim jednocześnie jesteśmy w systemie,

piszemy:

$ users

root halinka asia

$

I otrzymamy identyfikatory pracujących użytkowników, ale aby wiedzieć

więcej napiszmy:

$ who

root tty1 Jan 27 20:33

halinka tty2 Jan 27 20:38

asia tty3 Jan 27 20:39

$

pierwszy rząd to login użytkownika, drugi to jego (usera) terminal, a

trzeci i ostatni to dokładna data i czas zalogowania. Zaś jeśli napiszemy:

$ whoami

root

$

Otrzymamy identyfikator bierzacego użytkownika, piszac zaś:

$ who am i

alpha!root ttyp1 Jan 27 20:33

$

Otrzymamy to co powyżej, z informacja o nazwie komputera, typu terminala i

dacie i czasie rozpoczecia pracy.

możemy tez napisać:

$ w

8:43pm up 13 min, 3 users, load average: 0.07, 0.20, 0.20

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root tty1 8:33pm 1.00s 11.62s 0.75s w

halinka tty2 8:38pm 42.00s 3.25s 1.32s -bash

asia tty3 8:39pm 4:25 2.87s 0.91s -bash

$

I wiemy trochę więcej...

8:43pm - bieżąca godzina (20:43)

up 13 min - jak długo pracuje nasz system (13min)

3 users - ilu użytkownikow pracuje

load average - obciążenie systemu przez programy

USER - identyfikator użytkownika [User]

TTY - nazwa terminalu [tty]

FROM - informacja dodatkowa []

LOGIN@ - godzina zalogowania [login@]

IDLE - ile czasu upłyneło od ost. naciśniecia klawisza [idle]

JCPU - czas zużyty przez wszystkie programy na danym terminalu

PCPU - oraz przez wszystkie programy w danym momencie

WHAT - nazwa aktywnego procesu [what]

Bardzo często używane jest tez polecenie

$ finger

LOGIN NAME TTY IDLE WHEN WHERE

root root ttyp1 1.01s Jan 20:33 Unknow

$

Dodatkowo dostajemy informacje, gdzie znajduje sie miejsce pracy

użytkownika. możemy tez dokładniej dowiedzieć się więcej o danym

użytkowniku np.

$ finger root@alpha.center.net

Login name: root In real life: root

Directory: /root Shell: /bin/bash

On since Jan 27 20:33:11 on ttyp1 at Unknow

No unread mail

No Plan.

$

Jak widać dowiadujemy się, jakie są prawdziwe personalia użytkownika

(In real life), nazwy jego kartoteki prywatnej (Directory),

rodzaj shell'a (Shell), kiedy sie zalogował (On since), lub kiedy ostatnio

był w sieci (Last login), czy dostał/czytał ostatnią paczkę poczty i kiedy

oraz wyświetla jeśli jest plik .plan (.project) użytkownika (No Plan).

Polecenie możemy jeszcze wywoływać:

$ finger root

$ finger @alpha.center.net

$ finger gutek@194.102.102.7

$ finger @194.241.101.38

itp.

Do porozumiewania sie z innymi użytkownikami, używamy:

mesg y|n - zezwolenie lub nie na przyjmowanie komunikatów

write login [tty?] - wysłanie komunikatu do login, u osoby do której

wyślemy pojawi sie tekst:

Message from alpha!root on tty1 at 23:33 i wiadomosc

talk login[@adres] - możemy nawiazac interaktywny kontakt nie tylko z

osobą z naszego komputera, ale też innego z sieci.

Możliwe komunikaty:

No connect yet - brak połączenia

Waiting for your party to respond - czekanie na odp.

Your party is not logged on - brak partnera w sieci

Ringing your party again - ponowne wezwanie

Connection established - nawiązano połączenie

po stronie adresata pojawi się zaś

Message from Talk_Daemon@kom.net at 23:33

talk: connection requested by root@kom.net

talk: respond with: talk root@kom.net

Czyli jeśli adresat po odczytaniu tego napisze

talk root@kom.net, to połączenie zostanie nawiązane

wall [plik.txt] - wysłanie tekstu do wszystkich użytkowników

rwall [plik.txt] - wysłanie tekstu do wszystkich w sieci

ruser [system] - wyświetla użytkowników pracujących w [systemach]

III. SEKCJA C : sieć

1. Co to jest URL?

URL (Uniform Resource Locator), ustala położenie sieciowe, plików,

katalogów, zapytań, rezultaty wywołań komend, dzwięków itp. itd.

I tak, URL wskazujący na plik, ma postać:

file://host.domena[/ścieżka/][plik]

np:

file://127.0.0.1/plik.zip

URL wskazujący na FTP, ma postać:

ftp://host.domena[/scieżka/][plik]

np:

ftp://127.0.0.1/

Aby zalogować się na konto (=! anonymous), pokryte hasłem piszemy:

ftp://passwd:login@host.domena[/scieżka/][plik]

np:

ftp://de3fk:anika@127.0.0.1/

URL wskazujący na news'y, ma postać:

news:[//host.domena[/ścieżka/]]xxx.yyyyy

np:

news:alt.2600

Uwaga!

Trzeba pamiętać, o zdefiniowaniu zmiennej środowiskowej NNTPSERVER!

URL wskazujący na artykuły Gopher'a, ma postać:

gopher://host.domena[:port][/ścieżka]

np:

gopher://gopher.ae.poz.edu.pl:70/

URL związany z HTTP (HyperText Transport Protocol), ma postać:

http://host.domena[:port][/ścieżka/plik[#etykieta]]

np:

http://www.tande.com/arexus

URL wskazujący na serwer:

telnet://host.domena[:port]

2. Co to jest FTP?

Jeśli zastanawiasz się w jaki sposób przesyłać pliki w ogólno światowej

sieci internet, to mam dla Ciebie przygotowaną odpowiedz, do tego celu

służy (bardzo często), program FTP (File Transfer Protocol)!

Jeśli chcesz "zassać" pliki z jakiegoś komputera, musisz koniecznie

znać jego nazwę lub numer w sieci, oraz mieć na nim założone konto

chronione hasłem.

Na szczęście InterNet ofiwarowuje nam bardzo dużo, tak zwanych,

anonimowych kont (Anonymous FTP), z których bez ograniczeń (z wyjątkami,

z wyjątkami;-), możemy "zassysać" pliki (uwaga znajdziemy sie wtedy w

kartotece specjalnie to tego przeznaczonej, najczęściej /home/ftp/ lub

/usr/ftp (albo podobnej), która nam będzie się pokazywała jako "/", ale to

NIE JEST root directory!!!).

Acha, jeśli logujemy się na konto typu anonimowego, jako login wpisujemy

anonymous lub guest, a zamiast hasła podajemy swój adres pocztowy -

przynajmniej należy to do dobrego tonu, choć nie polecam tego hackerom,

możemy podawać jako hasło np. gucio@elb.pas.edu.pl lub też tylko gucio@.

Komende ftp, możemy wywołać z parametrami:

-d (włącza sledzenie)

-g (wyłącza rozszerzenia nazw plików)

-i (wyłącza zapytania)

-n (wyłącza auto-login) dotyczy to pliku ~/.netrc

gdzie: machine name (nazwa maszyny)

login name (identyfikator)

password str (hasło)

account str (dodatkowe hasło)

macdef name (makrodefinicja)

-v (wyświetla komunikaty)

Łączymy sie na przykład:

$ ftp adres.jakiegoś.komputera.pl

lub

$ ftp

ftp> open adres.jakiegoś.komputera.pl

a dalej

Connected to adres.jakiegoś.komputera.pl

220 jakiś.komputer FTP server (UNIX x.x) ready.

Name (adres.jakiegoś.komputera.pl:gucio): anonymous (lub guest)

331 Guest login ok, send ident at password.

Password: gucio@ (tego nie widać, ale to zależy)

230 Guest login ok, acces restrictions apply.

ftp> bin

200 Type set to I.

ftp>

I teraz używamy sobie stosując komendy, wiekszość o podobnej składnii, jak

omówione wcześniej (II.2 & II.5).

Uwaga, w niektórych komendach można zastosować "!", który okresla komputer

lokalny (wywołana zostaje lokalna powłoka),

np. !cd - zmieni katalog (lokalny)

ls - wydruk zawartości katalogu (zdalnego) wraz z uprawnieniami (dir).

cd - zmiana katalogu (zdalnego).

cdup - zmiana katalogu (zdalnego) na nadrzędny.

pwd - podaje nazwę katalogu (zdalnego).

lcd - podaje nazwę katalogu (lokalnego).

dir - wyświetla katalog (zdalny) i ewentualnie zapisuje do pliku

(lokalnego).

Składnia: dir [katalog_zdalny] [plik_lokalny]

get - pobiera plik z komputera (zdalnego) i zapisuje na lokalnym,

ewentualnie zmienia nazwę pliku na inną.

Składnia: get plik_zdalny [plik_lokalny]

mget - pobiera jeden lub wiecej plików z komputera (zdalnego) i zapisuje

na komputerze lokalnym. Mozna stosować maski!

Skladnia: mget *2.0.{29,30,31}*t[ag][rz]*

mget *.txt

put - umieszcza jeden plik z komputera (lokalnego) i kładzie na komputer

zdalny, ewentualnie zmieniajac jego nazwę.

Skałdnia: put plik_lokalny [plik_zdalny]

mput - umieszcza jeden lub wiece plików z komputera (lokalnego) na

komputer zdalny.

Składnia: mput *.tgz

asc - zmienia (ascii) tryb transferu na ascii (przesyłanie TYLKO tekstu)

Jeśli prześlesz w tym trybie binaria to są już zniszczone!!!!

bin - zmienia (binary) tryb transferu na binarny (przsyłanie wszystkiego

bardzo ważne)!

Oraz inne komendy programu FTP (na platformach UNIX):

! - wywołuje lokalna powłokę.

Składnia: ![komenda_lokalnego_shella [arg]]

$makro [arg] - wykonuje makro, które jest zdefiniowane komenda macdef.

account [pas] - podaje dodatkowe hasło.

append l [z] - dołancza zbiór lokalny (l) do zbioru na odleglym komp.

bell - uaktywnia informowanie dźwiękowe.

bye, quit - konczy sesję ftp (jeszcze close & disconnect).

case - przełącza małe litery na duże.

chmod up pl - zmienia uprawnienia pliku.

cr - rodzaj traktowania znacznika konca linii.

delete - uzuwa plik zdalny.

debug - przełancza tryb sledzenia.

form format - ustala rodzaj formatu transferu.

glob - ...

hash - przełacza wyświetlanie znaku "#" po 1024 bajtach.

help [komend] - pomoc.

idle [sek] - ustawia timer nieaktywności na serwerze

na [sekundy], jeśli nie podamy parametru

to komenda wypisze obecny stan timera,

timer ten określa, po ilu sekundach

nieaktywnosci zakończyć połączenie.

newer pl - pobiera plik z serwera, o ile ten plik jest nowszy niż

ten, ktory my posiadamy na komputerze lokalnym.

nlist [d] [l] - działa tak samo jak ls.

nmap [in out] - konwertuje nazwy plików z in na out - przydatne przy

transferowaniu plikow miedzy roznymi systemami, "Kawałki"

wzorów oznacza się przez kolejne symbole $,

np.: nmap $1.$2 $2.$1, mam np. plik asd.xyz i $1 teraz

oznacza "asd", a $2 "xyz", czyli plik "asd.xyz" zmieni się

w "xyz.asd", jeszcze jedna rzecz: można używać w out takiej

składni jak np.: [seq1,seq2], oznacza to, że w wypadku,

gdy seq1 kończy się zerem, to do przekształcania, wybraną

będzie sekwencja seq2, np: nmap $1.$2 [$2,$1], spowoduje

to przekształcenie pliku (dalej niech przykładem bedzie

"asd.xyz") na "asd" - bo seq1 (czyli $2) jest zakonczony 0

($2 to "xyz"), oczywiście w wypadku, gdy seq1 nie kończy

się zerem, to ona (seq1) jest podstawiana, jeszcze jedno,

jeśli chcemy użyć znaku '$' jako elementu wzoru

(a nie zmiennej), to musimy go poprzedzić '\' - czyli "\$".

[Opis tej instrukcji przepisałem z ftp.txt, autor nieznany]

ntrans [i [o]]- tłumaczy znaki w nazwach plików z i na o podczas

wykonywania komend put, mput, get oraz mget.

macdef nazwa - definiuje makrodefinicje, linia pusta kończy makro.

mdelete - usuwa zdalne pliki zgodne z maską.

mdir z l - wiele katalogów zdalnych w jednym pliku lokalnym. (mls)

mkdir - tworzy katalog zdalny.

mls z l - wiele katalogów zdalnych w jednym pliku lokalnym.

mode [tryb] - ustala tryb transferu.

modtime pl - podaje czas ostatniej modyfikacji pliku z serwera.

open kom [pr] - nawiązuje połączenie z hostem (kom), przez port (pr).

prompt - wyłancza potwierdzenie.

proxy kom_ftp - wykonuje komendę ftp na dodatkowym połączeniu.

quote arg1 ...- przesyła argumenty do serwera.

recv z [l] - synonim polecenia get.

reget z [l] - pobieranie pliku z serwera (z), w ten sposob, że jeśli na

maszynie lokalnej mamy już taki plik, to będzie do niego

dodawana zawartość pliku z serwera (z), komenda ta

umożliwia wznowienie transferu pliku po np.: zerwaniu

połączenia, czy innych kłopotach z siecią.

remotehelp - zdalny help.

reset - czyści kolejkę odpowiedzi, rozsynchronizuje

sekwencjonowanie komend i odpowiedzi serwera z komputerem

lokalnym.

restart offset- restartuje get lub put od określonego offsetu.

rename - zmienia nazwe pliku.

rmdir - usuwa zdalny katalog.

runique - unikalna nazwa na lokalnym komputerze.

sunique - unikalna nazwa na zdalnym komputerze.

send - tak jak put.

sendport - włącza i wyłącza korzystanie z komendy PORT.

site arg1 ... - przesyła argumenty serwerowi jako komendy SITE.

status - pokazuje status ftp.

struct [naz] - ustala nazwę struktury.

system - podaje nazwę systemu operacyjnego serwera.

tenex - zmien rodzaj transferu na taki, by dogadać się z

maszynami TENEX.

trace - łącza sledzenie pakietów.

type [typ] - określa typ transferu.

user l [p] [k]- identyfikacja usera na odległym ftp.

verbose - włącza komunikaty.

? [kom] - jak help [kom].

3. Co to jest Telnet?

Telnet umożliwia zdalną prace na komputerze (np. korzystanie z usług

publicznych - bazy danych, katalogów bibliotecznych).

Jak? Tak:

$ telnet adres.pl [port]

lub

$ telnet

telnet> open adres.pl [port]

Kończymy sesję naciskając (najczęściej) ^] (Ctrl-])]

Niektóre komendy programu telnet:

? [komenda] - pomoc.

open komp [p] - połączenie z hostem komp na porcie (p).

close, quit - koniec.

mode typ - typ przesyłania (line/char).

status - status programu telnet.

display [arg] - pokazuje wybrane wartości.

send arg - wysyła na komputer znaki specjalne.

set arg wart - ustawia zmienne telnet'u.

4. Co to jest WWW?

WWW (W3) czyli World-Wide-Web, jest usługą internetową, opartą na

hipertekście, a dokładnie na protokole http (HyperText Transfer Protokol).

Dokumenty połączone są między sobą poprzez wyselekcjonowane zwroty, np.

aREXus, kilikając na aREXus,

przeniesiemy się do dokumentu na stronie www.tande.com/arexus!

Do porusznia się po świecie WWW używamy browserów.

Najbardziej znane to:

Lynx - klient textowy (Unix)

Netscape - klient graficzny (DOS, Unix, Windows'95, Windows'NT)

Explorer - klient graficzny (DOS, Windows'95, Windows'NT)

5. Co to jest Gopher?

Gopher to program nawigacyjny do przeglądanie dystrybuowanych

elektronicznie dokumentów. Łączy w sobie cechy indeksowanej bazy danych

i elektronicznego serwisu informatycznego.

Protokół i oprogramowanie Gophera jest typu klient-serwer.

Do informacji mamy dostęp na dwa sposoby:

- browsing, polega na przeglądaniu kolejnych poziomów katalogu.

- searching, umożliwia szybki dostęp.

Obiektem dla Gophera może być:

- katalog

- plik tekstowy (niektóre programy mogą odbierać pliki dzwiękowe i grafikę)

- indeks adresowy

- program wyszukujący

- wejście do sesji telnetowej z innym systemem informacyjnym

Sesję zaczynamy:

$ telnet hum.amu.edu.pl [port]

login: gopher [port]

lub

$ gopher hum.amu.edu.pl [port]

6. Co to jest Veronica?

Veronica to skrót od (very easy rodent-oriented net-wide index to

computerized archives) i jest systemem wyszukiwania obiektów i

otrzymywania list tytułów serwisu Gopher. Połączenia z serwisem Veronica

sa udostępniane w wiekszości serwerów Gophera.

Veronica spełnia dwie funkcje:

- Zbiera dane

- Oferuje poszukiwanie bazy klienta Gophera.

7. Co to jest Wais?

Wais (Wide Area Information Serwer) jest systemem informacyjnym

rozpowszechniania, wyszukiwania i odbierania danych.

Połączenie:

$ telnet sunsite.unc.edu [port]

login: swais [port]

lub

$ gopher sunsite.unc.edu 70

8. Co to jest Archie?

Archie jest systemem informacyjnym pozwalającym znaleść informację w

InterNet'cie (szybkie przeglądanie).

Połącznie:

$ telnet archie.icm.edu.pl

login: archie

Komendy i parametry:

exit, quit, bye - Zakończenie sesji.

help [kom] - pomoc

list [wzorzec] - określa listę sitów opisanych w bazie danych np:

list \.pl$ - wyświetla wszyskie polskie site'y!

site [gdzie] - wyświetla katalogi i pliki w [gdzie].

whatis [znaki] - szuka łancuchu znaków.

prog znaki | wzorzec

find znaki | wzorzec - odnajduje pliki i katalogi, oraz ich adresy.

mail [adres] - przesyła wynik sesji na [adres].

show [zmienna] - wyświetla wartości zmiennych.

set zmienna wartosc - ustawia zmienną.

term term [w] [k] - informuje serwer o danym terminalu np.

set term xterm 24 100

. - oznacza jeden dowlony znak.

^ - musi się zaczynać od ciągu znaków.

$ - musi się kończyć od ciągu znaków.

9. Co to jest E-mail?

E-mail - Poczta sieciowa!

Wysyłanie poczty:

$ mail -v -s "Temat:" kogos@adres

To jest tekst poczty.

To jest tekst poczty.

lub (. i Enter).

czytanie poczty:

$ mail

Po więcej informacji otrzymasz po napisaniu:

$ man mail

10. Co to są Newsy i Usenet?

Newsy innaczej NetNews, Usenet to system pozwalający wymieniać artykuły.

11. Co to jest Jughead?

Jest to narzędzie do wyszukiwania serwerów Gophera w InterNet'cie.

IV. SEKCJA D : podstawy

1. Co to jest FakeMail?

Być może chciałbyś wysłać do osoby nielubianej liścik, który by był

"prawie" anonimem, co? Jest na to sposób, zaraz Ci to wytłumaczę...

Co musisz mieć, oczywiście to co zawsze, po pierwsze dostęp do InterNet'u,

a po drugie sprawny program telnet (klient), wysyłać możesz ręcznie

(to właśnie zaraz Ci wytłumaczę) lub automagicznie (za pomocą programów

dostępnych w sieci).

Wysyłać możesz pod dowolnym systemem, nawet spod badziewnego znaku m$.

Oki, po kolei:

Po pierwsze musisz napisać:

# telnet jakis.host.na.swiecie 25

Czyli po prostu zatelnetowac, na port 25 dowolnego (no prawie) systemu,

np. pipeta.chemia.pk.edu.pl, dalej, gdy pojawi się odpowiednie

zgłoszenie systemu, piszemy, zatwierdzając enterem:

HELO jakas.wymyslona.domena

Wymyślamy sobie jakąś domenę, następnie...

MAIL FROM: odemnie@jakas.wymyslona.domena

jakiś login, z wcześniej wymyśloną domeną oraz...

RCPT TO: dokogo@gdzie.wyslac.list

do kogo wysyłamy dany list, a później...

DATA

przechodzimy do pisania treści listu, koniecznie zaczynająć od:

From: odemnie@jakas.wymyslona.domena

To: dokogo@gdzie.wyslac.list

Subject: Temat listu...

Reply-To: totu@ma.przyjsc.odpowiedz

Ostatni wiersz, Reply-To: (...), zaznacza, gdzie ma przyjść odpowiedz,

a dalej już nasza wymyślona treść listu, którą kończymy kropką i

piszemy QUIT, czyli:

To jest tresc listu

To jest tresc listu

To jest tresc listu

.

QUIT

I już koniec list został wysłany do adresata ;-)

Jeszcze innym sposobem wysłania listu z dowolnym polem From: jest

zainstalowanie sobie Qmail (MTA) dla systemów Unix'owych, np. Linux'a i

odpowiednie ustawienie zmiennych otoczenia na np (bash|sh):

export MAILUSER=odemnie

export MAILHOST=jakas.wymyslona.domena

Oraz odpalenie poczty i wiooo...

V. SEKCJA E : internet

1. Gdzie szukać w InterNet'cie?

http://free.polbox.pl/ - bezpłatne e-mail i strony WWW (PL)

http://www.polbox.com/ - bezpłatne e-mail i strony WWW (GB)

http://friko.onet.pl/ - bezpłatne e-mail.

VI. SEKCJA F : koniec

No i już koniec pierwszej, podstawowej ver.! Następna, bardziej

zaawansowana, lada tydzień!

1



Wyszukiwarka

Podobne podstrony:
Komendy DOS, Win98, Linux, Podstawowe polecenia systemau DOS, Podstawowe polecenia systemu DOS
polecenia linuxa, Linux, Linux - podstawy
Instalacja serwera na linux - instrukcja, Linux, Linux - podstawy
Linux Dla Każdego, Linux, podstawy
linux podstawy JO2K455FRRRG2WQTZUB3PF4UX2W4PQ5TCPG6KCQ
cwiczenia z systemu linux podstawy obslugi systemu
Linuks, Linux, podstawy
Linux, Podstawy
linux podstawy RM5VKLA2O64PLLDUL3Z5NXOEQFNIYPBVM3CCQRA
Linux podstawy (Piotr Stykowski)
cwiczenia z systemu linux podstawy obslugi systemu
SO Linux Podstawowe Polecenia i Filtry
Linux Podstawowe Komendy
Red Hat Linux podstawy, instalacja
Podstawowe komendy i polecenia w Linux
LINUX, SZKOLNE PLIKI-mega zbiory (od podstawówki do magisterki), Systemy operacyjne

więcej podobnych podstron