Upload
dangliem
View
228
Download
2
Embed Size (px)
Citation preview
Pojęcie komputera
Komputer (dawniej maszyna cyfrowa) to urządzenie (zespół urządzeń), które:
• pobiera dane wejściowe
• wykonuje na tych danych pewne operacje (obliczenia) zgodnie z określoną z góry kolejnością poleceń programu (będącego skończonym ciągiem rozkazów/instrukcji do wykonania, podanym w postaci zrozumiałej dla komputera)
• otrzymane wyniki tych operacji (obliczeń) przesyła użytkownikowi.
Powstanie i rozwój komputerów (urządzeń technicznych zdolnych do gromadzenia, przechowywania i przetwarzania informacji) datuje się od początku lat 40-tych XX wieku.
System informatyczny
System informatyczny (komputerowy) to system
obejmujący:
• komputer,
• oprogramowanie
• i zwykle bank danych (bazą danych
i oprogramowaniem do jej
bezpośredniej obsługi).
Narzędzia informatyki to:
• komputery + oprogramowanie
• (hardware + software)
Rodzaje komputerów
• Superkomputery - zastosowania specjalne, np. w nauce lub wojskowości
• Duże komputery (ang. mainframe) - stosowane np. w bankowości
• Minikomputery - najczęściej stosowane jako serwery do obsługi przedsiębiorstw, grup użytkowników, sieci komputerowych.
• Mikrokomputery (komputery osobiste) - przeznaczone dla pojedynczego użytkownika (IBM PC, MacIntosh)
• Laptopy, notebooki - komputery przenośne
• Palmtopy
• Tablety
Architektura komputera
Architektura komputera to ustalenia obejmujące:
• organizację i strukturę komputera
• procesor i zbiór realizowanych przez niego instrukcji
• pamięć i sposoby jej organizacji
• magistrale systemowe
• urządzenia wejścia/wyjścia
Architektura von Neumanna
• W 1946 r John von Neumann (1903-1957) podał założenia, które stały się standardem w architekturze komputerowej.
• Model ten obowiązuje do dzisiaj w tradycyjnych komputerach sekwencyjnych (większość komputerów).
• Elementami komputera sekwencyjnego są:
• procesor - jednostka arytmetyczno-logiczna (w tym arytmometr),
• pamięć operacyjna o liniowej adresacji, w której jest zapisany program i dane,
• układy sterujące,
• systemy wejścia/wyjścia (we/wy).
Procesor
• Procesor (mikroprocesor, CPU – Central Processor Unit) to bardzo złożony, o dużej skali integracji układ scalony, który wykonuje rozkazy, nadzoruje i synchronizuje pracę wszystkich urządzeń w komputerze.
• Zadania procesora:
• pobieranie rozkazów z pamięci,
• dekodowanie rozkazów i ich interpretowanie,
• pobieranie danych – z pamięci lub bezpośrednio z urządzeń wejścia,
• przetwarzanie danych, czyli przeprowadzanie na danych operacji arytmetyczno-logicznych,
• zapisywanie danych – w pamięci lub na urządzeniach wyjścia.
Budowa procesora
Procesor tworzą:
• jednostka arytmetyczno-logiczna (arytmometr) – wykonuje obliczenia,
• jednostka sterująca – odpowiada za przepływ informacji i steruje pracą całego układu,
• rejestry - bardzo szybka pamięć o niewielkiej pojemności, służy do przechowywania bieżących danych i adresów: • akumulator (A) – przechowuje argument lub wynik obliczeń
• licznik rozkazów (LR) – zawiera adres następnego do wykonania rozkazu
• flagi – określają wektor stanu procesora i wykonywanych obliczeń (np. flaga znaku, flaga zera itd.)
Lista rozkazów - funkcjonalnie pełny zestaw poleceń „zapisanych” w języku maszynowym, które procesor potrafi wykonać
Architektura CISC, RISC, EPIC
CISC (Complex Instruction Set Computers):
• rozbudowana (kilkaset), uniwersalna lista rozkazów procesora
• zróżnicowany format rozkazów
• mała optymalizacja działania
• do pamięci może odwoływać się bezpośrednio duża liczba rozkazów
RISC (Reduced Instruction Set Computers) (ARM, MIPS, SPARC):
• zredukowana (kilkadziesiąt) lista rozkazów procesora
• rozkazy są prostsze, bardziej zunifikowane, upraszcza to dekodowanie
• zwiększona liczba rejestrów
• zmniejszona liczba odwołań procesora do pamięci
• procesory są wydajniejsze niż procesory o architekturze CISC
EPIC (Explicitly Paralell Instruction Computing)
• rozkazy CISC-owe są rozbijane na mikrorozkazy, które następnie są wykonywane przez RISC-owy blok wykonawczy
Cykl rozkazowy
Procesor pracuje w tzw. cyklu rozkazowym (maszynowym):
1. Pobranie z pamięci wskazanej przez adres podany w liczniku
rozkazów kolejnego słowa maszynowego i przekazanie go do
dekodera
2. Rozpoznanie słowa (rozkaz lub dana); jeśli jest to rozkaz, to następuje
wydzielenie części operacyjnej (nr rozkazu z listy rozkazów procesora)
i części adresowej (adres lub adresy argumentów i/lub wyniku)
3. Na podstawie adresów pobranie z pamięci argumentów i wykonanie
polecenia (odwołanie się do odpowiedniego układu w arytmometrze)
oraz przesłanie wyniku pod wskazany adres
4. Zwiększenie zawartości licznika rozkazów o 1 (lub o założoną
jednostkę)
5. Jeżeli operacja nie dotyczyła zakończenia programu, to powrót do pkt.1
Praca procesora regulowana jest przez sygnał zegarowy.
Pamięć
Pamięć służy do przechowywania programów i danych.
• Fizycznie jest to zestaw układów elektronicznych, z których każdy w
elementarnej postaci może przyjmować dwa rozróżnialne stany 0 i 1.
• Charakterystyki pamięci:
• wewnętrzna (np. RAM), zewnętrzna (np. pamięć flash);
• dostęp: sekwencyjny (np. taśma magnetyczna), bezpośredni (np.
dysk twardy), swobodny (np. RAM);
• ulotna (np. RAM), trwała (nieulotna, np. dysk twardy, CD-ROM);
• tylko do odczytu (np. ROM), zapisywalna 1 raz (CD-R) lub wiele
razy (CD-RW);
• półprzewodnikowa (np. RAM, flash), magnetyczna (np. dyskietka),
optyczna (np. DVD-ROM), magnetooptyczna.
Parametry pamięci
Podstawowe parametry pamięci:
• pojemność – wyrażana w wielokrotnościach bajtów (B),
np. 120 GB,
• czas dostępu – czas niezbędny do zrealizowania
operacji zapisu/odczytu lub czas potrzebny na
umieszczenie mechanizmu zapisu/odczytu w żądanym
miejscu, od kilku ns (cache) do kilku ms (dysk twardy),
• szybkość zapisu/odczytu.
Rodzaje pamięci
• ROM (Read Only Memory) – pamięć trwała, tylko do odczytu,
zawartość zostaje zapisana podczas procesu produkcji i np.
umożliwia zainicjowanie pracy komputera po włączeniu (BIOS -
testowanie, wczytanie systemu operacyjnego).
• PROM pamięć tylko do odczytu z programowalną zawartością:
• EPROM optycznie (UV) wymazywalna, odczytywana i
zapisywana elektrycznie,
• EEPROM elektrycznie wymazywalna,
• pamięć flash odmiana pamięci EEPROM.
• RAM (Random Access Memory) – pamięć ulotna, o dostępie
swobodnym, wielokrotnie zapisywalna; przechowuje programy i
dane.
RAM
RAM to układy scalone zwane modułami pamięci (SIMM, DIMM, RIMM).
Istnieją różne odmiany pamięci RAM:
• SRAM (Static RAM) - nieulotna, bardzo krótki czas dostępu ~ 5-8 ns, cena (!)
• DRAM (Dynamic RAM) – wymaga odświeżania, czas dostępu ~ 50 ns
• SDRAM (Synchronous DRAM) – zoptymalizowany sposób odświeżania
• DDR SDRAM (Double Data Rate SDRAM)
• DDR2 SDRAM – większa przepustowość
• DDR3 SDRAM – większa przepustowość
Hierarchia pamięci
• Rejestry - < 1 kB, < 1 ns
• Cache (pamięć podręczna, kieszenie) – zapewnia buforowanie
danych między procesorem i pamięcią operacyjną, nie wymaga
odświeżania (architektura SRAM – Static RAM)
• warstwa L1 - ≤ 128 kB, 1 ns (zintegrowana z procesorem)
• warstwa L2 - ≤ 4 MB, 2 ns
• warstwa L3 - ≤ 144 MB, 5 ns
• Pamięć operacyjna (RAM) - 512 MB .. 128 GB, 10 .. 50 ns
• Pamięć wirtualna – rozszerzenie pamięci operacyjnej
• Pamięć masowa z plikami (np. dysk twardy) - > 100 GB, < 10
ms
• Nośniki wymienne (CD, DVD) - nieograniczona pojemność,
sek .. min
Magistrala systemowa
• Magistrala systemowa to zespół wieloprzewodowych połączeń elektronicznych umożliwiających wymianę danych i informacji sterujących.
• Rodzaje:
• szyna danych – umożliwia przepływ danych, jej szerokość (16, 32, 64 bity) określa wielkość przesyłanej porcji danych,
• szyna adresowa – pozwala przekazywać adresy, pod które mają trafić przesyłane dane, jej szerokość określa wielkość przestrzeni adresów,
• szyna sterowania – pozwala przesyłać informacje o stanie systemu, zachowaniu się urządzeń zewnętrznych itp.
Jednostka centralna
Obudowa: tower, desktop
Płyta główna ma postać dużej płytki „drukowanej” -- na stałe zamontowane są na niej:
• gniazdo procesora,
• chipset (organizuje przepływ informacji),
• kości pamięci BIOS,
• układ pamięci ROM,
• gniazda dla modułów pamięci RAM,
• gniazda kart rozszerzeń,
• sterowniki napędów dyskietek i dysków twardych,
• porty i złącza,
• Bateria,
• Zasilacz.
Najważniejsze elementy: - Socket - gniazdo procesora - Chipset (mostek północny - northbridge odpowiada za wymanię danych pamięć-procesor oraz steruje złączem PCI-Express, mostek południowy - southbridge odpowiada za współpracę z urządzeniami wejścia/wyjścia jak dyski czy inne dodatkowe karty). Chipset steruje pracą całego komputera. - Złącza PCI-Express o dużej przepustowości (dla grafiki) - Złącza PCI-Epress o małej przepustowości (inne karty np. muzyczne, sata) - Złącza PCI (inne karty wyjścia/wejścia) - Gniazda dla złącz SATA/IDE (dyski twarde i napędy optyczne) - Złącza dla stacji dyskietek - Sloty na pamięć operacyjną (DDR/DDR2/DDR3) - Złącze zasilania ATX - Wtyczki wejścia/wyjścia - USB, LAN, Firewire, Audio, VGA, HDMI, LPT, eSATA .
http://www.arest.pl/pomoc/Konfigurator%20-%20P%C5%82yta%20g%C5%82%C3%B3wna
Pamięci zewnętrzne
Pamięci zewnętrzne (nośniki we/wy) służą do trwałego
przechowywania danych. Dzielą się na:
• pamięci o dostępie sekwencyjnym:
• taśmy magnetyczne, DAT (Digital Audio Tape – kasety)
• pamięci o dostępie bezpośrednim:
• dyskietki,
• dyski magnetyczne: stałe i wymienne,
• dyski optyczne,
• dyski magnetooptyczne,
• pamięci flash,
• karty pamięci: półprzewodnikowe, magnetyczne, optyczne,
• pamięci holograficzne.
Urządzenia zewnętrzne
Urządzenia wejścia-wyjścia:
• monitor
• modem
Urządzenia wejścia: Urządzenia wyjścia:
• klawiatura - drukarka
• mysz - głośniki (słuchawki)
• skaner - ploter
• mikrofon - urządzenia sterujące
• kamera internetowa - …
• tablet (digitizer)
• manipulator (joystick)
• czytnik kodów kreskowych
• urządzenia pomiarowe
• czujniki sygnałów
UNIX
Unix Time-Sharing System (UNIX) – system operacyjny napisany w 1969 r w Bell Laboratories (AT&T) przez Dennisa Ritchie i Kena Thompsona.
Obecnie UNIX to cała rodzina systemów operacyjnych różniących się sposobami implementacji (AIX, GNU/Linux, MAC OS X, Solaris). Podstawowe cechy:
• niezależność od sprzętu,
• warstwowa architektura (jądro, które otaczają warstwy zewnętrzne),
• wielozadaniowość, wieloprogramowość,
• wielodostępność,
• wieloprocesorowość,
• ochrona dostępu do katalogów i plików
• łatwe przystosowanie interpretera poleceń do wymagań użytkownika.
Podstawowe wady to: duża liczba wersji i obszerna dokumentacja.
Warstwowy model systemu
Większość elementów systemu UNIX, np. rodzaj i wygląd interfejsu, nie
jest ustalona, zależy od modułów, jakie zostaną włączone w skład
systemu.
Warstwowy model systemu UNIX składa się z czterech warstw:
• jądro:
• ma bezpośredni dostęp do wszystkich zasobów komputera,
• zawiera tzw. program szeregujący i sterowniki urządzeń,
• zarządza pamięcią operacyjną.
• biblioteki:
• zestawy podprogramów (zwykle napisanych w języku C)
wykonujących różne, często stosowane operacje,
• biblioteki są dołączane do programów na etapie konsolidacji (faza
po kompilacji, przed uruchomieniem).
Warstwowy model systemu
• powłoka:
• warstwa ta oddziela wewnętrzną część systemu operacyjnego od użytkownika,
• zawiera interpreter poleceń, który umożliwia komunikację z użytkownikiem,
• interpreter poleceń uruchamia polecenia systemu operacyjnego oraz programy użytkownika,
• programy:
• procesy uruchamiane przez użytkownika, zarządzane przez program szeregujący jądra,
• każdy program ma przydzielony odpowiedni obszar pamięci i priorytet,
• jeśli proces użytkownika próbuje dostać się do cudzego obszaru pamięci, zostaje przerwany, a system wyświetla odpowiedni komunikat.
Linux
• Linux – uniksopodobny (Linux Is Not UNIX) 32 lub 64-
bitowy system operacyjny, oferowany na zasadach licencji
wolnego i otwartego oprogramowania (GNU/Linux).
• Pierwsza wersja monolitycznego jądra Linuksa została
napisana (głównie w języku C) przez Linusa Torvaldsa w
1991 roku dla komputerów PC (najnowsze wersje można
sprawdzić na http://kernel.org).
• Pełny system operacyjny wymaga powłoki systemowej,
kompilatora, bibliotek, itp.
• W roli większości z tych narzędzi użyto oprogramowania
GNU.
Dystrybucje Linuksa
• Nie istnieje jedna, oficjalna wersja GNU/Linuksa, istnieje
natomiast wielu niezależnych producentów, którzy
do wydanego jądra Linuksa dodają oprogramowanie GNU
oraz inne, pomocnicze programy. Takie połączenie
bibliotek i programów nazwane jest dystrybucją
GNU/Linuksa.
• Programy występują zwykle w postaci pakietów binarnych
lub jako źródła, które należy przed użyciem skompilować.
Dystrybucja oferuje system pobierania, instalacji,
deinstalacji i uaktualniania pojedynczych pakietów oraz
wspólny interfejs konfiguracji pakietów.
Dystrybucje Linuxa
• Obecnie znanych jest ponad 300 dystrybucji Linuksa.
• Serwis monitorujący dystrybucje Linuksa: http://distrowatch.com
• Najbardziej popularne dystrybucja Linuksa: • Ubuntu
• Linux Mint
• Pinguy OS
• Debian
• Fedora
• Gentoo Linux
• Knoppix
• Mandriva Linux
• Red Hat Enterprise Linux
• Slackware
• openSUSE
• Red Hat Enterprise Linux (http://www.redhat.com)
• dystrybucja komercyjna (wsparcie i pomoc
techniczna),
• przeznaczona dla rynku firm i przedsiębiorców.
• Ubuntu (http://www.ubuntu.com)
• najpopularniejsza, kompletna dystrybucja GNU/Linux
• przeznaczona głównie do zastosowań biurowych i
domowych
• darmowe dyski CD-ROM wydawane co 6 miesięcy
Instalacja Ubuntu
• http://pl.wikibooks.org/wiki/Ubuntu:Instalacja_systemu
• http://www.youtube.com/watch?v=6UjeuH86d-Y
Zastosowania Linuxa
Zastosowania:
• bezpieczeństwo, stabilność, możliwość audytu i łatwość
modyfikacji kodu źródłowego,
• stosowany jest jako podstawowy system operacyjny
serwerów (WWW, FTP, pocztowych, baz danych), zapór
sieciowych i routerów,
• używany w większości superkomputerów,
• szerokie zastosowanie na rynku komputerów biurowych i
domowych,
• popularny system w komputerach wykorzystywanych do
tworzenia animacji i efektów specjalnych.
Interfejs
• Linux oferuje interfejs wiersza poleceń (Command Line Interface)
jako część funkcji przejętych z systemu UNIX.
• Brak GUI pozwala zminimalizować wykorzystywane zasoby
systemowe.
• Graficzny interfejs użytkownika nie jest w Linuksie integralną częścią
systemu operacyjnego, lecz dodatkowym zbiorem programów:
• menedżer okien - pozwala na kontrolowanie położenia i wyglądu
okien indywidualnych aplikacji oraz na interakcję z systemem
obsługi okien
• duże środowiska graficzne:
• GNOME (GNU Network Object Model Environment) - atrakcyjny pulpit dla
użytkowników końcowych oraz zestaw bibliotek do budowania aplikacji
graficznych (np. GIMP, Inkscape) (http://www.gnome.org)
• KDE (K Desktop Environment ) - bogaty system bibliotek do tworzenia aplikacji w
środowisku graficznym (http://www.kde.org)
Programy narzędziowe
• OpenOffice.org - pakiet oprogramowania biurowego:
• procesor tekstu - Writer
• arkusz kalkulacyjny - Calc
• edytor grafiki - Draw
• edytor prezentacji - Impress
• program do tworzenia baz danych - Base
• edytor wzorów matematycznych - Math
• wizualny edytor HTML • Amarok - program do odtwarzania muzyki dla środowiska KDE
• K3b - aplikacja służąca do nagrywania płyt CD i DVD przeznaczona dla środowiska graficznego KDE
• KPlayer - program służący do odtwarzania plików audio i video
• Scribus – program do składu tekstu (DTP).
Struktura systemu plików
• Struktura plików Linuksa jest pogrupowana w logiczne
części. Każdy katalog zawiera pliki powiązane ze sobą
logicznie.
• Jest tylko jedno drzewo katalogów, w którym kolejne
partycje dysków, a nawet różne dyski fizyczne i inne
urządzenia, np. drukarki, są traktowane jak podkatalogi.
• Wielkość liter w nazwach jest istotna.
• Separatorem katalogów jest / (ukośnik - slash)
Podstawowe katalogi
• / - katalog główny (macierzysty)
• /bin - wykonywalne pliki binarne dostępne dla wszystkich użytkowników
• /dev - pliki urządzeń stanowiące interfejs do sterowników w jądrze
• /etc - pliki konfiguracyjne systemu
• /home - w nim umieszczone są katalogi domowe użytkowników
• /tmp - pliki tymczasowe
• /usr - pliki z oprogramowaniem użytkowników
• /boot - jądro systemu oraz pliki niezbędne przy jego uruchomieniu
• /root - katalog domowy użytkownika root (administratora systemu)
• /lib - biblioteki systemowe
• /mnt - katalog, do którego montowane są tymczasowe systemy plików urządzeń zewnętrznych (dyskietka, CD-ROM)
• /var - pliki często zmieniane, np. logi, pliki pocztowe
Poziomy własności
• Każdy plik i katalog posiada trzy poziomy własności:
• poziom właściciela (o) – określa użytkownika-właściciela (każdy
plik w systemie musi mieć właściciela)
• poziom grupy (g) – określa grupę użytkowników o jednakowych
prawach (każdy użytkownik musi należeć do co najmniej jednej
grupy, tzw. grupy podstawowej)
• poziom pozostałych (u) – określa wszystkich pozostałych
użytkowników
Prawa dostępu
• Dla każdego poziomu określa się trzy prawa dostępu:
• odczyt (r) – daje prawo odczytu zawartości pliku (dla katalogu jest
to prawo dostępu do plików w tym katalogu)
• zapis (w) – daje prawo tworzenia, modyfikacji i usuwania pliku (dla
katalogu jest to prawo tworzenia i usuwania nowych plików w
katalogu)
• wykonanie (x) – daje prawo uruchamiania pliku (programu lub
skryptu) (dla katalogu jest to prawo przeglądania zawartości
katalogu).
Plik
właściciel grupa pozostali
r w x r - x r- -
r, w, x : prawo przyznane, - : prawo nieprzyznane
Podstawowe polecenia
Polecenia związane z użytkownikami, grupami, loginami i zamykaniem systemu:
• shutdown [minuty] [informacja dla użytkowników] - zamykamy Linuksa
• adduser [nazwa użytkownika] - dodajemy nowego użytkownika
• newgrp [nazwa grupy] - dodajemy nową grupę
• logout - wylogowanie się
• who [parametry] - sprawdzamy, kto jest aktualnie zalogowany
• users - j/w
• whoami - sprawdzamy, kim jesteśmy
• write [użytkownik] [wiadomość] - wysłanie wiadomości do danego użytkownika
• wall (j/w, tylko do wszystkich użytkowników)
• rwall [plik tekstowy] - j/w, tylko do wszystkich użytkowników
• finger [user] - szczegółowe informacje o użytkowniku
• su [user] - zmieniamy się w innego użytkownika
• chmod [o|g|u|a][+|-][r|w|x][nazwa pliku] - zmieniamy parametry pliku
• (odpowiedniki liczbowe: 0 ---, 1 --x, 2 -w-, 3 –wx, 4 r--, 5 r-x, 6 rw-, 7 rwx)
Operacje na katalogach
• ls [parametr] [katalog] - pokazuje nam zawartość katalogu
• dir pokazuje nam zawartość katalogu, w którym się znajdujemy
• pwd - pokazuje nam katalog, w którym się znajdujemy
• cd [katalog] - zmieniamy katalog (~ oznacza katalog
macierzysty)
• rmdir [katalog] - usuwamy katalog
• mkdir [katalog] - tworzymy nowy katalog
• rm [plik] - usuwamy plik
• mv [plik] [cel] - przenosimy plik (lub zmieniamy jego nazwę)
• cp [plik] [cel] - kopiujemy plik
• mvdir [katalog] [cel] - przenosimy katalog (lub zmieniamy jego
nazwę)
Pomoc
• help – wyświetla wszystkie polecenia w Linuksie
• man [program] - pokazuje nam pomoc do programu
Strumienie
• Każdy proces korzysta ze strumieni danych, będących wirtualnym źródłem lub ujściem danych. Dla każdego procesu system tworzy • standardowy strumień wejściowy (ang. standard input), reprezentujący
urządzenia wejściowe, np. klawiaturę i dysk,
• standardowy strumień wyjściowy (ang. standard output), którym może być terminal (monitor komputera) lub plik oraz
• strumień diagnostyczny (ang. standard error).
• Strumienie wejściowy, wyjściowy i diagnostyczny oznaczane są odpowiednio: stdin, stdout, stderr.
• Strumieniom przypisane są standardowe wartości: stdin - 0, stdout - 1 i stderr - 2.
• Odczytanie danych ze strumienia wejściowego jest jednokrotne, tzn. nie można tych danych ponownie wczytać.
Przekierowania
• Istnieje możliwość przekierowania strumieni wyjściowych i wejściowych. Zmianę standardowego wejścia, wyjścia i wyjścia diagnostycznego można wykonać za pomocą operatorów: >, <, >>, <<.
• Operator > powoduje przekierowanie wyjścia na plik. Plik o nazwie podanej po znaku > zostanie utworzony lub nadpisany (jeśli istnieje) a w nim zostanie zapisane to, co proces wypisałby na standardowym wyjściu.
• Przykład:
$cat > plik.txt
To jest plik.
Ala ma kota.
^D
Przekierowania >, <
• Operator < powoduje przekierowanie wejścia procesu,
czyli pobranie danych wejściowych ze wskazanego pliku: $cat < plik.txt
To jest plik.
Ala ma kota.
Uwaga: w poleceniu cat znak przekierowania < można opuścić.
• Operatory > i < można używać jednocześnie,
przekierowując zarówno wyjście jak i wejście, co spowoduje, że zawartość pliku plik.txt zostaje
skopiowana do pliku plik_nowy.txt:
• $cat < plik.txt > plik_nowy.txt
Uwaga: Również tutaj znak przekierowania < można opuścić.
Przekierowania >
• Niektóre polecenia oprócz wyników wysyłają również
dodatkowe informacje informujące o napotkanych błędach
na standardowe wyjście diagnostyczne. Istnieje
możliwość niezależnego przekierowania strumienia
diagnostycznego, za pomocą operatora > poprzedzonego
numerem wyjścia diagnostycznego, czyli 2: • $cat plik1.txt plik2.txt 2> plik3.err
(informacje o błędach będą zapisywane w pliku plik3.err),
• $cat plik1.txt plik2.txt> plik3.txt 2> /dev/null
(informacje o błędach nie będą zapisywane).
• $cat plik1.txt plik2.txt> plik3.txt 2>&1
(informacje o błędach będą zapisywane w pliku plik3.txt),
Przekierowania >>, <<
• Operator >> przekierowuje standardowe wyjście, dopisując wyniki
działania programu na końcu istniejącego pliku: $ cat >> plik.txt
Kot ma Ale.
^D
• Operator << powoduje, że do procesu zostaną przekazane dane ze
standardowego wejścia aż do napotkania wskazanego napisu: $cat << przerwa
> Ala ma kota
> Kot ma Ale
> przerwa
Ala ma kota
Kot ma Ale.
Filtry
• Istnieją programy, których zadaniem jest odczyt danych ze standardowego
wejścia, przetworzenie tych danych i ich zapis na standardowe wyjście.
Programy takie nazywane są filtrami i są szeroko wykorzystywane w
przetwarzaniu potokowym. Poniżej przedstawiono najczęściej
wykorzystywane filtry:
• cat – wyświetla zawartość pliku,
• head - wyświetla początkową część pliku. Standardowo wyświetlanych jest pierwszych 10 linii
odczytanych danych.
• tail - wyświetla końcową część pliku. Standardowo wyświetlanych jest ostatnich 10 linii danych.
• sort - sortowanie danych wejściowych, domyślnie sortowane są leksykograficznie.
• uniq - usunięcie powtarzających się, sąsiadujących linii danych wejściowych.
• wc - zlicza znaki, słowa i linie w podanych danych wejściowych.
• tr - pozwala zamienić łańcuchy tekstowe, które podawane są jako argumenty wejściowe. Znaki z
pierwszego łańcuch zamieniane są na znaki z drugiego łańcucha.
• cut - pozwala wyświetlić fragmenty wierszy danych wejściowych. Zwykle jest to wycinanie
odpowiednich kolumn.
• grep [opcje] wyrażenie [lista_plików] - przeszukuje dane pochodzące ze standardowego wejścia
lub pliki wyszczególnione na liście plików, wypisując tylko linie zawierające szukane wyrażenie.
• more – sekwencyjne wyświetlanie tekstu na ekranie (strona po stronie).