Podstawy pracy w systemie Linux
- Kurs: WFAIS.IF-X215.0
- Sala: G-1-07
- Koordynator, wykład: prof. dr hab. inż. Grzegorz J. Nalepa
- Ćwiczenia: dr inż. Krzysztof Kutt (KKT), dr inż. Szymon Bobek (SBK), mgr inż. Jan Ignatowicz (JIG)
Harmonogram ćwiczeń
L.p. | Termin | Instrukcja do zajęć |
---|---|---|
1. | 29.02.2024 | Wprowadzenie do pracy w systemie (KKT) |
2. | 07.03.2024 | Praca z plikami i poleceniami (KKT) |
3. | 14.03.2024 | Powłoka i środowisko pracy (SBK) |
4. | 21.03.2024 | Procesy i zadania (JIG) |
5. | 04.04.2024 | Kolokwium 1. (14 EXP) – obowiązują zajęcia 1-4 + wykłady (JIG) |
6. | Podstawy skryptów i filtrów (JIG) | |
7. | 11.04.2024 | SED i Awk (SBK) |
8. | 18.04.2024 | Pisanie skryptów Bash (SBK) |
9. | 25.04.2024 | Praktyczne wykorzystanie narzędzi szyfrujących (JIG) |
10. | 09.05.2024 | Kolokwium 2. (14 EXP) – obowiązują zajęcia 6-9 + wykłady (SBK) |
11. | Podstawy administrowania 1: użytkownicy i system plików (SBK) | |
12. | 16.05.2024 | Podstawy administrowania 2: zarządzanie usługami i monitorowanie systemu (SBK) |
13. | 23.05.2024 | Elementy programowania systemowego (JIG) |
14. | 06.06.2024 | Elementy programowania sieciowego (SBK) |
15. | 13.06.2024 | Kolokwium 3. (14 EXP) – obowiązują zajęcia 11-14 + wykłady (SBK) |
Zasady zaliczenia
- 50 EXP stanowi 100% łącznej liczby punktów (MAX). Składają się na to:
- 3 kolokwia (3x14 EXP)
- 4 niezapowiedziane kartkówki “wejściówki”/“wyjściówki” (4x2 EXP)
- Powyższy wynik mogą podnieść ewentualne “plusy” za aktywność na zajęciach (1 plus = 0.5 EXP)
- Plusy są brane pod uwagę tylko w momencie uzyskania zaliczenia w terminie podstawowym.
- Dozwolone są dwie nieusprawiedliwione nieobecności.
- Każda kolejna nieobecność skutkuje odjęciem 5 EXP.
- Skala ocen:
- >= 45 EXP – bdb
- >= 40 EXP – db+
- >= 35 EXP – db
- >= 30 EXP – dst+
- >= 25 EXP – dst
- < 25 EXP – ndst
Dowiedz się więcej!
Zadania
- Command Line Challenge – czy potrafisz napisać polecenie które robi zadaną rzecz? (warto się pobawić po laboratorium z 6 [filtry] i 7 [SED i Awk])
Ciekawe książki
- William Shotts - The Linux Command Line (No Starch Press, 2019) – dobre darmowe wprowadzenie do Basha; mało wiedzy ogólnie o działaniu systemów Unixowych (ale coś tam jest przemycane); pokrywa ok. 75% tego co robimy na laboratorium
- Graham Glass, King Ables - Linux dla programistów i użytkowników (Helion, 2007) - już nie-najświeższa, ale cały czas dobra pozycja wprowadzająca
- Daniel J. Barrett - Linux Pocket Guide (O'Reilly, 2016) - krótki przegląd najważniejszych informacji i poleceń (przydatny dla znających podstawy, którzy chcą mieć fajną “ściągę” pod ręką)
- Ciekawe są wszystkie książki z serii "Pocket Reference"
- UNIX and Linux System Administration Handbook (Addison-Wesley Professional, 2017) – najlepszy podręcznik administracji systemu Linux (polskie wydanie; Helion, 2018)
Artykuły GJN
Linux
Programowanie systemowe
- Brian W. Kernighan, Dennis M. Ritchie - Język ANSI C. Programowanie (Helion, 2010) – klasyczna pozycja, bardzo warta uwagi
- Brian W. Kernighan, Rob Pike - The UNIX Programming Environment (Prentice Hall, 1984) – starsza od Państwa, ale ciągle aktualna książka, która pozwala zrozumieć UNIXa, a przy tym bardzo przystępna
- Marc J. Rochkind - Programowanie w systemie Unix dla zaawansowanych (Wydawnictwa Naukowo-Techniczne, 2007)
- w oryginale: Advanced Unix Programming (Addison-Wesley Professional, 2004) [uwaga: II wyd. po angielsku to III wyd. polskie]
- W. Richard Stevens, Stephen Rago - Advanced Programming in the UNIX Environment (Addison-Wesley Professional, 2013) – wymiennie z pozycją Rochkinda, obydwa są dobrymi podręcznikami programowania w Unixie, z licznymi praktycznymi przykładami
OS development
- How to create an OS from scratch! – ciekawy, ale bardzo techniczny kurs, nazwa dobrze oddaje zawartość
- Erik Helin, Adam Renberg - The little book about OS development – praktyczny podręcznik z minimum teorii
Powłoki
- explainshell.com – wpisz polecenie, aby zobaczyć dokumentację do każdego z argumentów
- Bash:
- Learn Shell – najważniejsze podstawy (pokryte również przez nasze laboratoria)
- Fish Shell – Friendly Interactive SHell (ładna i wygodna powłoka)
Edytory
- VIM Adventures – ciekawy tutorial do nauki edytora Vim