Pracownia Komputerowa Wykład 1 Wprowadzenie do Linuxa dr Jan Suffczyński Jan.Suffczynski@fuw.edu.pl
Plan wykładów Data Temat wykładu 1 05-10-2017 Wprowadzenie do Linuxa. 2 19-10-2017 Jak działa komputer? 3 02-11-2017 Systemy zapisu danych, kodowanie znaków. 4 16-11-2017 Wprowadzenie do LateXa. 5 30-11-2017 Sztuczna inteligencja/deep learning. 6 14-12-2017 Wprowadzenie do języka Mathematica. 7 11-01-2018 Cyfrowy zapis dźwięku i obrazu. Sieci komputerowe. 8 25-01-2018 Egzamin pisemny (test)
Plan wykładów Data Temat wykładu 1 05-10-2017 Wprowadzenie do Linuxa. 2 19-10-2017 Jak działa komputer? 3 02-11-2017 Systemy zapisu danych, kodowanie znaków. 4 16-11-2017 Wprowadzenie do LateXa. 5 30-11-2017 Sztuczna inteligencja/deep learning. 6 14-12-2017 Wprowadzenie do języka Mathematica. Gość! 7 11-01-2018 Cyfrowy zapis dźwięku i obrazu. Sieci komputerowe. 8 25-01-2018 Egzamin pisemny (test)
Ćwiczenia Prowadzący ćwiczenia: mgr Magdalena Grzeszczyk dr Przemysław Olbratowski dr Jan Suffczyński
Grupy ćwiczeniowe
Ćwiczenia - program Linux: 3 tygodnie zajęć + 1 tydzień na kolokwium (w tygodniu 23-27.10.2017; 15 pkt) Podstawowe polecenia. Zarządzanie plikami i katalogami oraz prawami dostępu. Uruchamianie programów i podstawowe narzędzia systemowe. Przetwarzanie tekstu proste edytory, strumienie. Skrypty.
Ćwiczenia - program SciDavis: 2 tygodnie zajęć + 1 tydzień na kolokwium (w tygodniu 20-24.11.2017; 10 pkt) Import i wizualizacja danych Wykresy funkcji określonych wzorami analitycznymi Dopasowywanie funkcji do danych doświadczalnych
Ćwiczenia - program LaTeX: 2 tygodnie zajęć + 1 tydzień na kolokwium (w tygodniu 11-15.12.2017; 10 pkt) Dokumenty tekstowe w LaTeX, tworzenie kodu źródłowego, kompilacja kodu Wzory matematyczne w LaTeX Środowisko tabel, rysunków, bibliografii
Ćwiczenia - program Mathematica: 3 tygodnie zajęć + 1 tydzień na kolokwium (w tygodniu 22-26.01.2018; 15 pkt) Proste operacje matematyczne w nootebook'u' Wypisywanie znaków alfabetu greckiego, ułamków, całek itd. Definiowanie funkcji Dopasowanie funkcji (wbudowanych i własnych) do punktów. Rozwiązywanie równań (analitycznie i numerycznie). Pochodne i całki. Operacje na macierzach, w tym diagonalizacja Wykresy w 2D typu density i contour; wykresy 3D
Sprawdziany Tydzień Przedmiot sprawdzianu 23-27.10.2017 Linux 15 20-24.11.2017 SciDavis 10 11-15.12.2017 LateX 10 22-26.01.2018 Mathematica 15 25.01.2018 Egzamin (test z wykładu) 10 Punktów do zdobycia 60 w sumie
Wprowadzenie do Linuxa
Co to jest system operacyjny? Użytkownik Urządzenie
Co to jest system operacyjny? Oprogramowanie tworzące środowisko, w którym użytkownik uruchamia i kontroluje programy działające na urządzeniu Użytkownik Program (ang. application) System operacyjny Urządzenie
Najpopularniejsze systemy operacyjne wg. ComputerBase
Najpopularniejsze systemy operacyjne wg. ComputerBase
Najpopularniejsze systemy operacyjne komputery i smartfony
Linux pre-historia Projekt GNU, rok 1984 pomysł hakera Richarda Stallmana Cel: stworzenie wolnej alternatywy dla systemów UNIX Ruch wolnego oprogramowania: wolność tworzenia wolność w dostępie do wiedzy wolność form dzielenia się wiedzą Richard Stallman (ur. 1953)
Linux - historia Zainspirowany Unix-em i ideą GNU System operacyjny napisany na komputer IBM PC Pierwsza wersja - 1991 r. Rozwijany następnie Linus Torvalds (ur. 1969) przez użytkowników
Dystrybucje Linuxa
Linux vs. Windows Cecha Linux Windows Cena open source ~ kilkaset PLN Łatwość użytkowania nieco trudno (ale np. Ubuntu Linux Mint) bardzo łatwo Niezawodność/bezpieczeństwo wysokie średnie Oprogramowanie Zgodność z produkowanym sprzętem Wsparcie Kto używa dużo (open source!), choć np. mniej gier coraz lepsza Duże; głównie inni użytkownicy Duzi użytkownicy (Google, NASA, Facebook, uczelnie ) i indywidualni użytkownicy dużo (komercyjne) wysoka Duże; Microsoft i inni użytkownicy Użytkownicy indywidualni i biznesowi
Linux vs. Windows Cecha Linux Windows Cena open source ~ kilkaset PLN Łatwość użytkowania nieco trudno (ale np. Ubuntu Linux Mint) bardzo łatwo Niezawodność/bezpieczeństwo wysokie średnie Oprogramowanie Zgodność z produkowanym sprzętem Wsparcie Kto używa dużo (open source!), choć np. mniej gier coraz lepsza Duże; głównie inni użytkownicy Duzi użytkownicy (Google, NASA, Facebook, uczelnie ) i indywidualni użytkownicy dużo (komercyjne) wysoka Duże; Microsoft i inni użytkownicy Użytkownicy indywidualni i biznesowi
Podstawowe informacje o Linuxie Użytkownik uzyskuje dostęp do danych za pośrednictwem drzewa katalogowego (jest tylko jedno!) (W MS Windows drzewa katalogowe oznaczane są literami alfabetu: C:, D:, F:...) Każdy student, np. aa235672 ma dostęp do dwóch ograniczonych obszarów dysku: /dmj/2012/aa235672 (katalog domowy, robione kopie zapasowe) work/2012/aa235672 (tzw. katalog roboczy, większa ilość miejsca)
Podstawowe informacje o Linuxie Rozróżniane są wielkie i małe litery Kropka w nazwie pliku nie jest znakiem wyróżnionym W nazwach plików i katalogów nie powinno być polskich liter ani spacji Umowne rozszerzenia plików, np..cxx,.cpp - programy w języku C++,.tex - pliki w formacie LATEX,.txt - pliki w formacie tekstowym Zwyczajowe nazwy katalogów: np. w katalogu bin przechowywane są wykonywalne wersje programów, w katalogu src wersje źródłowe, w katalogu home katalogi domowe użytkowników
Użytkownicy w Linuxie Tylko jeden super-użytkownik administrujący systemem Zwykli użytkownicy mają możliwość modyfikacji tylko własnych plików i katalogów Logowanie z zewnątrz Wydziału: putty (Windows) lub ssh (systemy Unixowe) Nazwy serwerów na https://www.fuw.edu.pl/serwery-studenci.html
Komunikacja z systemem Linia poleceń (ang. command line) Środowisko graficzne
Komunikacja przez linię poleceń Powłoka (ang. shell) to program, który pozwala użytkownikowi na wpisywanie poleceń, a następnie przekazuje je do wykonania przez system operacyjny Przykład działania powłoki, polecenie pwd: 1. poszukiwanie programu (plik z uprawnieniami x) o nazwie pwd (= przeglądanie katalogów zdefiniowanych w zmiennej $PATH) 2. uruchomienie programu 3. wynik działania programu w oknie terminala
Powłoki w Linuxie sh: Bourne Shell, oryginalna powłoka systemu unix csh: C shell, nowa składnia poleceń, udogodnienia w pracy interakcyjnej ksh: Korn shell, zgodność składniowa z powłoką Bourne a +, m. in. udogodnienia jak w powłoce csh bash: Bourne Again Shell, połączenie najlepszych cech csh i ksh tcsh: udoskonalona wersja csh
Skróty. - oznacza katalog bieżący.. - katalog nadrzędny ( o 1 poziom wyżej) ~ - własny katalog domowy ~jass - katalog domowy użytkownika jass
Wzorce * - dowolny ciąg znaków? - dowolny jeden znak [0-9] - przedział znaków alfanumerycznych [b-k] przedział małych liter od b do k [A-Z] przedział dużych liter od A do Z [az] - znak a lub z
Prawa dostępu r - prawo odczytu w - prawo zapisu x - prawo wykonania - - plik d - katalog
Prawa dostępu Zmiana atrybutów -rwxr-xr-x u - użytkownik g - grupa o - wszyscy Polecenie chmod, np.: chmod u+rw, g-x, o-rwx plik.txt
Skrypty Zbiór poleceń powłoki zapisany w pliku tekstowym Dla porządku można do nazwy dodać rozszerzenie.sh Należy nadać atrybut wykonalności
Przykładowy skrypt W konsoli otwieramy dowolny edytor tekstu np. emacs > emacs skrypt.sh W edytorze zapisujemy: #!/bin/bash Treść skryptu echo 0 # komentarze W przypadku edytora emacs należy użyć następujących skrótów: Ctrl + x Ctrl+s zapis Ctrl + x Ctrl+c wyjście z edytora
Przykładowy skrypt W linii poleceń nadajemy odpowiednie atrybuty: > chmod +x skrypt.sh Uruchomienie skryptu: >./skrypt.sh
Parametry skryptu >./skrypt.sh parametr1 parametr2 $0 - nazwa skryptu $1 - parametr 1 $2 - parametr 2 $# - liczba parametrów