Wybrane aspekty informatyki

Slides:



Advertisements
Podobne prezentacje
Proponowany program wykładu monograficznego
Advertisements

Linux - polecenia.
Edytor tesktu i skrypty
Temat 2: Podstawy programowania Algorytmy – 1 z 2 _________________________________________________________________________________________________________________.
Proces doboru próby. Badana populacja – (zbiorowość generalna, populacja generalna) ogół rzeczywistych jednostek, o których chcemy uzyskać informacje.
OBOWIĄZKI INFORMACYJNE BENEFICJENTA Zintegrowane Inwestycje Terytorialne Aglomeracji Wałbrzyskiej.
Tworzenie odwołania zewnętrznego (łącza) do zakresu komórek w innym skoroszycie Możliwości efektywnego stosowania odwołań zewnętrznych Odwołania zewnętrzne.
Stężenia Określają wzajemne ilości substancji wymieszanych ze sobą. Gdy substancje tworzą jednolite fazy to nazywa się je roztworami (np. roztwór cukru.
Wyszukiwanie informacji w Internecie. Czym jest wyszukiwarka? INTERNET ZASOBY ZAINDEKSOWANE PRZEZ WYSZUKIWARKI Wyszukiwarka to mechanizm, który za pomocą.
Excel 2007 dla średniozaawansowanych zajęcia z dnia
Ćwiczenia Zarządzanie Ryzykiem Renata Karkowska, ćwiczenia „Zarządzanie ryzykiem” 1.
FORMAT WYMIANY DANYCH GEODEZYJNYCH TANAGO. TANGO V. 1.
Poczta elektroniczna – e- mail Gmail zakładanie konta. Wysyłanie wiadomości.
Wprowadzenie Celem naszej prezentacji jest przypomnienie podstawowych informacji na temat bezpiecznego powrotu do domu i nie tylko. A więc zaczynamy…;)
Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Wydział Informatyki Kierunek: Informatyka Specjalność: Systemy Informatyczne PRACA DYPLOMOWA INŻYNIERSKA.
Sieci komputerowe. Podział sieci. Podstawowe pojęcia związane z sieciami. Internet - określenia podstawowych terminów. Komunikacja w sieci.
Budżet rodzinny Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.
Menu Jednomiany Wyrażenia algebraiczne -definicja Mnożenie i dzielenie sum algebraicznych przez jednomian Mnożenie sum algebraicznych Wzory skróconego.
Instalacja nienadzorowana windows xp Jakub klafta.
Python. Języki Programistyczne Microcode Machine code Assembly Language (symboliczna reprezentacja machine code) Low-level Programming Language (FORTRAN,
Optymalna wielkość produkcji przedsiębiorstwa działającego w doskonałej konkurencji (analiza krótkookresowa) Przypomnijmy założenia modelu doskonałej.
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Perceptrony proste nieliniowe i wielowarstwowe © Kazimierz Duzinkiewicz, dr hab.
Jak tworzymy katalog alfabetyczny? Oprac.Regina Lewańska.
PORADNIK WPROWADZANIA AKCJI. OGÓLNIE: Akcja musi zostać utworzona i opublikowana co najmniej tydzień przed jej rozpoczęciem. W opisie muszą znajdować.
System operacyjny Renata P. System operacyjny - jest to zbiór nadrzędnych i niezbędnych programów umożliwiających pracę na komputerze. Jest on pośrednikiem.
Hoopl Higher-order optimization library
BVMS 5.5 Blok2- Moduł 8: Użytkownicy i grupy
DECYZJA O WARUNKACH ZABUDOWY tzw. „Wuzetka”
Narzędzia diagnostyczne protokołów TCP/IP
POD - żółw przesuwa się po ekranie nie zostawiając za sobą śladu;
Komunikacja ze szkołą i nauczycielami - dziennik elektroniczny
Schematy blokowe.
DEFINICJA I ZASTOSOWANIE W JĘZYKU HASKELL
Podstawowe polecenia systemu
Rachunki zdań Tautologiczność funkcji
Akademia C# - Lab2 Zmienne, instrukcje warunkowe, pętle, debugger,
Rekursje Tak jak w innych językach funkcje mogą odwoływać się same do siebie Możemy regulować głębokość przed stwierdzeniem błędu (MaxRecursion, $RecursionLimit,
ALGORYTMY I STRUKTURY DANYCH
Akademia C# lab. 9 Zdarzenia i delegaty.
TEMAT: Zapoznanie się z funkcja bloczka DRUM
Wstęp do Informatyki - Wykład 3
Pobieranie plików wget -m -nd -r -l1 --no-parent -A.csv wget -m -nd -r -l1 --no-parent.
Optymalizacja programów Open-Source
Przewodnik Udoskonalanie listy wyników w wyszukiwarce naukowej
Lekcja 1 – Hello World! Visual Studio, coś łatwego na początek 
Wstęp do Informatyki - Wykład 8
Kurs języka C++ – wykład 13 ( )
PROGRAMY DO KONTROLI RODZICIELSKIEJ
Git - system kontroli wersji
Bezpieczeństwo dostępu do danych w systemie Windows
Języki programowania.
Jak dostosować witrynę internetową usługi Microsoft SharePoint Online
Temat: Pliki— miejsce na komputerowe informacje
Multicast Visualization Tool
Laboratorium 1 – obsługa wejść i wyjść
Tensor naprężeń Cauchyego
Instrukcje wyboru.
Koszyk danych.
Podstawy informatyki Zygfryd Głowacz.
Zmienne i typy danych w C#
Proste obliczenia w arkuszu kalkulacyjnym
Implementacja rekurencji w języku Haskell
Znajdowanie liczb pierwszych w zbiorze
Lekcja 5 Temat: Zasady pierwszeństwa przejazdu na skrzyżowaniach
Język C++ Preprocesor Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła.
Język C++ Operatory Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła.
Kwerendy funkcjonalne (Action queries)
Prawa ruchu ośrodków ciągłych c. d.
Program na dziś Wprowadzenie Logika prezentacji i artykułu
Autor: Magdalena Linowiecka
Zapis prezentacji:

Wybrane aspekty informatyki Wojciech St. Mościbrodzki PIN PJWSTK, Wykład dla SNM Gdańsk, 2011

echo echo – wyświetlenie tekstu na standardowym wyjściu $echo „Hello world” Hello world Każde polecenie ma zwykle dość rozbudowany help: man <polecenie> - man, czyli (manual)

tar tar [opcje] [plik tar] [pliki do tarowania] – program służący do archiwizacji Podstawowe opcje: -c (create) – utwórz archiwum -x (extract) – wydobądź z archiwum -t (test) – listuj zawartość archiwum -v (verbose) – wypisuj pełne komunikaty podczas pracy -r (append) – dołączaj do archiwum -f (file) – użyj pliku -z (gzip) – uzyj gzipa tar –cvf plik.tar * - archiwizacja wszystkich plików do plik.tar tar –xvf plik.tar – wypakowanie z archiwum

gzip/gunzip gzip [pilk] – kompresja pliku algorytmem LZ gunzip [pilk] – dekompresja pliku algorytmem LZ -c – bez kompresji (bywa używane jeśli plik jest już skompresowany) -l – podaje stopień kompresji -r – wejdź rekursywnie do podkatalogów -S – użyj innego rozszerzenia (standardowo .gz) -v (verbose) -t – testuj zawartość archiwum -#n stopień kompresji, gdzie n jest liczbą 1-9

ftp FTP to protokół transferu plików, typu klient-serwer (wymaga znajomości miejsca docelowego). ftp to także nazwa jednego z najprostszych programów klienckich protokołu (standardowo dołączanego do linuxa). Rolę serwera pełni zwykle program ftpd (ftp demon). Programy mogą się również nazywać inaczej, np. wsftp, ncftp itp. ftp – tak wywołujemy program klienta ftp w linuxie ftp – to także zwyczajowa nazwa użytkownika anonimowego (serwer może pozwalać na dostęp takim użytkownikiem), hasło jest nieobowiązkowe (zazwyczaj)

cat cat– najprostsze obok echo polecenie shella. Program cat przekierowuje swoje wejście na wyjście. Przykłady: cat plik.txt – wypisuje zawartość pliku plik.txt na ekranie cat plik.txt > plik2.txt – kopiuje znak po znaku zawartość jednego z plików do drugiego (przekierowanie wyjścia do pliku) cat > plik.txt – czyta z klawiatury (standardowe wejście) do pliku plik.txt

grep grep – służy do filtracji strumieni. Strumień jest odczytywany linia po linii, zaś na wyjście przedostają się tylko te linie, które są zgodne z podanym wzorcem. Tego polecenia używa się najczęściej z pipeline: cat /etc/passwd | grep wojmos – czyta plik z /etc/passwd i wypisuje na ekranie tylko linię zawierająca łańuch wojmos

Różnica między | a > cat /etc/passwd | grep wojmos Różnica między | a > jest następująca: | służy do łączenia wyjścia jednego procesu z wejściem drugiego > służy do określania pliku, który będzie pełnił rolę wyjścia dla procesu cat /etc/passwd | grep wojmos To polecenie oznacza odczytanie pliku /etc/passwd przez programik cat i przekierowanie wyjścia na wejście grep’a wywołanego z parametrem wojmos. Innymi słowy: odpalone będą dwa procesy (cat i grep) połączone ze sobą. cat /etc/passwd > grep wojmos To polecenie nie ma zbyt dużego sensu. Oznacza ono odpalenie cata, którego wyjście zostanie przekierowane do PLIKU grep (fraza wojmos będzie poddana próbie interpretacji jako parametr albo nazwa pliku). Zauważmy, że cat /etc/passwd > grep oznaczałoby wylistowanie całej zawartości pliku /etc/passwd do pliku tekstowego o nazwie grep!

awk Awk jest zaawansowanym programem do edycji strumieni tekstowych. Na razie poznajemy jego najprostszą postać, służącą do filtracji kolumn tekstu: ls –l – zwraca zawartość katalogu -rw------- 1 root root 1183 2008-02-16 03:27 anaconda-ks.cfg -rw-r--r-- 1 root root 1190 2008-12-14 10:18 grep -rw-r--r-- 1 root root 28071 2008-02-16 03:26 install.log -rw-r--r-- 1 root root 4352 2008-02-16 03:25 install.log.syslog ls –l | awk ‘{print $1 $8}’ – filtruje 1 i 8 kolumnę -rw-------anaconda-ks.cfg -rw-r--r--grep -rw-r--r--install.log -rw-r--r--install.log.syslog ls –l | awk ‘{print $1 ” ” $8}’ – filtruje 1 i 8 kolumnę rozdzielając je spacją -rw------- anaconda-ks.cfg -rw-r--r-- grep -rw-r--r-- install.log -rw-r--r-- install.log.syslog

ls ls (list) – służy do wyświetlania zawartości katalogu (jak dir) Najczęściej stosowane opcje: -a (all) – wszystkie pliki (także ukryte, czyli zaczynające się od kropki) -A (almost all) – wszystkie poza . i .. -h (human-readable) – używane z l, podaje np. 1.3 Kb a nie 1320b -l (long form) – pełna informacja o plikach -S (sort by size) –srotuje wg wielkości

chmod chmod – zmienia atrybuty pliku, za pomocą 3 liczb pierwsza oznacza prawa dla właściciela druga – prawa dla grupy, do której należy właściciel trzecia – prawa dla pozostałych Liczby są kodowane binarnie w kolejności: Read-Write-eXecute: RWX = 111bin = 7 czyli wszystkie prawa RWX = 100bin = 4 czyli tylko read RWX = 110bin = 6 czyli tylko read i write

chown chown – zmienia właściciela pliku (i/lub) jego grupę chown wojmos plik – zmienia właściela pliku plik na użytkownika wojmos chown www.wojmos plik – zmienia właściela pliku plik na użytkownika wojmos, należącego do grupy www chown –R www.wojmos * – zmienia rekursywnie właściciela wszystkich plików na użytkownika wojmos, należącego do grupy www

mkdir mkdir – tworzy katalog o podanej nazwie

rm i rmdir rm – usuwa plik/pliki rm –r – wchodzi do podkatalogów rm –f – nie prosi o potwierdzenie rmdir – usuwa pusty katalog

cd Cd – zmienia katalog bieżący cd .. – zmienia katalog na nadrzędny cd – zmienia katalog na domowy

pico Pico – jeden z najprostszych i najprzyjemniejszych w obsłudze edytorów tekstowych. ^C – podaje numer linii ^W – szukanie ^X – zapis i wyjście ^O – zapis ^K – wytnij linię ^U – wklej linię

pwd pwd – podaje katalog, w którym jesteśmy

Skrypty Skrypt – wykonywalny programik w języku powłoki (w shellu). Musi mieć ustawiony atrybut wykonywalności. Plik powinien (choć nie musi) rozpoczynać się sekwencją: #!/bin/sh albo #!/bin/bash Co oznacza wymuszenie wykonania przez określonego shella Inne linie zaczynające się od # są interpretowane jako komentarze. Działający skrypt jest podłączony do standardowych strumieni: Wejścia (stdin), wyjścia (stdout) i błędów (stderr)

Skrypty - przekierowywanie mojskrypt > xxx.txt – przekierowanie wyjścia do pliku xxx.txt mojskrypt < ccc – przekierowanie wejścia do linii pliku ccc mojskrypt 2>errors.txt – przekierowanie błędów Standardowe strumienie mają przypisane numery, a więc można też: mojskrypt 1>xxx.txt – przekierowanie wyjścia do pliku xxx.txt mojskrypt 2>/dev/null – przekierowanie błędów do /dev/null

du du – disku usage, podaje wielkość plików w katalogu du –sh – sumuj pliki, podaj w postaci human-readable

df df – disc free, podaje wolne miejsce na dyskach

who i whoami who – podaje loginy pracujących użytkowników whoami – podaje login użytkownika

Zmienne lokalne i środowiskowe Zmienne środowiskowe to zmienne nie wymagające ustawienia: globalne - są elementem każdego shella (wykonywane skrypty dziedziczą ich wartość) lokalne – są elementem tego shella, w którym zostały zdefiniowane (wykonywane skrypty dziedziczą ich wartość) Zmienne skryptowe to zmienne ustawione w konkretnym skrypcie (formalnie są one zmiennymi lokalnymi skryptu, który do pracy wywołuje „swojego” shella) Typowe: $PATH – zmienna zawiera domyślnie przeszukiwane ścieżki $USER – użytkownik (właściciel shella) $TERM – rodzaj terminala

Zmienne lokalne i środowiskowe Wypisywanie wartości zmiennych środowiskowych: echo $PATH Zmiana wartości zmiennej w konkretnym shellu (zmienna lokalna): zmienna=”wartosc” echo $zmienna Globalizowanie zmiennej: export –n zmienna Tworzenie zmiennej globalnej (to samo co export): declare –x zmienna

Sprawdzanie zakresu widoczności zmiennych mojazmienna=”wojmos” – tworzymy zmienną echo $mojazmienna – wypisujemy wartość wojmos – to jest wartość zmiennej mojazmienna bash – wywołujemy nowego shella - wartość zmiennej jest nieustawiona exit – opuszczamy shella export –n mojazmienna wojmos - wartość zmiennej jest nieustawiona

printenv printenv – służy do wypisywania zawartości wszystkich zmiennych środowiskowych Podobny (ale nie identyczny) efekt uzyskamy stosując export

Zmienne specjalne $$ - zawiera numer PID procesu $1...$9 – argumenty podane do wywołania $0 – nazwa skryptu, który wywołał proces $@ - wszystkie argumenty $? – kod wykonania ostatniego polecenia

Zmienne skryptu Tworzone jak zmienne środowiskowe (de facto są nimi): zmienna=wartość (nie może być spacji!) Bash dopuszcza także zmienne tablicowe: tablica=(element1 element2 element3) echo ${tablica[0]} echo ${tablica[1]} echo ${tablica[2]} lub echo ${tablica[*]} Usunięcie zmiennej: unset zmienna

Zmienne skryptu Ustawienie wartości zmiennej: zm=wartosc Przypisanie zmiennej wyniku działania polecenia (skryptu) zm=`ls –l` (tzw. odwrotny apostrof!) Zmienne łańcuchowe: Cudzysłowy – pozwalają na rozwinięcie zmiennych znajdujących się w łańcuchu do ich wartości Apostrofy – NIE pozwalają na rozwinięcie zmiennych znajdujących się w łańcuchu do ich wartości

Rozwijanie wartości zmiennych w łańcuchu Przykład: Zmienna jest rozwijana do swojej wartości: $ echo ”To jest proces. Jego PID to $$. Fajnie?” To jest proces. Jego PID to 30928. Fajnie? Zmienna nie jest rozwijana do swojej wartości: $ echo ’To jest proces. Jego PID to $$. Fajnie?’ To jest proces. Jego PID to $$. Fajnie?

Wczytywanie zmiennych z stdin read – czyta zmienną z klawiatury Przykład: read x; echo $x; Opcje: -p coś - komunikat zachęty

Pętla for Pętla for służy do iterowania poleceń wobec wartości zmiennej. Przykład listy: for x in jeden dwa trzy do echo "To jest $x”; done; jeden dwa trzy

Pętla for Pętla for służy do iterowania poleceń wobec wartości zmiennej. Przykład listy związanej z plikie: for x in `cat plik` do echo "To jest $x”; done; X1 X2 X3

Sprawdzanie warunku if Postać instrukcji if: if warunek then polecenie1; else polecenie2; fi; warunek jest zwykle realizowany poleceniem test. Polecenie to zapisuje się przeważnie w skróconej formie: [ ] Przykład: [ $zm = ” napis” ]

Przykład if Typowy przykład działania test w połączeniu z if: #!/bin/sh zm="R2"; if [ $zm = "R" ] then echo "OK"; else echo "NOT OK"; fi;

Parametry dla test -a plik istnieje -b plik istnieje i jest blokowym plikiem specjalnym - plik istnieje i jest plikiem znakowym -e plik istnieje -h plik istnieje i jest linkiem symbolicznym = sprawdza czy wyrażenia są równe != sprawdza czy wyrażenia są różne -n wyrażenie ma długość większą niż 0 -d wyrażenie istnieje i jest katalogiem -z wyrażenie ma zerową długość -r można czytać plik -w można zapisywać do pliku

Parametry dla test -x można plik wykonać -f plik istnieje i jest plikiem zwykłym -p plik jest łączem nazwanym -N plik istnieje i był zmieniany od czasu jego ostatniego odczytu plik1 -nt plik2 plik1 jest nowszy od pliku2 plik1 -ot plik2 plik1 jest starszy od pliku2 -lt mniejsze niż -gt większe niż -ge większe lub równe -le mniejsze lub równe

If sprawdzający, czy plik istnieje #!/bin/sh zm="R2"; if [ -e /etc/passwd ] then echo "OK"; else echo "NOT OK"; fi;

at at –f plik data – wykonuje plik o oznaczonym czasie

Shell Shell, czyli powłoka, jest środowiskiem, w którym uruchamiane są skrypty. Środowisko to zawiera pewien zestaw zmiennych (zmienne środowiskowe), można także tworzyć w nim dodatkowe zmienne lokalne. Typowe shelle: sh (podstawowy) ash bsh (Bourne shell) csh ksh bash (tzw. Bourne-again shell) - najpopularniejszy

Skrypty Skrypty shella powinny (formalnie – nie muszą) zaczynać się od komentarza, który określa rodzaj shella, którym powinny być interpretowane. #!/bin/sh Powyższa linia, choć jest komentarzem ZOSTANIE przetworzona: dla uruchomienia tego skryptu zostanie wywołany shell sh Mechanizm ten służy do zabezpieczania skryptów napisanych w jednym shellu przed błędnym wykonaniem w innym.

Zmienne shella Dostęp do zmiennej shella odbywa się poprzez jej nazwę. Utworzenie zmiennej: x=5; UWAGA! Shell jest dość stary językiem, dlatego stosuje przestarzałe metody parsowania – m.in. Jest „czuły na spacje”. Poniższy zapis NIE JEST poprawny: x = 5;

Wartość zmiennej Dostęp do wartości zmiennej uzyskujemy przez operator $: Na przykład: echo $x; echo ”$x”; W przypadku 2 zmienna zostanie skonwertowana na łańcuch tekstowy równy wartości zmiennej (zgodnie z regułami rozwijania zmiennych w cudzysłowach) echo ‘$x’; - wypisuje po prostu napis: $x

Zmienne specjalne Najczęściej używane zmienne specjalne to: $# - liczba parametrów polecenia Przykładowo, skrypt o nazwie moj: #!/bin/sh echo $#; Przy wywołaniu ($ - znak zachęty shella): $ ./mój Alfa Beta Gamma Zwraca: 3

Inne ważne zmienne: $@ - zawiera wszystkie parametry przekazane #!/bin/sh echo "Parametry: $@"; echo "Liczba parametrow: $#"; $ ./my Alfa Beta Gamma Parametry: Alfa Beta Gamma Liczba parametrow: 3 $$ - PID (process ID) echo „PID: $$";

Wyrażenia Do ustalania wartości wyrażeń służy polecenie expr UWAGA: pamiętać należy o spacjach! expr 3+3; <===== zwraca NAPIS 3+3 expr 3 + 3; <===== zwraca WARTOSC 6 Do testowania wartości wyrażeń służy [] (test): Jest on stosowany najczęściej z instrukcją if: if [ 3 –ge 2 ]; then echo ”3 jest wieksze”; else echo ”3 jest mniejsze”; fi;