====== Wprowadzenie do UNIXa ======
**Semestr zimowy 2021/22**
Zajęcia odbywają się w terminie:
* wtorek godz. 1200-1430 w PK6
* wtorek godz. 1430-1700 w PK6
Adres kursu w Moodle: https://moodle.umk.pl/WFAIIS/course/view.php?id=21
===== Literatura =====
Dowolna książka lub strona internetowa dotycząca użytkowania systemu Unix lub Linux, która zawiera opis poleceń konsolowych
* Introduction to Linux - //LPI training materials// ({{https://www.tuxcademy.org/download/en/grd1/grd1-en-manual.pdf|PDF}} )
* [[https://tldp.org/LDP/intro-linux/html/index.html|Introduction to Linux A Hands on Guide]] by Machtelt Garrels {{[https://ftp.wayne.edu/ldp/en/Intro-Linux/Intro-Linux.pdf|PDF}})
* Peter P. Silvester, //System operacyjny Unix, Wydawnictwo Naukowo-Techniczne//, Warszawa 1991
* Mark G. Sobell, //A Practical Guide To The Unix System//, The Benjamin/Cummings Publishing Company, Inc., Redwood City, 1995
===== Materiały do zajęć =====
**[[http://www.fizyka.umk.pl/~grochu/unix/unix-2021/index.html|Wprowadzenie do Linuxa]]** ({{http://www.fizyka.umk.pl/~grochu/unix/unix-2021.html|HTML}}, {{zajecia:unix_2021_2:unix.pdf|PDF}})\\
* Laboratorium 1:
* [[https://www.fizyka.umk.pl/~grochu/unix/unix-2021/S1.SS3.html|Rozpoczynamy pracę]]
* [[https://www.fizyka.umk.pl/~grochu/unix/unix-2021/S1.SS2.html|Podstawowe informacje o systemie UNIX/Linux]]
* [[http://www.is.umk.pl/~grochu/unix/unix-2021/S2.html|Podstawowe polecenia]]
* Laboratorium 2:
* [[https://www.fizyka.umk.pl/~grochu/unix/unix-2021/S3.html|Zarządzanie plikami]]
* [[https://moodle.umk.pl/WFAIIS/mod/quiz/view.php?id=4714|Test 1 (23.11.2021)]] \\ Zakres testu:
* polecenia ''pwd'', ''ls'', ''cd'', ''file'', ''mkdir'', ''rmdir'', ''rm'', ''touch'', ''cp''
* listowanie plików (''ls'') i informacje o plikach (''ls -l'', ''file'')
* znaki specjalne powłoki ''*'', ''?'', ''[abc]'', ''[^abc]''
* cytowanie znaków specjalnych ''\*\$'', ''"*$"'', '' '*$' ''
* Laboratorium 3:
* [[https://www.fizyka.umk.pl/~grochu/unix/unix-2021/S4.html|Narzędzia tekstowe i strumienie]]
* [[https://moodle.umk.pl/WFAIIS/mod/quiz/view.php?id=4731|Test 2 (30.11.2021)]] \\ Zakres testu:
* polecenia ''mv'', ''ln'', ''du'', ''echo'', ''cat'', ''more'', ''head'', ''tail'', ''wc'', ''sort''
* dowiązania zwykłe (sztywne) i symboliczne do plików (''ln'')
* zajętość plików i katalogów (''du'')
* sortowanie alfabetyczne (''sort'')
* przekierowania strumieni wejścia i wyjścia: ''>'', ''>>'', ''<'', ''2>''
* tworzenie potoków poleceń za pomocą ''|''
* Laboratorium 4:
* [[https://www.fizyka.umk.pl/~grochu/unix/unix-2021/S4.html|Narzędzia tekstowe i strumienie]] (dokończenie)
* [[https://www.fizyka.umk.pl/~grochu/unix/unix-2021/S5.SS1.html|Edytor Vim]]
* [[https://moodle.umk.pl/WFAIIS/mod/quiz/view.php?id=4755|Test 3 (7.12.2021)]] \\ Zakres testu:
* polecenia: ''sort'', ''cut'', ''paste'', ''tr'', ''wc'', ''cmp'', ''diff'', ''tee'', ''grep''
* podstawianie wyjścia programów za pomocą ''$(polecenie)''
* edytor Vim, tryby pracy vim, podstawowe komendy (usuń, kopiuj, wklej, undo), wyjście z vim, zapisanie pliku, poruszanie się po tekście (h, j ,k, l, w, b, {, }, (, ), 0, $, 13G), powtarzanie operacji, np. 10dd
* Laboratorium 5:
* [[https://www.fizyka.umk.pl/~grochu/unix/unix-2021/S6.html|Uprawnienia]]
* [[https://www.fizyka.umk.pl/~grochu/unix/unix-2021/S7.html|Informacje o systemie i użytkownikach]]
* [[https://moodle.umk.pl/WFAIIS/mod/quiz/view.php?id=4800|Test 4 (14.12.2021)]] \\ Zakres testu:
* informacje o uprawnieniach (polecenie ''ls -l''), właściciel pliku, grupa i pozostali użytkownicy, numery UID i GID, pliki ''/etc/passwd'', ''/etc/group''
* uprawnienia ''rwx'' plików i katalogów, zmiana uprawnień (polecenie ''chmod'', ''umask'')
* informacje o użytkownikach (polecenia ''whoami'', ''id'', ''groups'', ''finger'', ''who'', ''w'', ''users'')
* system operacyjny (''uname'', ''hostname'')
* data i czas (''date'', ''cal'')
* system plików (polecenie ''df'')
* lista zmiennych środowiskowych (''printenv'')
* Laboratorium 6:
* [[http://www.is.umk.pl/~grochu/unix/unix-2021/S8.html|Procesy]]
* [[https://moodle.umk.pl/WFAIIS/mod/quiz/view.php?id=4838|Test 5 (21.12.2021)]] \\ Zakres testu:
* uruchamianie procesów w tle i na pierwszym planie (''bg'', ''fg'', skróty ''Ctrl+C'', ''Ctrl+Z'')
* wyświetlanie listy procesów (''ps'', ''top'')
* podstawowe informacje o procesach (''PID'', ''PPID'', priorytety ''NI'', stany ''S'', ''R'', ''T'', zajętość procesowa i pamięci)
* wysyłanie sygnałów do procesów, zabijanie procesów (polecenie ''kill'', ''pkill'', ''pgrep'', sygnały ''INT'', ''KILL'', ''STOP'', ''CONT'')
* uruchamiania zadań odłożonych w czasie (''at'', ''atq'', ''atrm'')
* harmonogram zadań ''cron'' (polecenie ''crontab'')
* zadania powłoki (polecenie ''jobs'', numer ''JID'')
* zmiana priorytetów procesu (''nice'', ''renice'')
* polecenia ''nohup'', ''fuser'', ''timeout'', ''watch'', ''time''
* zajętość pamięci komputera (polecenie ''free'')
* Laboratorium 7 (21 grudnia 2021r.)
* [[http://www.is.umk.pl/~grochu/unix/unix-2021/S5.SS2.html|Edytor Emacs]]
* [[http://www.is.umk.pl/~grochu/unix/unix-2021/S9.html|Wyszukiwanie plików]]
* [[https://moodle.umk.pl/WFAIIS/mod/quiz/view.php?id=4883|Test 6 (4.01.2022)]] \\ Zakres testu:
* polecenie ''find'', ''locate'', ''which'', ''whereis''
* wyszukiwanie plików względem nazwy, rozmiaru, czasu modyfikacji, typu, właściciela, ...
* wykonywanie operacji na znalezionych plikach (opcja ''find -exec'', polecenie ''xargs'')
* podstawy edycji tekstu za pomocą ''Emacs''
* Laboratorium 8:
* [[http://www.is.umk.pl/~grochu/unix/unix-2021/S10.html|Narzędzia sieciowe]]
* [[http://www.is.umk.pl/~grochu/unix/unix-2021/S11.html|Archiwa, kompresja danych]]
* [[https://moodle.umk.pl/WFAIIS/mod/quiz/view.php?id=4901|Test 7 (11.01.2022)]] \\ Zakres testu:
* narzędzia sieciowe: host, hostname, ping, tracepath, ssh, scp, rsync, netstat, ifconfig
* archiwa i kompresja: gzip, zip, bzip2, tar, gunzip, unzip, bunzip2
* Laboratorium 9:
* Laboratorium 10:
* {{https://www.fizyka.umk.pl/~grochu/unix/skrypty-2021/|Skrypty z zajęć}}
* [[https://www.ifiz.umk.pl/dla-pracownikow/lan/|Sieć LAN na WFAiIS (Regulamin korzystania z sieci wydziałowej)]]\\
===== Przydatne programy =====
[[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html|PuTTY]] (Win)\\
[[http://mobaxterm.mobatek.net/|MobaXterm]] The complete toolbox for remote computing\\
[[http://winscp.net/|WinSCP]]\\
[[http://www.realvnc.com/download/viewer/|Real VNC Viewer]] [[http://www.tightvnc.com/|Tight VNC]]\\
[[http://www.virtualbox.org/|VirtualBox]]\\
[[http://www.cygwin.com|Cygwin]]\\
===== Unix/Linux - polecenia =====
[[http://cb.vu/unixtoolbox.xhtml|Sciaga UNIX Toolbox]]\\
[[http://www.nixtutor.com/linux/all-the-best-linux-cheat-sheets/|All the Best Linux Cheat Sheets]] \\
[[http://pubs.opengroup.org/onlinepubs/7908799/xcuix.html|Commands & Utilities]] - The Single UNIX® Specification, Version 2
[[http://www.gnu.org/software/coreutils/manual/index.html|GNU Coreutils - dokumentacja]]\\
[[http://www.pixelbeat.org/docs/unix_commands/|UNIX core commands]]\\
===== UNIX/Linux - Podstawy =====
[[http://pl.wikibooks.org/wiki/Linux_-_wprowadzenie|Linux - wprowadzenie (WikiBook)]] (polskie tłumaczenie, niestety niekompletne) \\
[[http://www.ee.surrey.ac.uk/Teaching/Unix/|UNIX Tutorial for Beginners]]\\
[[http://www2.ocean.washington.edu/unix.tutorial.html|UNIX Tutorial]]\\
[[http://zasoby.open.agh.edu.pl/~09saprzybylo/index.html|Open-AGH - System Unix]]\\
[[http://mywiki.wooledge.org/CategoryUnix|Greg's Wiki - CategoryUnix]]\\
{{http://www.catonmat.net/download/bash-redirections-cheat-sheet.pdf|Przekierowania w Bash - ściąga}}\\
===== Edytory tekstu =====
[[http://www.gnu.org/software/emacs/tour/|Emacs]] podstawowe komendy {{http://www.fizyka.umk.pl/~grochu/emacs/emacs.html|HTML}}, {{http://www.fizyka.umk.pl/~grochu/emacs/emacs.pdf|PDF}})\\
[[http://www.vim.org/|Vim]] - podstawowe komendy ({{http://www.fizyka.umk.pl/~grochu/vim/vim.html|HTML}}, {{http://www.fizyka.umk.pl/~grochu/vim/vim.pdf|PDF}}) \\
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/index.html|Emacs - manual]]\\
[[https://www.emacswiki.org/|Emacs wiki]]\\
{{http://www.elmindreda.org/emacs.html|Emacs for Vi users}}\\
{{https://ccrma.stanford.edu/guides/package/emacs/emacs.html|Emacs Cheat Sheet}}\\
{{http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html|Graphical vi-vim Cheat Sheet and Tutorial}}\\
{{http://vim-adventures.com/|VIM adventures}} {{http://www.openvim.com/tutorial.html|Interaktywny tutorial VI}}\\
{{http://newbiedoc.sourceforge.net/text_editing/vim.html|Beginner's guide to Vi Improved (vim)}}\\
[[http://pl.wikipedia.org/wiki/Wojny_edytorowe|Wojny edytorowe]]\\
===== Linux dla początkujących =====
Wikipedia: [[http://pl.wikipedia.org/wiki/Linux|Linux]] [[http://pl.wikipedia.org/wiki/Unix|UNIX]]
[[http://pl.wikipedia.org/wiki/GNU|GNU]] [[http://pl.wikipedia.org/wiki/GNU/Linux|GNU/Linux]]
[[http://pl.wikipedia.org/wiki/Dystrybucja_Linuksa|Dystrybucja linuxa]] [[http://pl.wikipedia.org/wiki/Por%C3%B3wnanie_dystrybucji_Linuksa|Porównanie dystrybucji Linuksa]] [[http://pl.wikipedia.org/wiki/Linux_(j%C4%85dro)|Jądro Linuxa]]\\
[[http://linuxhelp.blogspot.com/2006/04/mind-map-of-linux-distributions.html|Pąwiązania między dystrybucjami]]\\
[[http://distrowatch.com/|Distro Watch]]\\
===== Bash i programowanie w powłoce =====
[[http://www.learnshell.org/|learnshell.org]] Interactive Shell Programming tutorial\\
[[http://www.cs.put.poznan.pl/anstroinski/data/uploads/sop1/materials/sop1_lab7-kurs.html|Kurs Bash]]\\
[[http://tldp.org/LDP/abs/html/index.html|Advanced Bash-Scripting Guide]]\\
[[https://pl.wikibooks.org/wiki/Bash|Bash - WikiBook]]\\
Greg's Wiki [[http://mywiki.wooledge.org/BashFAQ|BashFAQ]] [[http://mywiki.wooledge.org/BashPitfalls|Bash Pitfalls]] [[http://mywiki.wooledge.org/BashGuide|Bash Guide]] [[http://mywiki.wooledge.org/BashSheet|Bash Sheet]]\\
[[http://www.bashoneliners.com/|BashOneLiners.com]] - "jednolinijkowce"\\
Bash One-Liners Explained: [[http://www.catonmat.net/blog/bash-one-liners-explained-part-one/|Part 1]] [[http://www.catonmat.net/blog/bash-one-liners-explained-part-two/|Part 2]] [[http://www.catonmat.net/blog/bash-one-liners-explained-part-three/|Part 3]]\\
[[http://www.cyberciti.biz/tips/bash-shell-parameter-substitution-2.html|HowTo: Use Bash Parameter Substitution Like A Pro]]\\
[[http://wiki.bash-hackers.org/howto/getopts_tutorial|getopts]]\\
[[http://wiki.bash-hackers.org/|The Bash-Hackers Wiki]]\\
[[http://andyk.pg.gda.pl/skrypty/|Przydatne proste skrypty dla linuxa]]\\
===== Skrypty w Bash on-line =====
{{https://www.tutorialspoint.com/execute_bash_online.php|Execute BASH Shell Script Online}}\\
{{https://www.jdoodle.com/test-bash-shell-script-online|Easy and Quick way to run Bash Script Online}} \\
{{http://explainshell.com/}} - analiza on-line poleceń powłoki\\
{{http://www.shellcheck.net/}} - analiza on-line skryptów sh/Bash\\
===== Wyrażenia regularne =====
{{https://regexcrossword.com/|Regex Crossword}} \\
{{https://regex101.com/|regex tester}} \\
[[http://public.kvalley.com/regex/regex.asp|Kvalley Computers and Internet -- RegEx Evaluator]]\\
{{http://maciek.lasyk.info/regexp_checker.html|Sprawdzacz wyrażeń regularnych (Regular expressions checker) }}\\
[[wp>Regular_expression]]\\
{{http://www.regular-expressions.info/reference.html|Regular Expression Basic Syntax Reference}}\\
{{http://www.zytrax.com/tech/web/regex.htm|Regular Expressions - User Guide}}\\
===== Informacje za świata Linuksa =====
[[http://osnews.pl/|OSnews]]\\
[[http://www.linux.pl/|linux.pl]]\\
[[https://itsfoss.com/|It's FOSS]] A Linux and Open Source Web Portal\\
[[https://www.linuxtoday.com/|Linux Today]]\\
===== Linux Live CD =====
[[http://www.ubuntu.pl/|Ubuntu Live CD]]\\
[[http://www.knoppix.org/|Knoppix]]\\
[[http://www.damnsmalllinux.org/|Damn Small Linux]]\\
[[http://cosmo.torun.pl/foswiki/bin/view/Cosmo/PierNix|PierNix - astronomiczna dystrybucja Linuksa z Torunia]]\\
===== Historia UNIXa =====
[[http://www.levenez.com/unix/|Unix History]]\\
[[http://pl.wikipedia.org/wiki/Historia_systemu_operacyjnego_Unix|Historia systemu operacyjnego Unix (Wikipedia)]]\\
[[http://pl.wikipedia.org/wiki/Historia_systemu_operacyjnego_Unix/Kalendarium|UNIX Kalendarium (Wikipedia)]]\\
===== Certyfikaty Linux =====
[[http://www.lpi.org/|Linux Professional Institute]]\\
==== Linux Essentials ====
[[https://www.lpi.org/our-certifications/linux-essentials-overview|Linux Essentials]] \\
[[https://www.lpi.org/our-certifications/exam-010-objectives|Zagadnienia]] \\
[[https://www.tuxcademy.org/media/lxes/|Materiały przygotowyjące]] (w jez. niemieckim) \\
==== LPIC-1 ====
[[http://www.lpi.org/our-certifications/lpic-1-overview|LPIC-1 Overview]] \\
[[https://www.tuxcademy.org/media/lpic1/|Materiały przygotowujące do certyfikatu LPIC-1]]
* [[https://www.tuxcademy.org/product/grd1/|Introduction to Linux]]
* [[https://www.tuxcademy.org/product/adm1/|Linux Administration I]]
* [[https://www.tuxcademy.org/product/grd2/|Advanced Linux]] - The Linux Shell and Toolkit
* [[https://www.tuxcademy.org/product/adm2/|Linux Administration II]] - Linux as a Network Client