Podstawy Informatykiwilk/wyk-dzmet/w_met2.pdfPrzekierowanie strumienia danych program plik (wynik do...

40
Podstawy Informatyki Podstawy Informatyki Metalurgia, I rok Wyklad 2 UNIX

Transcript of Podstawy Informatykiwilk/wyk-dzmet/w_met2.pdfPrzekierowanie strumienia danych program plik (wynik do...

Podstawy InformatykiPodstawy Informatyki

Metalurgia, I rok

Wykład 2

UNIX

Dennis Ritchie

Ken Thompson

Linus Torvalds

TwórcyTwórcy

Historia systemu UNIXHistoria systemu UNIX

1966 - rozpoczęcie prac na Multicsem, zespół naukowców z Bell Labs, MIT i General Electric, wśród tych pierwszych Ken Thompson

1969 - pierwsza wersja Unix napisana w asemblerze w ośrodku Bell Labs firmy AT&T (stan New Jersey, USA) przez Dennisa Ritchie i Kena Thompsona

......

1983 - rozpoczęcie projektu GNU (GNU's Not Unix)

1991 -wrzesień powstanie jądra Linux, wersja 0.01

1994 - powstają firmy Red Hat Linux oraz Caldera

13 marca - Linux 1.0

Systemy UNIXSystemy UNIX

� Na wszystkie typy komputerów, od prostych PC do superkomputerów

� systemy od początku wielodostępne i wielozadaniowe

� łatwe w konfiguracji (pliki tekstowe)

� przeznaczone głównie do pracy zdalnej

� jasno określone prawa użytkowników

Systemy UNIXSystemy UNIX

� Android: jest oparty na jądrze Linuxa

� MacOS X: niektóre części z implementacji Unixa: FreeBSDi NetBSD

� Linux – od PC po superkomputery, np Zeus w ACK Cyfronet pracuje pod Scientific Linux, IBM BladeCenterHS21 pod Linux RedHat

� Serwery SUN (np. sendzimir) – SUNOS, potem Solaris, od 2011 Oracle Solaris

� Serwery IBM – AiX

� Silicon Graphics – Irix

� HP – HP-UX

� DEC – Ultrix

� "Darmowe" Unixy – Linux, FreeBSD, OpenSolaris itd.

Wielozadaniowość i wielodostępWielozadaniowość i wielodostęp

� jednozadaniowość - kolejne zadanie wykonywane po zakończeniu poprzedniego

� wielozadaniowość - wykonywanie wielu zadań w „tym samym” czasie.W rzeczywistości zadania są wykonywane kolejno w przydzielonych im przedziałach czasowych (chyba że jest kilka procesorów)

� wielodostęp - w tym samym czasie z jednego komputera korzysta wielu użytkowników

Praca w systemie UNIXPraca w systemie UNIX

Konta w systemie UNIXKonta w systemie UNIX

� niepowtarzalny identyfikator

użytkownika (login)

� wejście do systemu po podaniu hasła

� użytkownik posiada katalog domowy i

fragment dysku do dyspozycji (często

limitowany)

� użytkownik posiada skrzynkę pocztową (najczęściej o adresie:[email protected] )

� uprawnienia w systemie zależą od przynależności do odpowiedniej grupy

wsarga:x:2369:800:Waldemar Sarga:/home/stud/met2007/wsarga:/bin/tcsh

zkulig:x:2370:800:Zuzanna Kulig:/home/stud/met2007/zkulig:/bin/tcsh

zlitwin:x:2371:800:Zofia Litwin:/home/stud/met2007/zlitwin:/bin/tcsh

login:hasło:nr:grupa:opis:katalog_domowy:powłoka

PlikPlik passwdpasswd –– dane użytkownikówdane użytkowników

�komenda passwd - zmiana hasłaold (login) password

dwukrotnie new passwordhasło nie jest widoczne na ekranie!

Drzewo folderówDrzewo folderów

lscd

chmod...

bin lib

usr etc

jkowalsk anowak

zaocz

jlorek knowak

met2012 dokt

stud prac

home bin

jkowalskanowakjlorek

knowak

mail

var

/ (root)

System plikówSystem plików

� W systemie UNIX zarówno dyski jak i wszystkie urządzenia zgrupowane są w jeden duży system plików

� każdy plik interpretowany jest jako strumień bajtów

� „pliki” urządzeń to są programy do sterowania nimi (drivery)

� każdy plik ma przypisane uprawnienia dostępu: dla właściciela, grupy i wszystkich

UprawnieniaUprawnienia

� Właściciel pliku może dodać lub odjąć uprawnienia dostępu do niego

� prawa dostępu do czytania (r), zapisu, modyfikacji, kasowania (w) oraz do uruchomienia (x) są ustalane oddzielnie dla właściciela (u), grupy (g) i dla innych (o)

� tylko „super użytkownik” (root) ma prawa do wszystkiego, ale takie uprawnienia ma tylko administrator systemu

� Na listingu uprawnienia wyglądają tak:

-rwxrwxrwx . . . . . . . . . . . . .plik| u | g | o |

Zmiana praw do pliku:chmod [ugo][+/-][rwx] nazwa_pliku

u - właściciel (user)

g - grupa (group)

o - inni (others)

+/- odbieranie (nadawanie) uprawnień

chmod go+rx aa – nadanie prawa czytania i wykonywania (rx) pliku aa przez grupę i wszystkich innych (go)

chmod o-w bb – odebranie prawa zapisu (w) do pliku bb dla

wszystkich innych

Zmiana praw do pliku Zmiana praw do pliku -- inaczej:inaczej:

chmod nnn nazwa_pliku

Jeśli każde prawo dla każdej kategorii użytkowników zinterpretować binarnie (1-jest 0-brak)

to np zestaw praw:

-rwxr-xr-- aa

-111101100

możemy zapisać dziesiętnie: 754

Aby nadać taki zestaw praw (niezależnie od stanu

początkowego):

chmod 754 aa

� Pliki tworzone są przez użytkownika. Mogą być modyfikowane, kopiowane lub usuwane.

� tekstowe (ASCII, html, źródłowe w c, pas, for),

� pliki binarne (wykonywalne, graficzne, dźwiękowe, skompresowane...)

Nazewnictwo plików :

WINDOWS:

nazwa.rozszerzenie (Np. list1.txt, prog3.for)

nazwa - dowolny ciąg znaków,

rozszerzenie - dowolny ciąg znaków

UNIX:

większa dowolność, np.

nazwa nazwa.c aa.bb.cc

.nazwa pliki "ukryte" (nie pokazuje ich normalny ls)

"ala ma kota" – dozwolone, ale nie polecane

Rozszerzenia specjalne:

� nazwa.txt - plik tekstowy (ASCII) - list1.txt, raport.txt

� nazwa.exe - plik wykonawczy,

� nazwa* - plik wykonawczy,

� nazwa.f - zbiór źródłowy programu w języku

FORTRAN,

� nazwa.p - zbiór źródłowy programu w języku Pascal,

� nazwa.cpp - zbiór źródłowy programu w języku C++,

� ....

Polecenia w systemie UNIXPolecenia w systemie UNIX

Przykład:

ls -al /var ↵komenda opcje parametry Enter

Podstawowe komendy będą pokazane na ćwiczeniach

Komendy Unixa

� passwd - zmiana hasłaold (login) passworddwukrotnie new password

� w - informacja o aktualnie pracujących w sieci� write adresat - pisanie tekstu na ekranie adresata

� talk adresat - “rozmowa” z adresatem z wykorzystaniem klawiatury i ekranu monitora

To "komunikatory" sprzed epoki gg ;-)

� man komenda - pomoc na temat komendy,czyli tzw. help

� ps - informacja o aktualnie wykonywanych zadaniach� ps -f pełna informacja o aktualnie wykonywanych

zadaniach

� W celu przerwania procesu należy:

� 1. “zalogować” się w innym okienku� 2. wykonać komendę:

ps -f

� 3. wykonać komendę:

kill -9 nn (np. 125)

UID PID TTY TIME COMMAND

kowal 37 tty01 0:34 -csh

nowak 125 tty02 2:28 vi prog.f

janusz 328 tty03 1:52 mail

Komendy UNIXa, cd:

ls - listowanie zawartości katalogu (listing),48%{sendzimir}/home/sysadm/wilk/dydaktyka/c>ls

kar* karman.cpp karman.out press.dat

karman* karman.dat karman1.cpp

ls –l – "długi" listing

49%{sendzimir}/home/sysadm/wilk/dydaktyka/c>ls -l

total 526

-rwx------ 1 wilk sysadm 20628 Nov 14 2005 kar*

-rwx------ 1 wilk sysadm 20632 Nov 4 2003 karman*

-rw------- 1 wilk sysadm 3949 Nov 4 2003 karman.cpp

-rw------- 1 wilk sysadm 94 Nov 4 2003 karman.dat

-rw------- 1 wilk sysadm 199038 Nov 14 2005 karman.out

-rw-r--r-- 1 wilk sysadm 4778 Oct 28 2003 karman1.cpp

-rw------- 1 wilk sysadm 2830 Nov 14 2005 press.dat

ls -al (pokazuje również pliki/foldery z kropką na początku nazwy)

np.

drwxr-xr-x 11 root 512 Jun 18 13:42 ./

drwxr-xr-x 23 root 512 May 31 08:16 ../

-rw-r--r-- 1 root 120 Oct 18 15:06 .plikrc

drwxrwxrwx 10 root 512 Jun 25 13:40 common/

drwx------ 2 root 8192 Feb 18 2000 lost+found/

drwxr-xr-x 14 root 512 Jan 18 2002 prac/

-rw-r--r-- 1 root 2097120 Oct 18 15:06 quotas

drwxr-xr-x 33 root 512 Oct 7 10:08 stud/

d|rwx|rwx|r-x il. dow. właściciel wielkość data czas nazwa_pliku

d - folderw - prawo pisania do plikur - prawo czytania plikux - prawo wykonywania pliku

mkdir nazwa_folderu - utworzenie folderu nazwa_folderu (make directory)

Np. mkdir programy

rmdir nazwa_folderu - usunięcie folderu nazwa_folderu,

Np. rmdir listy

cd nazwa_folderu - zmiana folderu roboczego na folder nazwa_folderu,

Np. cd programy

cd programy/matem/geometria

cd .. - przejście do folderu powyżej folderu roboczego,

aa1 aa2 aa3

aa bb

cc1

cc

/(korzeń)

cd aa1

cd ..

cd /aa/aa2

pwd – wyświetla nazwę folderu roboczego

cp plik1 plik2 - kopiowanie jednego pliku na drugi plik (lub kopia pod inną nazwą/ w innym położeniu),

Np. cp prog_1.for prog_2.forrm nazwa_pliku - usunięcie pliku nazwa_pliku

Np. rm list3.txtmv nazwa1 nazwa2 - zmiana nazwy pliku nazwa1 na nazwa2, lub przemieszczenie pliku

Np. mv zadanie.doc problem.docrmdir nazwa_folderu - usunięcie folderu nazwa_folderu,

Przekierowanie strumienia danychPrzekierowanie strumienia danych

program <plik (dane z pliku zamiast z klawiatury)

program >plik (wynik do pliku zamiast na ekran)

program >>plik (wynik dopisany na końcu pliku

zamiast na ekran)

program1 | program2 (wynik programu1 jako

dane programu2)

Filtrowanie strumienia danychFiltrowanie strumienia danych

cat plik (drukuje plik na ekranie)

cat >plik (znaki z klawiatury kopiuje do pliku, Ctrl-D kończy)

cat plik1 plik2 >plik3 (skleja plik1 i plik2,

wynik zapisuje do plik3)

cat plik |more (more stronicuje wydruk pliku)

cat plik |grep wzor (grep szuka w pliku zadanego

wzorca i drukuje całe linie ze wzorcem)

cat plik |sort (sort sortuje linie pliku )

cat plik |wc (wc zlicza ilość znaków, słów i linii w

tekście )

Uwaga! zamiast cat plik można wstawić dowolną

komendę, której wynikiem jest tekst, np.ls –l | more

Praca zdalnaPraca zdalna

� Użytkownicy najczęściej pracują w systemie

poprzez sieć komputerową

� do połączenia służą odpowiednie urządzenia

(terminale) lub programy na komputery PC

� najczęściej stosowane oprogramowanie to

telnet (nieszyfrowany) i ssh (szyfrowany)

� do aplikacji graficznych najczęściej służą

programy Xwindows

Sieć komputerowa (Internet)

laboratorium B-4

B-1

UCI

Cyfronet

laboratoria B-5

B-6

Poczta komputerowa (E-mail) w UNIX� You have mail

� Adres E-mail: [email protected]

� mail - komenda poczty komputerowej (informuje, czy jest jakiś list),

No mail for ....... (gdy nie ma listu)

Gdy jest list:>O 1 Mail System Intern Wed Jul 23 13:14 17/589 DON'T DELETE THIS

O 2 Maria M Fri Jul 25 12:03 61/2582 zyczenia

O 3 [email protected] Fri Jul 25 12:25 45/1916 Raport DNS

� Czytanie listów:

� mail -> prompt ?

p - wyświetlenie listu na ekranie

d [n] - usunięcie listu [n]

s [nazwa_pliku] - zapisanie listu jako nazwa_pliku

2 - skok do listu o numerze 2

r - odpowiedź na list

q - wyjście z poczty

x - wyjście z poczty bez dokonania zmian

� mail adresat - wysyłanie listu do adresata

Subject: Nagłówek listu

�Treść listu (bla, bla, bla ......).

�Zakończenie pisania listu – Ctrl-D lub przejście do nowej linii i wpisanie kropki

� ? - pomoc - wyświetla wszystkie komendy poczty

� Programy do obsługi poczty (Unix):

� pine, elm

Programy pocztowe w Windows(outlook, netscape, mozilla...)

Programy pocztowe w Windows(outlook, netscape, mozilla...)

� Do działania potrzebny jest serwer poczty przychodzącej i serwer poczty wychodzącej.

� Program pocztowy transferuje zawartość skrzynki pocztowej użytkownika (po autoryzacji) z serwera na

lokalny PC. Po przeczytaniu, poczta na serwerze

powinna być skasowana!

� Program pocztowy transmituje napisany list do

wskazanego serwera. Ten wysyła pocztę dalej. Nie każdy serwer wyśle naszą pocztę – zabezpieczenia

antyspamowe.

Konfiguracja poczty – Mozilla ThundebirdKonfiguracja poczty – Mozilla Thundebird

Konfiguracja poczty – Mozilla ThundebirdKonfiguracja poczty – Mozilla Thundebird

To dla pracy wewnątrz sieci AGH

Dla pracy spoza AGH ustawić wg.

http://poczta.agh.edu.pl/info.html

Można też ustawić:

„bez szyfrowania”

ftp ftp (nie szyfrowany, często zablokowany)

� ftp nazwa komputera (zdalnego) do którego chcemy przesłać lub

z którego chcemy skopiować zbiór

login:

password:

� ftp> dir - listowanie zawartości zbiorów na zdalnym komputerze

� cd nazwa katalogu - zmiana katalogu na zdalnym komputerze

� ascii - przesylanie zbiorow ASCII

� binary - przesylanie zbiorow binarnych

� get nazwa zbioru - pobranie zbioru ze zdalnego komputera

� put nazwa zbioru - przesłanie zbioru do zdalnego komputera

� mget (mput) * - pobranie (przesłanie) wszystkich zbiorów z danego katalogu. System pyta o każdy zbiór.

� bye - wyjście z ftp

WinSCPWinSCP

Programy do pracy zdalnejProgramy do pracy zdalnej

telnet� dostępny w pakietach do

obsługi sieci tcp/ip oraz w Windows (od 95)

� transmisja nie szyfrowana (możliwość podsłuchu)

� w zabezpieczonych sieciach i serwerach jest wyłączony

� telnet w Windows źle obsługuje niektóre funkcje terminala

ssh� cała transmisja szyfrowana

� jedyny sposób połączenia przy zabezpieczonych komputerach

� przenosi w „tunelu” trans-misję innych protokołów, np. mail, X11, ftp.

� klienty i serwery ssh w wersji darmowej są dostępne dla Windows (np. putty) i Unix (openssh)

puttyputty

149.156.111.10

lub

sendzimir.metal.agh.edu.pl

http://www.putty.org/

Programy graficzneProgramy graficzne

� praca w systemie klient - serwer

� obliczenia na serwerze, wyświetlane na terminalu

zdalnym

� terminal to albo specjalne urządzenie, albo program

na PC, zazwyczaj płatny

� najczęściej używany jest znormalizowany system

programów o nazwie X11