<commit_before>Session 2: Linux Basics
=========================

Today's Agenda
--------------

* The Terminal & Shell
    * Scripts, file paths, special characters
.. figure:: /static/Tux.png
    :align: right
* Productivity tricks
    * Getting help
* What are files?
    * File permissions
* What are user accounts?
    * User and group management
* What are packages?
    * How to use package managers
* IRC
    * Setup and etiquette

The Terminal
------------

.. figure:: /static/crashcart.jpg
    :align: right
    :scale: 75%

* Used to mean the keyboard+monitor
    * Now that's a crash cart
* Terminal emulator
* Shell: Use bash; others include csh, zsh, tsch
    * ``~/.bashrc``

.. figure:: /static/televideo_terminal.jpg
    :align: right
    :scale: 40%

.. figure:: /static/teletype_terminal.jpg
    :align: left

Basic Shell Commands
--------------------

.. note::

  :Explain architecture: built in commands vs. external binaries
  :Demo commands:
    Directory movement and file manipulation: Cd, pwd, ls, rm, mv, touch
  :User info: id, whoami, w
  :Pipes: redirection (pipe.txt, redirect.txt)
  :Special variables: $?, $$ (pid.sh), !!, !*, !$

.. figure:: /static/pylogo.png
    :align: right
    :scale: 75%

* ``ls``, ``cd``, ``cat``, ``echo``
* invoke/call an installed program
* get help: ``man <program>``

::

    test@x230 ~ $ tree
    .
    ├── Documents
    │   ├── Code
    │   │   └── scripts<commit_msg>adding back in os change<commit_after>Session 2: Linux Basics
=========================

Today's Agenda
--------------

* The Terminal & Shell
    * Scripts, file paths, special characters
.. figure:: /static/Tux.png
    :align: right
* Productivity tricks
    * Getting help
* What are files?
    * File permissions
* What are user accounts?
    * User and group management
* What are packages?
    * How to use package managers
* IRC
    * Setup and etiquette
    
Operating Systems
-----------------

.. figure:: /static/os.gif
    :align: right



* What is an OS
* GNU/Linux, BSD, Windows, OS X, Plan 9
* Different use cases - desktop, server, phone

The Terminal
------------

.. figure:: /static/crashcart.jpg
    :align: right
    :scale: 75%

* Used to mean the keyboard+monitor
    * Now that's a crash cart
* Terminal emulator
* Shell: Use bash; others include csh, zsh, tsch
    * ``~/.bashrc``

.. figure:: /static/televideo_terminal.jpg
    :align: right
    :scale: 40%

.. figure:: /static/teletype_terminal.jpg
    :align: left

Basic Shell Commands
--------------------

.. note::

  :Explain architecture: built in commands vs. external binaries
  :Demo commands:
    Directory movement and file manipulation: Cd, pwd, ls, rm, mv, touch
  :User info: id, whoami, w
  :Pipes: redirection (pipe.txt, redirect.txt)
  :Special variables: $?, $$ (pid.sh), !!, !*, !$

.. figure:: /static/bash.png
    :align: right
    :scale: 75%

* ``ls``, ``cd``, ``cat``, ``echo``
* invoke/call an installed program
* get help: ``man <program>``

::

    test@x230 ~ $ tree
    .
    ├── Documents
    │   ├── Code
    │   │   └── scripts
{'fraction_non_alphanumeric': 0.18042912873862157, 'fraction_numerical': 0.0068270481144343306, 'mean_word_length': 2.6157461809635723, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '657425', 'n_tokens_mistral': 1031, 'n_tokens_neox': 972, 'n_words': 330}