2021-10-12 (Bringing Newcomers Up-to-Date) ========================================== .. contents:: :local: What happened in :doc:`/trainings/log/detail/FH-ECE-19/EC1/index` ... Linux/UNIX ---------- * Linux Topics (:download:`Linux Basics (PDF) `) * *Bausteine von Unix und Linux* 5-7, 9-16 * *Die Shell (Bash - "Bourne Again Shell")* 36-45, 58-61, 63, 64 * *Das Filesystem* Es ist wichtig, im Filesystem navigieren zu können. Die Basic Tools müssen sitzen (``cd``, ``ls``, ``pwd``, ``mkdir``, ``rm``, ``cp``, ``mv``, etc.). (Dazu muss man natürlich verstehen, was Files, Directories etc. sind.) Das *Permission*-Thema ist *extrem* wichtig, und man kann damit rechnen, dass zur Prüfung ein paar trockene Fragen zu dem Thema kommen. * Pfade: 67-71 * Directories: 72-76 * Symbolische Links: 77-79 * Directory Listings (``ls``): 84-87 * Kopieren und Verschieben (``cp`` und ``mv``): 88-91 * Owner, Permissions: 92-97, 100 * Die ``umask``: 98-99 * Tools für Permissions: 100 * Set-UID Bit: 101 * Sticky Bit: 102 * Das ``find`` Command: 105-109 * Tools für Textfiles: 113ff. Das Kapitel wurde ansatzweise durchgegangen - jedes Tool. Wichtig ist, zu verstehen, * dass die Tools von *Standard Input* lesen, auf *Standard Output* schreiben (und auf *Standard Error* Fehler und Debug-Messages schreiben). * dass diese und andere Tools durch die Benutzung von *Standard Input* und *Standard Output* in der *Pipe* * IO Redirection und Pipes: 133ff. Dieses Kapitel wurde in einem mit den Tools durchgemacht, ansatzweise. Wichtig ist mir, dass die Wirkungsweise der Pipe verstanden wird, und dass man Tools mit ihrer Hilfe verknüpfen kann. SSH --- * :doc:`SSH ` (connecting to the Raspberry) Python ------ * Setup * :doc:`/trainings/material/soup/python/basics/installation` * :doc:`/trainings/material/soup/python/misc/vscode` * Python Datatypes * :doc:`/trainings/material/soup/python/basics/python_0150_datatypes_overview/topic` * :doc:`/trainings/material/soup/python/basics/python_0300_strings/topic` (:doc:`Jupyter Notebook `) * :doc:`/trainings/material/soup/python/basics/python_0160_boolean/topic` * :doc:`/trainings/material/soup/python/basics/python_0400_lists/topic` * :doc:`/trainings/material/soup/python/basics/python_0460_sets/topic` * :doc:`/trainings/material/soup/python/basics/python_0450_dictionaries/topic` * :doc:`/trainings/material/soup/python/basics/python_0200_sequential_types/topic` * :doc:`Jupyter Notebook (Datatypes) ` * Control Flow * :doc:`/trainings/material/soup/python/basics/python_0170_if/topic` * :doc:`/trainings/material/soup/python/basics/python_0193_while/topic` * :doc:`/trainings/material/soup/python/basics/python_0220_for/topic` * :doc:`/trainings/material/soup/python/basics/python_0500_files/topic` (:doc:`Jupyter Notebook `) * :doc:`/trainings/material/soup/python/basics/python_0270_functions/topic` (:doc:`Jupyter Notebook `) * Exercises * :doc:`/trainings/material/soup/python/exercises/legacy/cmdline_digit` * :doc:`/trainings/log/detail/FH-ECE-19/EC1/Exercises/blinklicht` Links ..... * ``os.path`` module (from the `Python docs `__) * ``subprocess`` module (from the `Python docs `__) * `Stackoverflow: Git file permissions on Windows `__ * `Python Tutorial: Using Try/Except Blocks for Error Handling `__, by `Corey Schafer `__ .. raw:: html * `Python Tutorial: OS Module - Use Underlying Operating System Functionality `__, by `Corey Schafer `__ .. raw:: html * `Python Tutorial: Calling External Commands Using the Subprocess Module `__, by `Corey Schafer `__ .. raw:: html * `Python 3.7: Encode String Method `__ .. raw:: html Git --- .. sidebar:: Download and Installation * `Git for Windows `__ * `Git for MacOS `__ .. raw:: html **Project on Github** * Private repository on Github: https://github.com/jfasch/FH-ECE-19 * Create Github account, and send it to jf@faschingbauer.co.at * Clone the repository .. code-block:: console $ cd directory-where-i-have-my-ec-work $ git clone https://github.com/jfasch/FH-ECE-19.git * If you are getting tired of entering a password for each repo transaction, you can always `deploy a SSH public key to Github `__, and then re-clone using the SSH access method: .. code-block:: console $ git clone git@github.com:jfasch/FH-ECE-19.git