Podstawy informatyki

Podobne dokumenty
SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

Bash - wprowadzenie. Bash - wprowadzenie 1/39

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Podstawy informatyki

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Znaki globalne w Linuxie

Księgarnia PWN: Emmett Dulaney - Novell Certified Linux Professional (NCLP)

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

BASH - WPROWADZENIE Bioinformatyka 4

Narzędzia informatyczne w językoznawstwie

JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Przekierowanie wejścia wyjścia:

1 Przygotował: mgr inż. Maciej Lasota

Technologie Informacyjne - Linux 2

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

W pierwszej kolumnie wyświetlany jest identyfikator procesu (pid)

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Wstęp do systemu Linux

1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape

Typy plików. Oznaczenie f -

Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe. stderr

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Laboratorium systemów operacyjnych ćwiczenie nr 3. [ilość modułów: 1] Temat zajęć: Procesy w systemie operacyjnym

Linux: System Plików

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

Usługi sieciowe systemu Linux

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Powłoka (shell) Powłoka ksh

Moduł 4: Strumienie, potoki, sterowanie procesami

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Systemy operacyjne na platformach mobilnych 2 Podstawy obsługi powłoki Bash

WPROWADZENIE. Warto pamiętać o opcji autouzupełniania, której używamy naciskając klawisz [Tab]

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Wyrażenia regularne. Wyrażenia regularne 1/41

Pracownia Komputerowa wykład III

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Współczesne systemy komputerowe

Jądro Powłoka System plików Programy użytkowe

SSH. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Chemiateoretyczna. Monika Musiał. Ćwiczenia

Konfiguracja klientów SSH - PuTTY i WinSCP

Stos TCP/IP. Warstwa aplikacji cz.2

Filtry, metaznaki, cytowania. Proste skrypty. Polecenia find, tee, mail.

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Zakład Systemów Rozproszonych

Wstęp do obsługi Linux a

Operatory zmiany sposobu przypisania standardowych strumieni >,<,>> Jeżeli pierwsze polecenie powiodło się to wykona drugie

Tomasz Greszata - Koszalin

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Studium przypadku Case Study CCNA2-ROUTING. Warianty projektów

Wstęp do systemów wielozadaniowych laboratorium 03 Praca w powłoce UNIX-owej

Wstęp do informatyki Shell podstawy

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Systemy Operacyjne I: Procesy

Pracownia komputerowa. Dariusz wardecki, wyk II

Systemy operacyjne Programowanie w języku powłoki sh

Ćwiczenia Linux konsola

Skrypty startowe. Tryb interaktywny tryb logowania: nie logowanie: Tryb nieinteraktywny

Linux cz.3: polecenia systemowe, ćwiczenia

Wstęp do obsługi Linux a

Pracownia Komputerowa wykład III

Administracja bazami danych

Logowanie z zewnątrz. Np. Program PUTTY, SSH

Warstwy systemu Windows 2000

Powłoka interpreter poleceń systemu UNIX

Laboratorium - Obserwacja procesu tłumaczenia nazw DNS

Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików

Podstawy używania konsoli tekstowej w systemie Linux. Andrzej Zbrzezny

Podstawy Linuksa. Wiesław Płaczek Postawy Linuksa 1

SPIS TREŚCI 1. WIADOMOŚCI OGÓLNE ZARZĄDZANIE SYSTEMEM LINUX WIELODOSTĘPNOŚĆ SYSTEMY PLIKÓW I STRUKTURA FOLDERÓW...

Elementy termodynamiki atmosfery i fizyki chmur Ćwiczenia 01

Powłoka bash. Kurs systemu Unix 1

SED - Stream EDitor. edytor strumieniowy. Bogumił Konopka W-11/I-21 Politechnika Wrocławska

Test. Administrowanie sieciowymi systemami operacyjnymi

Systemy operacyjne / Programowanie w języku powłoki sh str.1/19

Wybrane działy Informatyki Stosowanej

System operacyjny Linux wybrane zagadnienia. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Linux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak

Przedmiot: SYSTEMY OPERACYJNE Czas trwania: semestr IV Przedmiot: obowiązkowy Język wykładowy: polski POZIOM

Technologie informacyjne lab. 4

Szkolenie AGH Linux. Nie bój się konsoli i zdaj kolosa na 5.0!!! Tytuł wcale nie przesadzony ;)

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

System operacyjny Linux

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 25 ARCHITEKTURA SYSTEMU LINUX. Opracował Sławomir Zieliński

Konsola i interpreter poleceń

MS-DOS polecenia wewnętrzne i

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

Transkrypt:

Podstawy informatyki WYKŁAD nr 03 Fizyka Techniczna, WFT PP Michał Hermanowicz Zakład Fizyki Obliczeniowej, Instytut Fizyki, Politechnika Poznańska Rok akademicki 2018/2019 M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 1 / 41

Spis rzeczy 1 Przypomnienie z poprzedniego wykładu 2 Zarządzanie danymi w systemie GNU/Linux 3 Standardy przechowywania danych 4 Operacje na danych 5 Graficzna reprezentacja danych gnuplot Wykresy 2D i regresja liniowa 6 Skrypty i procesy 7 Podsumowanie: pytania i dyskusja M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 2 / 41

Plan ramowy przedmiotu Nr wykładu Poruszane zagadnienia I Organizacja; forma i warunki zaliczenia; wprowadzenie II Powłoka bash i elementy programowania III Przetwarzanie danych #1 IV Przetwarzanie danych #2 V Reprezentacja danych (wykresy 2D i 3D) gnuplot VI System składu tekstu L A TEX VII Pół-otwarty test zaliczeniowy Każdemu z wykładów odpowiadają ćwiczenia realizowane na zajęciach w pracowni komputerowej. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 3 / 41

Organizacja i nośniki danych / dev/ mnt/ cdrom/ dysk/ dyskietka/ (/dev/cdrom) (/dev/sda1) (/dev/fd0) M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 4 / 41

Pliki urządzeń i montowanie systemu plików Aby użyć systemu plików w GNU/Linuksie: podłączamy nośnik danych do komputera (pendrive, nowy dysk twardy, napęd CD-ROM), M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 5 / 41

Pliki urządzeń i montowanie systemu plików Aby użyć systemu plików w GNU/Linuksie: podłączamy nośnik danych do komputera (pendrive, nowy dysk twardy, napęd CD-ROM), nowe urządzenie jest plikiem (/dev/nazwa), którego jednak nie można użyć bezpośrednio trzeba je uprzednio zamontować. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 5 / 41

Pliki urządzeń i montowanie systemu plików Aby użyć systemu plików w GNU/Linuksie: podłączamy nośnik danych do komputera (pendrive, nowy dysk twardy, napęd CD-ROM), nowe urządzenie jest plikiem (/dev/nazwa), którego jednak nie można użyć bezpośrednio trzeba je uprzednio zamontować. Montowanie nośnika danych: M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 5 / 41

Pliki urządzeń i montowanie systemu plików Aby użyć systemu plików w GNU/Linuksie: podłączamy nośnik danych do komputera (pendrive, nowy dysk twardy, napęd CD-ROM), nowe urządzenie jest plikiem (/dev/nazwa), którego jednak nie można użyć bezpośrednio trzeba je uprzednio zamontować. Montowanie nośnika danych: czynność, w wyniku której nośnik staje się zdatny do odczytu/zapisu, M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 5 / 41

Pliki urządzeń i montowanie systemu plików Aby użyć systemu plików w GNU/Linuksie: podłączamy nośnik danych do komputera (pendrive, nowy dysk twardy, napęd CD-ROM), nowe urządzenie jest plikiem (/dev/nazwa), którego jednak nie można użyć bezpośrednio trzeba je uprzednio zamontować. Montowanie nośnika danych: czynność, w wyniku której nośnik staje się zdatny do odczytu/zapisu, oznacza umieszczanie go w istniejącej hierarchii plików w formie katalogu, z którego można już bezpośrednio odczytywać dane i do którego można dane zapisywać. Np. urządzenie /dev/sdb1 może zostać zamontowane jako katalog /mnt/pendrive (lub dowolny inny) jest to tzw. punkt montowania, który możemy dowolnie zadać. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 5 / 41

Polecenie mount Składnia (man mount): mount -t [typ] [urzadzenie] [punkt montowania] gdzie: [typ] system plików (ext4, ntfs, vfat i in.), [urzadzenie] plik urządzenia (np. /dev/cdrom, /dev/sdb1), [punkt montowania] katalog w istniejącej hierarchii plików. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 6 / 41

Polecenie mount Składnia (man mount): mount -t [typ] [urzadzenie] [punkt montowania] gdzie: [typ] system plików (ext4, ntfs, vfat i in.), [urzadzenie] plik urządzenia (np. /dev/cdrom, /dev/sdb1), [punkt montowania] katalog w istniejącej hierarchii plików. student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 6 / 41

Polecenie mount Składnia (man mount): mount -t [typ] [urzadzenie] [punkt montowania] gdzie: [typ] system plików (ext4, ntfs, vfat i in.), [urzadzenie] plik urządzenia (np. /dev/cdrom, /dev/sdb1), [punkt montowania] katalog w istniejącej hierarchii plików. student@wftlab-180:~$ mount -t vfat /dev/sdb1 /mnt/pendrive M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 6 / 41

Polecenie mount Składnia (man mount): gdzie: mount -t [typ] [urzadzenie] [punkt montowania] [typ] system plików (ext4, ntfs, vfat i in.), [urzadzenie] plik urządzenia (np. /dev/cdrom, /dev/sdb1), [punkt montowania] katalog w istniejącej hierarchii plików. student@wftlab-180:~$ mount -t vfat /dev/sdb1 /mnt/pendrive student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 6 / 41

Polecenie mount Składnia (man mount): gdzie: mount -t [typ] [urzadzenie] [punkt montowania] [typ] system plików (ext4, ntfs, vfat i in.), [urzadzenie] plik urządzenia (np. /dev/cdrom, /dev/sdb1), [punkt montowania] katalog w istniejącej hierarchii plików. student@wftlab-180:~$ mount -t vfat /dev/sdb1 /mnt/pendrive student@wftlab-180:~$ df -h M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 6 / 41

Polecenie mount Składnia (man mount): gdzie: mount -t [typ] [urzadzenie] [punkt montowania] [typ] system plików (ext4, ntfs, vfat i in.), [urzadzenie] plik urządzenia (np. /dev/cdrom, /dev/sdb1), [punkt montowania] katalog w istniejącej hierarchii plików. student@wftlab-180:~$ mount -t vfat /dev/sdb1 /mnt/pendrive student@wftlab-180:~$ df -h System plików rozm. użyte dost. %uż. zamont. na /dev/sdb1 8,0G 0 8,0G 0% /mnt/pendrive student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 6 / 41

Polecenie mount Składnia (man mount): gdzie: mount -t [typ] [urzadzenie] [punkt montowania] [typ] system plików (ext4, ntfs, vfat i in.), [urzadzenie] plik urządzenia (np. /dev/cdrom, /dev/sdb1), [punkt montowania] katalog w istniejącej hierarchii plików. student@wftlab-180:~$ mount -t vfat /dev/sdb1 /mnt/pendrive student@wftlab-180:~$ df -h System plików rozm. użyte dost. %uż. zamont. na /dev/sdb1 8,0G 0 8,0G 0% /mnt/pendrive student@wftlab-180:~$ cp dane /mnt/pendrive M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 6 / 41

Polecenie mount Składnia (man mount): gdzie: mount -t [typ] [urzadzenie] [punkt montowania] [typ] system plików (ext4, ntfs, vfat i in.), [urzadzenie] plik urządzenia (np. /dev/cdrom, /dev/sdb1), [punkt montowania] katalog w istniejącej hierarchii plików. student@wftlab-180:~$ mount -t vfat /dev/sdb1 /mnt/pendrive student@wftlab-180:~$ df -h System plików rozm. użyte dost. %uż. zamont. na /dev/sdb1 8,0G 0 8,0G 0% /mnt/pendrive student@wftlab-180:~$ cp dane /mnt/pendrive student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 6 / 41

Polecenie mount Składnia (man mount): gdzie: mount -t [typ] [urzadzenie] [punkt montowania] [typ] system plików (ext4, ntfs, vfat i in.), [urzadzenie] plik urządzenia (np. /dev/cdrom, /dev/sdb1), [punkt montowania] katalog w istniejącej hierarchii plików. student@wftlab-180:~$ mount -t vfat /dev/sdb1 /mnt/pendrive student@wftlab-180:~$ df -h System plików rozm. użyte dost. %uż. zamont. na /dev/sdb1 8,0G 0 8,0G 0% /mnt/pendrive student@wftlab-180:~$ cp dane /mnt/pendrive student@wftlab-180:~$ umount /mnt/pendrive M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 6 / 41

Kopiowanie/przenoszenie plików i kopie zapasowe Kopiowanie plików: cp /sciezka/dostepu/plik /sciezka/dostepu/plik2 cp plik1 plik2 plik3 plik4 plik5 /katalog/docelowy cp -R katalog zrodlowy katalog docelowy M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 7 / 41

Kopiowanie/przenoszenie plików i kopie zapasowe Kopiowanie plików: cp /sciezka/dostepu/plik /sciezka/dostepu/plik2 cp plik1 plik2 plik3 plik4 plik5 /katalog/docelowy cp -R katalog zrodlowy katalog docelowy Przenoszenie/zmiana nazwy pliku: mv plik1 plik2 M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 7 / 41

Kopiowanie/przenoszenie plików i kopie zapasowe Kopiowanie plików: cp /sciezka/dostepu/plik /sciezka/dostepu/plik2 cp plik1 plik2 plik3 plik4 plik5 /katalog/docelowy cp -R katalog zrodlowy katalog docelowy Przenoszenie/zmiana nazwy pliku: mv plik1 plik2 Wykonywanie kopii zapasowej (backup): polecenie rsync umożliwia lokalne i zdalne kopiowanie plików (man rsync). M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 7 / 41

Kopiowanie/przenoszenie plików i kopie zapasowe Kopiowanie plików: cp /sciezka/dostepu/plik /sciezka/dostepu/plik2 cp plik1 plik2 plik3 plik4 plik5 /katalog/docelowy cp -R katalog zrodlowy katalog docelowy Przenoszenie/zmiana nazwy pliku: mv plik1 plik2 Wykonywanie kopii zapasowej (backup): polecenie rsync umożliwia lokalne i zdalne kopiowanie plików (man rsync). rsync -avuh --progress /home/herman /mnt/drugi dysk/ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 7 / 41

Kopiowanie/przenoszenie plików i kopie zapasowe Kopiowanie plików: cp /sciezka/dostepu/plik /sciezka/dostepu/plik2 cp plik1 plik2 plik3 plik4 plik5 /katalog/docelowy cp -R katalog zrodlowy katalog docelowy Przenoszenie/zmiana nazwy pliku: mv plik1 plik2 Wykonywanie kopii zapasowej (backup): polecenie rsync umożliwia lokalne i zdalne kopiowanie plików (man rsync). rsync -avuh --progress /home/herman /mnt/drugi dysk/ rsync -avuh --progress./herman herman@serwer.pl:/home/ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 7 / 41

Praca zdalna SSH (Secure Shell): protokół sieciowy umożliwiający bezpieczną (szyfrowane połączenie) pracę na zdalnych komputerach. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 8 / 41

Praca zdalna SSH (Secure Shell): protokół sieciowy umożliwiający bezpieczną (szyfrowane połączenie) pracę na zdalnych komputerach. student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 8 / 41

Praca zdalna SSH (Secure Shell): protokół sieciowy umożliwiający bezpieczną (szyfrowane połączenie) pracę na zdalnych komputerach. student@wftlab-180:~$ ssh uzytkownik@serwer.pl M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 8 / 41

Praca zdalna SSH (Secure Shell): protokół sieciowy umożliwiający bezpieczną (szyfrowane połączenie) pracę na zdalnych komputerach. student@wftlab-180:~$ ssh uzytkownik@serwer.pl uzytkownik@serwer.pl s password: M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 8 / 41

Praca zdalna SSH (Secure Shell): protokół sieciowy umożliwiający bezpieczną (szyfrowane połączenie) pracę na zdalnych komputerach. student@wftlab-180:~$ ssh uzytkownik@serwer.pl uzytkownik@serwer.pl s password: uzytkownik@serwer.pl:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 8 / 41

Praca zdalna SSH (Secure Shell): protokół sieciowy umożliwiający bezpieczną (szyfrowane połączenie) pracę na zdalnych komputerach. student@wftlab-180:~$ ssh uzytkownik@serwer.pl uzytkownik@serwer.pl s password: uzytkownik@serwer.pl:~$ uzytkownik@serwer.pl:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 8 / 41

Praca zdalna SSH (Secure Shell): protokół sieciowy umożliwiający bezpieczną (szyfrowane połączenie) pracę na zdalnych komputerach. student@wftlab-180:~$ ssh uzytkownik@serwer.pl uzytkownik@serwer.pl s password: uzytkownik@serwer.pl:~$ uzytkownik@serwer.pl:~$ exit M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 8 / 41

Praca zdalna SSH (Secure Shell): protokół sieciowy umożliwiający bezpieczną (szyfrowane połączenie) pracę na zdalnych komputerach. student@wftlab-180:~$ ssh uzytkownik@serwer.pl uzytkownik@serwer.pl s password: uzytkownik@serwer.pl:~$ uzytkownik@serwer.pl:~$ exit student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 8 / 41

Praca zdalna SSH (Secure Shell): protokół sieciowy umożliwiający bezpieczną (szyfrowane połączenie) pracę na zdalnych komputerach. student@wftlab-180:~$ ssh uzytkownik@serwer.pl uzytkownik@serwer.pl s password: uzytkownik@serwer.pl:~$ uzytkownik@serwer.pl:~$ exit student@wftlab-180:~$ SCP (Secure Copy Protocol): scp./plik herman@serwer.pl:/home/herman/ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 8 / 41

Formaty plików M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 9 / 41

Standard a de-facto standard Standard: ustalony i powszechnie zaakceptowany zbiór zasad (norm) określających sposób działania/wytwarzania; stosowany w celu zapewnienia zgodności. De-facto standard: zwyczajowo przyjęty zbiór zasad (norm) określających sposób działania/wytwarzania; stosowany na podstawie przyjętego zwyczaju. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 10 / 41

Standard a de-facto standard Standard: ustalony i powszechnie zaakceptowany zbiór zasad (norm) określających sposób działania/wytwarzania; stosowany w celu zapewnienia zgodności. De-facto standard: zwyczajowo przyjęty zbiór zasad (norm) określających sposób działania/wytwarzania; stosowany na podstawie przyjętego zwyczaju. Każdy standard, co do zasady, musi być otwarty, tzn. mieć jawną specyfikację. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 10 / 41

Przetwarzanie danych INPUT (wejście) PRZETWARZANIE OUTPUT (wyjście) INPUT (wejście): plik (dowolnego typu), strumień danych (również pochodzący z potoku). PRZETWARZANIE: program/skrypt wykonujący operacje na danych wejściowych. OUTPUT (wyjście): przetworzone dane (zapisane do pliku lub na standardowe wyjście). M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 11 / 41

Przetwarzanie danych tekstowych Plik tekstowy liczby.txt: 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 12 / 41

Przetwarzanie danych tekstowych Plik tekstowy liczby.txt: 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 12 / 41

Przetwarzanie danych tekstowych Plik tekstowy liczby.txt: 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 student@wftlab-180:~$ grep 9 liczby.txt M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 12 / 41

Przetwarzanie danych tekstowych Plik tekstowy liczby.txt: 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 student@wftlab-180:~$ grep 9 liczby.txt 5547 5091 8181 4444 8123 student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 12 / 41

Przetwarzanie danych tekstowych Plik tekstowy liczby.txt: 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 student@wftlab-180:~$ grep 9 liczby.txt 5547 5091 8181 4444 8123 student@wftlab-180:~$ cat liczby.txt grep 9 M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 12 / 41

Przetwarzanie danych tekstowych Plik tekstowy liczby.txt: 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 student@wftlab-180:~$ grep 9 liczby.txt 5547 5091 8181 4444 8123 student@wftlab-180:~$ cat liczby.txt grep 9 5547 5091 8181 4444 8123 student@wftlab-180:~$ cat liczby.txt grep 9 wc -l M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 12 / 41

Przetwarzanie danych tekstowych Plik tekstowy liczby.txt: 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 student@wftlab-180:~$ grep 9 liczby.txt 5547 5091 8181 4444 8123 student@wftlab-180:~$ cat liczby.txt grep 9 5547 5091 8181 4444 8123 student@wftlab-180:~$ cat liczby.txt grep 9 wc -l 1 student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 12 / 41

Przetwarzanie danych tekstowych (man cut) student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 13 / 41

Przetwarzanie danych tekstowych (man cut) student@wftlab-180:~$ cut -d -f 1 liczby.txt M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 13 / 41

Przetwarzanie danych tekstowych (man cut) student@wftlab-180:~$ cut -d -f 1 liczby.txt 1234 2456 8462 7568 5547 student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 13 / 41

Przetwarzanie danych tekstowych (man cut) student@wftlab-180:~$ cut -d -f 1 liczby.txt 1234 2456 8462 7568 5547 student@wftlab-180:~$ cut -d -f1,2 liczby.txt M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 13 / 41

Przetwarzanie danych tekstowych (man cut) student@wftlab-180:~$ cut -d -f 1 liczby.txt 1234 2456 8462 7568 5547 student@wftlab-180:~$ cut -d -f1,2 liczby.txt 1234 7564 2456 5465 8462 2324 7568 3456 5547 5091 student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 13 / 41

Przetwarzanie danych tekstowych (man awk; man sed) student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 14 / 41

Przetwarzanie danych tekstowych (man awk; man sed) student@wftlab-180:~$ awk {print $1} liczby.txt M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 14 / 41

Przetwarzanie danych tekstowych (man awk; man sed) student@wftlab-180:~$ awk {print $1} liczby.txt 1234 2456 8462 7568 5547 student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 14 / 41

Przetwarzanie danych tekstowych (man awk; man sed) student@wftlab-180:~$ awk {print $1} liczby.txt 1234 2456 8462 7568 5547 student@wftlab-180:~$ cat liczby.txt sed s/5/1/g M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 14 / 41

Przetwarzanie danych tekstowych (man awk; man sed) student@wftlab-180:~$ awk {print $1} liczby.txt 1234 2456 8462 7568 5547 student@wftlab-180:~$ cat liczby.txt sed s/5/1/g 1234 7164 3761 4176 8786 2416 1461 8361 1112 7711 8462 2324 1141 3332 3471 7168 3416 1142 6161 4221 1147 1091 8181 4444 8123 student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 14 / 41

Przetwarzanie danych tekstowych (man tr) student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 15 / 41

Przetwarzanie danych tekstowych (man tr) student@wftlab-180:~$ cat liczby.txt tr -s \n M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 15 / 41

Przetwarzanie danych tekstowych (man tr) student@wftlab-180:~$ cat liczby.txt tr -s \n 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 15 / 41

Przetwarzanie danych tekstowych (man tr) student@wftlab-180:~$ cat liczby.txt tr -s \n 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 student@wftlab-180:~$ tr -s \n < liczby.txt M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 15 / 41

Przetwarzanie danych tekstowych (man tr) student@wftlab-180:~$ cat liczby.txt tr -s \n 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 student@wftlab-180:~$ tr -s \n < liczby.txt 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 student@wftlab-180:~$ Alternatywnie: student@wftlab-180:~$ awk printf("%s ", $0) liczby.txt M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 15 / 41

Przetwarzanie danych tekstowych (man tr) student@wftlab-180:~$ cat liczby.txt tr -s \n 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 student@wftlab-180:~$ tr -s \n < liczby.txt 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 student@wftlab-180:~$ Alternatywnie: student@wftlab-180:~$ awk printf("%s ", $0) liczby.txt student@wftlab-180:~$ for row in cat liczby.txt ; do echo -en $row ; done M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 15 / 41

Przetwarzanie danych tekstowych (man tr) student@wftlab-180:~$ cat liczby.txt tr -s \n 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 student@wftlab-180:~$ tr -s \n < liczby.txt 1234 7564 3761 4176 8786 2456 5465 8361 1112 7711 8462 2324 5545 3332 3471 7568 3456 1142 6161 4221 5547 5091 8181 4444 8123 student@wftlab-180:~$ Alternatywnie: student@wftlab-180:~$ awk printf("%s ", $0) liczby.txt student@wftlab-180:~$ for row in cat liczby.txt ; do echo -en $row ; done To jest ważne! M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 15 / 41

Przetwarzanie danych tekstowych find wyszukiwanie plików/katalogów (man find) student@wftlab-180:~$ find./ -name *.txt M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 16 / 41

Przetwarzanie danych tekstowych find wyszukiwanie plików/katalogów (man find) student@wftlab-180:~$ find./ -name *.txt./liczby.txt student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 16 / 41

Przetwarzanie danych tekstowych find wyszukiwanie plików/katalogów (man find) student@wftlab-180:~$ find./ -name *.txt./liczby.txt student@wftlab-180:~$ Proszę powtórzyć/opanować: bash: podstawowe polecenia, pętle i warunki (if, test) pamiętać o poleceniu man, potok, grep, find, proste operacje na danych tekstowych (cut, awk, sed, tr) ograniczone do omawianych. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 16 / 41

sed: edytor strumieniowy Z dokumentacji GNU sed (GNU Free Documentation License / GNU GPL v3+): sed is a stream editor. A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline). https://www.gnu.org/software/sed/manual/sed.html#introduction M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 17 / 41

sed: edytor strumieniowy Z dokumentacji GNU sed (GNU Free Documentation License / GNU GPL v3+): sed is a stream editor. A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline). https://www.gnu.org/software/sed/manual/sed.html#introduction Ważne: substytucja wyrażeń składnia: sed s/wyrazenie/zamiennik/ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 17 / 41

sed: edytor strumieniowy Z dokumentacji GNU sed (GNU Free Documentation License / GNU GPL v3+): sed is a stream editor. A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline). https://www.gnu.org/software/sed/manual/sed.html#introduction Ważne: substytucja wyrażeń składnia: sed s/wyrazenie/zamiennik/ Przykład: sed s/pierwszy/drugi/ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 17 / 41

sed: edytor strumieniowy Z dokumentacji GNU sed (GNU Free Documentation License / GNU GPL v3+): sed is a stream editor. A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline). https://www.gnu.org/software/sed/manual/sed.html#introduction Ważne: substytucja wyrażeń składnia: sed s/wyrazenie/zamiennik/ Przykład: sed s/pierwszy/drugi/ sed s/pierwszy/drugi/ plik.txt M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 17 / 41

sed: edytor strumieniowy Substyucja (s) domyślnie zastępuje wyłącznie pierwsze wystąpienie szukanego wyrażenia w każdej linii! M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 18 / 41

sed: edytor strumieniowy Substyucja (s) domyślnie zastępuje wyłącznie pierwsze wystąpienie szukanego wyrażenia w każdej linii! Globalna substytucja (wszystkie wystąpienia we wszystkich liniach): sed s/pierwszy/drugi/g plik.txt M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 18 / 41

sed: edytor strumieniowy Substyucja (s) domyślnie zastępuje wyłącznie pierwsze wystąpienie szukanego wyrażenia w każdej linii! Globalna substytucja (wszystkie wystąpienia we wszystkich liniach): sed s/pierwszy/drugi/g plik.txt Znak ucieczki (ang. escape character): może nim być np. backslash (aby zacytować slash) lub podkreślnik ( ) jako separator. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 18 / 41

sed: edytor strumieniowy Substyucja (s) domyślnie zastępuje wyłącznie pierwsze wystąpienie szukanego wyrażenia w każdej linii! Globalna substytucja (wszystkie wystąpienia we wszystkich liniach): sed s/pierwszy/drugi/g plik.txt Znak ucieczki (ang. escape character): może nim być np. backslash (aby zacytować slash) lub podkreślnik ( ) jako separator. sed s /pierwszy /drugi g plik.txt M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 18 / 41

sed: edytor strumieniowy & symbol odnoszący się do znalezionego wyrażenia (przydatny, jeżeli używamy wyrażenia regularnego i nie wiemy jak dokładnie wygląda). M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 19 / 41

sed: edytor strumieniowy & symbol odnoszący się do znalezionego wyrażenia (przydatny, jeżeli używamy wyrażenia regularnego i nie wiemy jak dokładnie wygląda). Przykład (przypadek trywialny): sed s/pierwszy/"pierwszy"/ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 19 / 41

sed: edytor strumieniowy & symbol odnoszący się do znalezionego wyrażenia (przydatny, jeżeli używamy wyrażenia regularnego i nie wiemy jak dokładnie wygląda). Przykład (przypadek trywialny): sed s/pierwszy/"pierwszy"/ (!) ŹLE: sed s/[a-z]*/"pierwszy"/ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 19 / 41

sed: edytor strumieniowy & symbol odnoszący się do znalezionego wyrażenia (przydatny, jeżeli używamy wyrażenia regularnego i nie wiemy jak dokładnie wygląda). Przykład (przypadek trywialny): sed s/pierwszy/"pierwszy"/ (!) ŹLE: Można tak: sed s/[a-z]*/"pierwszy"/ sed s/[a-z]*/"&"/ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 19 / 41

sed: edytor strumieniowy & symbol odnoszący się do znalezionego wyrażenia (przydatny, jeżeli używamy wyrażenia regularnego i nie wiemy jak dokładnie wygląda). Przykład (przypadek trywialny): sed s/pierwszy/"pierwszy"/ (!) ŹLE: Można tak: Lub tak: sed s/[a-z]*/"pierwszy"/ sed s/[a-z]*/"&"/ sed s/[0-9]*/"&"/ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 19 / 41

sed: edytor strumieniowy Inne możliwości: [0-9]* zero lub więcej cyfr z przedziału 0-9, [0-9][0-9]* jedna lub więcej cyfr z przedziału 0-9, [0-9]+ jak wyżej [a-z]* zero lub więcej znaków, [a-z][a-z]* jeden lub więcej znaków, [a-z]+ jak wyżej, \1 pierwsze znalezione (zapamiętane) wyrażenie, \2 drugie znalezione (zapamiętane) wyrażenie. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 20 / 41

sed: edytor strumieniowy Inne możliwości: [0-9]* zero lub więcej cyfr z przedziału 0-9, [0-9][0-9]* jedna lub więcej cyfr z przedziału 0-9, [0-9]+ jak wyżej [a-z]* zero lub więcej znaków, [a-z][a-z]* jeden lub więcej znaków, [a-z]+ jak wyżej, \1 pierwsze znalezione (zapamiętane) wyrażenie, \2 drugie znalezione (zapamiętane) wyrażenie. Przykład: sed s/\([a-z]+\) \([a-z]+\)/\2 \1/ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 20 / 41

sed: edytor strumieniowy Inne znaki specjalne i przykładowe wyrażenia: ^ początek linii, # pojedynczy znak, $ koniec linii, ^A znak A na początku linii, A$ znak A na końcu linii, \n znak nowego wiersza. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 21 / 41

sed: edytor strumieniowy Inne znaki specjalne i przykładowe wyrażenia: ^ początek linii, # pojedynczy znak, $ koniec linii, ^A znak A na początku linii, A$ znak A na końcu linii, \n znak nowego wiersza. Przykład: sed s/ /\n/ plik.txt M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 21 / 41

sed: edytor strumieniowy Inne znaki specjalne i przykładowe wyrażenia: ^ początek linii, # pojedynczy znak, $ koniec linii, ^A znak A na początku linii, A$ znak A na końcu linii, \n znak nowego wiersza. Przykład: sed s/ /\n/ plik.txt sed s/ /\n/g plik.txt M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 21 / 41

tr: zmień/usuń znaki Przykład (-s, --squeeze-repeats): $ echo "aaaaaaabbbbbbbcccccccdddddddde" tr -s abcde M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 22 / 41

tr: zmień/usuń znaki Przykład (-s, --squeeze-repeats): $ echo "aaaaaaabbbbbbbcccccccdddddddde" tr -s abcde abcde $ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 22 / 41

tr: zmień/usuń znaki Przykład (-s, --squeeze-repeats): $ echo "aaaaaaabbbbbbbcccccccdddddddde" tr -s abcde abcde $ Przykład (-s, --squeeze-repeats): $ echo "pierwszy drugi trzeci" tr -s M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 22 / 41

tr: zmień/usuń znaki Przykład (-s, --squeeze-repeats): $ echo "aaaaaaabbbbbbbcccccccdddddddde" tr -s abcde abcde $ Przykład (-s, --squeeze-repeats): $ echo "pierwszy drugi trzeci" tr -s pierwszy drugi trzeci $ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 22 / 41

tr: zmień/usuń znaki Przykład (-s, --squeeze-repeats): $ echo "aaaaaaabbbbbbbcccccccdddddddde" tr -s abcde abcde $ Przykład (-s, --squeeze-repeats): $ echo "pierwszy drugi trzeci" tr -s pierwszy drugi trzeci $ Przykład (znajdź i zamień): $ echo "To-jest-przykładowy-tekst" tr - M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 22 / 41

tr: zmień/usuń znaki Przykład (-s, --squeeze-repeats): $ echo "aaaaaaabbbbbbbcccccccdddddddde" tr -s abcde abcde $ Przykład (-s, --squeeze-repeats): $ echo "pierwszy drugi trzeci" tr -s pierwszy drugi trzeci $ Przykład (znajdź i zamień): $ echo "To-jest-przykładowy-tekst" tr - To jest przykładowy tekst $ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 22 / 41

gnuplot wykresy 2D student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 23 / 41

gnuplot wykresy 2D student@wftlab-180:~$ cat dane.txt M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 23 / 41

gnuplot wykresy 2D student@wftlab-180:~$ cat dane.txt # X Y Z 1 10 20 2 20 30 3 30 40 4 40 50 5 50 60 6 60 70 7 70 80 (...) student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 23 / 41

gnuplot wykresy 2D student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 24 / 41

gnuplot wykresy 2D student@wftlab-180:~$ gnuplot M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 24 / 41

gnuplot wykresy 2D student@wftlab-180:~$ gnuplot G N U P L O T Version 5.0 patchlevel 3 last modified 2016-02-21 Copyright (C) 1986-1993, 1998, 2004, 2007-2016 Thomas Williams, Colin Kelley and many others gnuplot home: http://www.gnuplot.info faq, bugs, etc: type help FAQ immediate help: type help (plot window: hit h ) Terminal type set to qt gnuplot> M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 24 / 41

gnuplot wykresy 2D student@wftlab-180:~$ gnuplot G N U P L O T Version 5.0 patchlevel 3 last modified 2016-02-21 Copyright (C) 1986-1993, 1998, 2004, 2007-2016 Thomas Williams, Colin Kelley and many others gnuplot home: http://www.gnuplot.info faq, bugs, etc: type help FAQ immediate help: type help (plot window: hit h ) Terminal type set to qt gnuplot> plot dane.txt with linespoints M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 24 / 41

gnuplot wykresy 2D M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 25 / 41

gnuplot wykresy 2D gnuplot> M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 26 / 41

gnuplot wykresy 2D gnuplot> plot eksperyment.dat ps 3 M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 26 / 41

gnuplot wykresy 2D gnuplot> plot eksperyment.dat ps 3 M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 26 / 41

gnuplot wykresy 2D gnuplot> M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 27 / 41

gnuplot wykresy 2D gnuplot> f(x) = M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 27 / 41

gnuplot wykresy 2D gnuplot> f(x) =a*x + b gnuplot> M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 27 / 41

gnuplot wykresy 2D gnuplot> f(x) =a*x + b gnuplot> a=1 gnuplot> M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 27 / 41

gnuplot wykresy 2D gnuplot> f(x) =a*x + b gnuplot> a=1 gnuplot> b=1 gnuplot> M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 27 / 41

gnuplot wykresy 2D gnuplot> f(x) =a*x + b gnuplot> a=1 gnuplot> b=1 gnuplot> plot f(x) M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 27 / 41

gnuplot wykresy 2D gnuplot> f(x) =a*x + b gnuplot> a=1 gnuplot> b=1 gnuplot> plot f(x) M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 27 / 41

gnuplot wykresy 2D regresja liniowa gnuplot> M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 28 / 41

gnuplot wykresy 2D regresja liniowa gnuplot> fit f(x), eksperyment.dat via a,b M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 28 / 41

gnuplot wykresy 2D regresja liniowa gnuplot> fit f(x), eksperyment.dat via a,b (...) Final set of parameters Asymptotic Standard Error a = 0.0710303 +/- 0.00438 (6.166%) b = 0.0867333 +/- 0.02718 (31.33%) (...) gnuplot> M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 28 / 41

gnuplot wykresy 2D regresja liniowa gnuplot> fit f(x), eksperyment.dat via a,b (...) Final set of parameters Asymptotic Standard Error a = 0.0710303 +/- 0.00438 (6.166%) b = 0.0867333 +/- 0.02718 (31.33%) (...) gnuplot> plot eksperyment.dat ps 3, f(x) M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 28 / 41

gnuplot wykresy 2D regresja liniowa M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 29 / 41

gnuplot wykresy 2D operacje na danych Składnia: gnuplot> plot [plik] [które kolumny] [jak] M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 30 / 41

gnuplot wykresy 2D operacje na danych Składnia: gnuplot> plot [plik] [które kolumny] [jak] plot dane.txt using 1:2 with linespoints pointsize 1 pointtype 7 linewidth 2 M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 30 / 41

gnuplot wykresy 2D operacje na danych Składnia: gnuplot> plot [plik] [które kolumny] [jak] plot dane.txt using 1:2 with linespoints pointsize 1 pointtype 7 linewidth 2 plot dane.txt u 1:2 w lp ps 1 pt 7 lw 2 M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 30 / 41

gnuplot wykresy 2D operacje na danych Składnia: gnuplot> plot [plik] [które kolumny] [jak] plot dane.txt using 1:2 with linespoints pointsize 1 pointtype 7 linewidth 2 plot dane.txt u 1:2 w lp ps 1 pt 7 lw 2 plot dane.txt using ($1+5):($2*2) w lp M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 30 / 41

gnuplot wykresy 2D operacje na danych Składnia: gnuplot> plot [plik] [które kolumny] [jak] plot dane.txt using 1:2 with linespoints pointsize 1 pointtype 7 linewidth 2 plot dane.txt u 1:2 w lp ps 1 pt 7 lw 2 plot dane.txt using ($1+5):($2*2) w lp plot dane.txt u 1:2, dane.txt u 1:3, dane.txt u 1:4 M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 30 / 41

Przykłady gnuplot zapisywanie danych do pliku (set terminal, set output), M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 31 / 41

Przykłady gnuplot zapisywanie danych do pliku (set terminal, set output), pliki konfiguracyjne powłoki ($HOME/.bash history, $HOME/.bash profile, $HOME/.bashrc), M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 31 / 41

Przykłady gnuplot zapisywanie danych do pliku (set terminal, set output), pliki konfiguracyjne powłoki ($HOME/.bash history, $HOME/.bash profile, $HOME/.bashrc), Bash read, zmienne specjalne/argumenty, sort, tail, head, tac, M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 31 / 41

Przykłady gnuplot zapisywanie danych do pliku (set terminal, set output), pliki konfiguracyjne powłoki ($HOME/.bash history, $HOME/.bash profile, $HOME/.bashrc), Bash read, zmienne specjalne/argumenty, sort, tail, head, tac, skrypt liczący silnię, M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 31 / 41

Przykłady gnuplot zapisywanie danych do pliku (set terminal, set output), pliki konfiguracyjne powłoki ($HOME/.bash history, $HOME/.bash profile, $HOME/.bashrc), Bash read, zmienne specjalne/argumenty, sort, tail, head, tac, skrypt liczący silnię, prosty kalkulator cztery działania (nie tylko na liczbach całkowitych!), M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 31 / 41

Przykłady gnuplot zapisywanie danych do pliku (set terminal, set output), pliki konfiguracyjne powłoki ($HOME/.bash history, $HOME/.bash profile, $HOME/.bashrc), Bash read, zmienne specjalne/argumenty, sort, tail, head, tac, skrypt liczący silnię, prosty kalkulator cztery działania (nie tylko na liczbach całkowitych!), definiowanie funkcji powłoki, M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 31 / 41

Przykłady gnuplot zapisywanie danych do pliku (set terminal, set output), pliki konfiguracyjne powłoki ($HOME/.bash history, $HOME/.bash profile, $HOME/.bashrc), Bash read, zmienne specjalne/argumenty, sort, tail, head, tac, skrypt liczący silnię, prosty kalkulator cztery działania (nie tylko na liczbach całkowitych!), definiowanie funkcji powłoki, data/czas systemowy (ISO 8601). M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 31 / 41

GNU/Linux: procesy Proces to program działający (wykonujący zadania) w systemie operacyjnym (lista procesów polecenie ps). Status procesu: R running (działający), D lub S uśpiony, ale (nie)możliwy do przerwania, Z zombie, T zatrzymany, (... ) Dodatkowo: < wysoki priorytet, N niski priorytet, l wielowątkowy, (... ) M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 32 / 41

Procesy systemowe Procesy: są uruchamiane jako kopie procesu macierzystego, są identyfikowane m.in. przez PID, PPID oraz UID, (... ), mogą się komunikować z użytkownikiem (stdin, stdout, stderr), po zakończeniu zwracają kod zakończenia (status), można je kontrolować za pomocą sygnałów, główny proces macierzysty: init (zależnie od implementacji), podlegają narzuconym ograniczeniom (ulimit), posiadają nadane priorytety, mogą (nie muszą) być związane z terminalem (te drugie to tzw. daemony), można je monitorować (np. narzędzia ps, top, kill, xkill), dane procesów znajdują się w systemie plików /proc. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 33 / 41

Procesy systemowe Procesy użytkownika mogą działać w tle: student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 34 / 41

Procesy systemowe Procesy użytkownika mogą działać w tle: student@wftlab-180:~$./skrypt.sh & M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 34 / 41

Procesy systemowe Procesy użytkownika mogą działać w tle: student@wftlab-180:~$./skrypt.sh & student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 34 / 41

Procesy systemowe Procesy użytkownika mogą działać w tle: student@wftlab-180:~$./skrypt.sh & student@wftlab-180:~$ Uruchomione w tle procesy można wylistować poleceniem jobs, a wybrany proces podłączyć na powrót do terminala poleceniem fg %id (ang. foreground), gdzie id to numer zadania według jobs. Procesy podłączone do terminala można przerwać kombinacją Ctrl+c lub zatrzymać kombinacją Ctrl+z. Zatrzymane zadanie można być powtórnie wznowione w tle poleceniem bg %id (ang. background). M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 34 / 41

Procesy systemowe Inna możliwość narzędzie screen: student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 35 / 41

Procesy systemowe Inna możliwość narzędzie screen: student@wftlab-180:~$ screen M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 35 / 41

Procesy systemowe Inna możliwość narzędzie screen: student@wftlab-180:~$ screen student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 35 / 41

Procesy systemowe Inna możliwość narzędzie screen: student@wftlab-180:~$ screen student@wftlab-180:~$ student@wftlab-180:~$ [Ctrl+A+D] M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 35 / 41

Procesy systemowe Inna możliwość narzędzie screen: student@wftlab-180:~$ screen student@wftlab-180:~$ student@wftlab-180:~$ [Ctrl+A+D] student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 35 / 41

Procesy systemowe Inna możliwość narzędzie screen: student@wftlab-180:~$ screen student@wftlab-180:~$ student@wftlab-180:~$ [Ctrl+A+D] student@wftlab-180:~$ student@wftlab-180:~$ screen -r M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 35 / 41

Procesy systemowe Inna możliwość narzędzie screen: student@wftlab-180:~$ screen student@wftlab-180:~$ student@wftlab-180:~$ [Ctrl+A+D] student@wftlab-180:~$ student@wftlab-180:~$ screen -r student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 35 / 41

Procesy systemowe Inna możliwość narzędzie screen: student@wftlab-180:~$ screen student@wftlab-180:~$ student@wftlab-180:~$ [Ctrl+A+D] student@wftlab-180:~$ student@wftlab-180:~$ screen -r student@wftlab-180:~$ screen -ls M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 35 / 41

Procesy systemowe Inna możliwość narzędzie screen: student@wftlab-180:~$ screen student@wftlab-180:~$ student@wftlab-180:~$ [Ctrl+A+D] student@wftlab-180:~$ student@wftlab-180:~$ screen -r student@wftlab-180:~$ screen -ls There are screens on: 3476.pts-5.hadron (19.11.2017 12:40:57) (Detached) 3469.pts-5.hadron (19.11.2017 12:40:54) (Detached) 3461.pts-5.hadron (19.11.2017 12:40:46) (Detached) 3440.pts-5.hadron (19.11.2017 12:39:03) (Detached) 4 Sockets in /run/screen/s-herman. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 35 / 41

Procesy systemowe student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 36 / 41

Procesy systemowe student@wftlab-180:~$ screen -r 3476.pts-5.hadron M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 36 / 41

Procesy systemowe student@wftlab-180:~$ screen -r 3476.pts-5.hadron student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 36 / 41

Procesy systemowe student@wftlab-180:~$ screen -r 3476.pts-5.hadron student@wftlab-180:~$ screen -ls M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 36 / 41

Procesy systemowe student@wftlab-180:~$ screen -r 3476.pts-5.hadron student@wftlab-180:~$ screen -ls There are screens on: 3476.pts-5.hadron (19.11.2017 12:40:57) (Attached) 3469.pts-5.hadron (19.11.2017 12:40:54) (Detached) 3461.pts-5.hadron (19.11.2017 12:40:46) (Detached) 3440.pts-5.hadron (19.11.2017 12:39:03) (Detached) 4 Sockets in /run/screen/s-herman. student@wftlab-180:~$ M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 36 / 41

Procesy systemowe Uruchamianie systemu (sysv): BIOS/EFI MBR LILO/GRUB KERNEL INIT RUN LEVEL(s) M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 37 / 41

Procesy systemowe Uruchamianie systemu (sysv): BIOS/EFI MBR LILO/GRUB KERNEL INIT RUN LEVEL(s) RUN LEVELS (według LSB): 0 zatrzymuje system, 1 tryb single-user administracja, 2 tryb multi-user, bez obsługi sieci, 3 tryb normalny, 4 zależny od systemu/dystrybucji, 5 taki sam jak 3, ale z graficznym menedżerem logowania, 6 restart systemu. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 37 / 41

Procesy: demony Demon (ang. daemon): proces nieinteraktywny; nie jest połączony z terminalem. Daemonami są najczęściej programy realizujące usługi (sieciowe i nie tylko). M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 38 / 41

Procesy: demony Demon (ang. daemon): proces nieinteraktywny; nie jest połączony z terminalem. Daemonami są najczęściej programy realizujące usługi (sieciowe i nie tylko). Usługi sieciowe: NNTP (Network News Transfer Protocol), SMTP/POP3/IMAP (poczta elektroniczna), HTTP (Hyper Text Transfer Protocol), FTP (File Transfer Protocol), SSH (Secure SHell), SSL (Secure Socket Layer), Telnet, PPP (Point-to-Point Transfer Protocol), (... ) M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 38 / 41

Usługi sieciowe DNS: system nazw domenowych rozproszona baza adresów sieciowych. Serwery DNS można odpytywać za pomocą narzędzia whois. M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 39 / 41

Usługi sieciowe DNS: system nazw domenowych rozproszona baza adresów sieciowych. Serwery DNS można odpytywać za pomocą narzędzia whois. Architektura klient-serwer: podział ról związany z usługami, które zapewnia serwer i z których korzystają klienci (oprogramowanie klienckie). Programy mogą też pracować w trybie P2P (Peer-to-peer). M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 39 / 41

Usługi sieciowe DNS: system nazw domenowych rozproszona baza adresów sieciowych. Serwery DNS można odpytywać za pomocą narzędzia whois. Architektura klient-serwer: podział ról związany z usługami, które zapewnia serwer i z których korzystają klienci (oprogramowanie klienckie). Programy mogą też pracować w trybie P2P (Peer-to-peer). Jak sprawdzić co nasz system udostępnia na zewnątrz? M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 39 / 41

Usługi sieciowe DNS: system nazw domenowych rozproszona baza adresów sieciowych. Serwery DNS można odpytywać za pomocą narzędzia whois. Architektura klient-serwer: podział ról związany z usługami, które zapewnia serwer i z których korzystają klienci (oprogramowanie klienckie). Programy mogą też pracować w trybie P2P (Peer-to-peer). Jak sprawdzić co nasz system udostępnia na zewnątrz? Na przykład skanując porty (program nmap). M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 39 / 41

Usługi sieciowe DNS: system nazw domenowych rozproszona baza adresów sieciowych. Serwery DNS można odpytywać za pomocą narzędzia whois. Architektura klient-serwer: podział ról związany z usługami, które zapewnia serwer i z których korzystają klienci (oprogramowanie klienckie). Programy mogą też pracować w trybie P2P (Peer-to-peer). Jak sprawdzić co nasz system udostępnia na zewnątrz? Na przykład skanując porty (program nmap). Oprogramowanie działające w systemie klient-serwer może pracować lokalnie (na przykład X Window System)! M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 39 / 41

Usługi sieciowe DNS: system nazw domenowych rozproszona baza adresów sieciowych. Serwery DNS można odpytywać za pomocą narzędzia whois. Architektura klient-serwer: podział ról związany z usługami, które zapewnia serwer i z których korzystają klienci (oprogramowanie klienckie). Programy mogą też pracować w trybie P2P (Peer-to-peer). Jak sprawdzić co nasz system udostępnia na zewnątrz? Na przykład skanując porty (program nmap). Oprogramowanie działające w systemie klient-serwer może pracować lokalnie (na przykład X Window System)! Co z bezpieczeństwem sieciowym w GNU/Linuksie? M. Hermanowicz (IF PP) Podstawy informatyki / wykład nr 03 Rok akademicki 2018/2019 39 / 41