started lec 1 and lec 2 notes

This commit is contained in:
ronny abraham 2024-12-01 22:43:43 +02:00
parent c2864b4ef1
commit 13fb995877
50 changed files with 149 additions and 2 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 494 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 383 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 324 KiB

105
_subsections/lesson-01.org Normal file
View file

@ -0,0 +1,105 @@
#+title: Lesson 01 | Course Overview + Shell
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../_share/media/css/missing-semester.css" />
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../_share/media/css/org-media-sass/collapsible.css" />
#+HTML_HEAD: <script src="../_share/media/js/collapsible.js"></script>
* Links
#+attr_html: :class links
- [[../toc.org][TOC | Missing Semester]]
- [[https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J][Playlist: Missing Semester]]
- current: https://youtu.be/Z56Jmr9Z34Q?si=t9wQkGXDznscDtNH&t=1217
* Notes
** why
- there are many tools that make life easier for programmers
- lecture notes and recordings are available online
** the shell
- programs are meant to be integrates with each other through the shell
- most common shell is Bourne Again Shell (bash)
** shell prompt
- typical shell prompt:
#+attr_html: :width 300px
file:../_share/media/img/lecture01/ex01.png
- shells can be customized extensibly
- arguments are seperated by whitespace
- multiple words can be passed as a single argument via:
- quotes
#+begin_src bash
echo "Hello world"
#+end_src
- escapes
#+begin_src bash
echo Hello\ world
#+end_src
** how does the shell know where programs are
- via environment variable
- things that are set whenever you start your shell
- where is your home directory
- what is your username
- what are the PATHs to your programs
- shells, and bash in particular, are programming languages
** paths
*** PATH environment variable
- a list seperated by colons (:)
- when bash is asked to run a program bash will search through the directories in path until it finds the program
*** absolute vs relative path
- pwd: print working directory
- all relative paths are relative to your current working directory
- absolute path starts with '/'
*** special directories
- '.' current directory
- '..' parent directory
*** tilde (~)
- always expands to your home directory
*** dash (-)
- toggles to the previous directory you were at
#+begin_src bash
cd /home/ronny/programs/notes/courses
cd ../../
cd -
pwd
#+end_src
the output will be
=/home/ronny/programs/notes/courses=
*** Playlist
#+attr_html: :class playlist
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=20s][00:20 why we're doing this class]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=251s][04:11 the shell]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=338s][05:38 install a terminal and a shell]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=364s][06:05 the shell prompt]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=411s][06:51 shell prompt]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=522s][08:42 how does the shell know what these programs are]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=672s][11:12 paths]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=738s][12:18 absolute path]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=759s][12:39 relative paths]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1034s][17:14 tilde character]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1336s][22:16 directories]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1376s][22:56 execute on directories]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1514s][25:14 cp command]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1547s][25:47 rm]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1590s][26:30 create a new directory]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=1912s][31:52 pipe character]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2044s][34:04 grep]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2145s][35:45 the root user]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2239s][37:19 kernel paramters]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2612s][43:32 scroll lock led]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2706s][45:06 open a file]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2829s][47:09 lecture notes]]
- [[https://www.youtube.com/watch?v=Z56Jmr9Z34Q&list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J&t=2875s][office hours]]

View file

@ -10,6 +10,48 @@
* Notes
** bash
*** spaces are critical with bash
- this works:
#+begin_src bash
foo=bar
echo $foo
#+end_src
- this doesn't:
#+begin_src bash
foo = bar
echo $foo
#+end_src
the output of that will be
=zsh: command not found: foo=
- what happens in the above example is that we are effectively calling the "foo" program with the arguments: "=" and "bar"
*** quotes
- you can use double or single quotes to print a value
#+begin_src bash
echo "Hello"
#+end_src
#+begin_src bash
echo 'Hello'
#+end_src
- double quotes can interpolate variables
#+begin_src bash
echo "Value is $foo"
#+end_src
will return: =Value is bar=
- single quotes can NOT interpoloate variables
#+begin_src bash
echo 'Value is $foo'
#+end_src
will return: =Value is $foo=
*** Playlist

View file

@ -11,8 +11,8 @@
* Contents Overview
#+attr_html: :class contents-overview
- [[./_subsections/lesson-02.org][Lesson 01 | Course Overview + The Shell]]
- [[./_subsections/lesson-03.org][Lesson 02 | Shell Tools and Scripting]]
- [[./_subsections/lesson-01.org][Lesson 01 | Course Overview + The Shell]]
- [[./_subsections/lesson-02.org][Lesson 02 | Shell Tools and Scripting]]
*** Playlist