2022-05-17 10:25:50 +02:00
# Hello world
2022-02-25 00:01:13 +01:00
2022-05-17 10:25:50 +02:00
Welcome!
2022-07-14 11:46:16 +02:00
2022-05-17 10:25:50 +02:00
Essential: introduction to linux
=================
* [Introduction to Linux ](./essential/introduction_to_linux.md#introduction-to-linux )
* [Where does Linux originate from? ](./essential/introduction_to_linux.md#where-does-linux-originate-from )
* [Who is behind this project? ](./essential/introduction_to_linux.md#who-is-behind-this-project )
* [What is the deal with 'GNU-slash-Linux'? ](./essential/introduction_to_linux.md#what-is-the-deal-with-gnu-slash-linux )
* [Where can you <em>get</em> some Linux? ](./essential/introduction_to_linux.md#where-can-you-get-some-linux )
* [Debian ](./essential/introduction_to_linux.md#debian )
* [How to create a virtual machine ](./essential/introduction_to_linux.md#how-to-create-a-virtual-machine )
* [Breakdown of the Debian installation ](./essential/introduction_to_linux.md#breakdown-of-the-debian-installation )
* [Exercise ](./essential/introduction_to_linux.md#exercise )
* [Quick look at an idle system ](./essential/introduction_to_linux.md#quick-look-at-an-idle-system )
* [Package managers ](./essential/introduction_to_linux.md#package-managers )
* [Graphical installation ](./essential/introduction_to_linux.md#graphical-installation )
* [Command line installation ](./essential/introduction_to_linux.md#command-line-installation )
* [Adding a secondary desktop environment ](./essential/introduction_to_linux.md#adding-a-secondary-desktop-environment )
* [Changing the runlevel ](./essential/introduction_to_linux.md#changing-the-runlevel )
* [Exercise ](./essential/introduction_to_linux.md#exercise-1 )
* [Guest additions ](./essential/introduction_to_linux.md#guest-additions )
2022-07-14 11:46:16 +02:00
Created by [gh-md-toc ](https://github.com/ekalinin/github-markdown-toc )
2022-05-17 10:25:50 +02:00
Essential: introduction to the commandline
=================
* [Introduction to the command line ](./essential/introduction_to_the_commandline.md#introduction-to-the-command-line )
* [Compiled vs interpreted ](./essential/introduction_to_the_commandline.md#compiled-vs-interpreted )
* [Note on file extensions ](./essential/introduction_to_the_commandline.md#note-on-file-extensions )
* [More about paths ](./essential/introduction_to_the_commandline.md#more-about-paths )
* [Absolute and relative paths ](./essential/introduction_to_the_commandline.md#absolute-and-relative-paths )
* [root and / and /root are not the same thing ](./essential/introduction_to_the_commandline.md#root-and---and-root-are-not-the-same-thing )
* [Exercise ](./essential/introduction_to_the_commandline.md#exercise )
* [A pit stop to review what we've learned so far ](./essential/introduction_to_the_commandline.md#a-pit-stop-to-review-what-weve-learned-so-far )
* [Arguments and flags ](./essential/introduction_to_the_commandline.md#arguments-and-flags )
* [Getting help ](./essential/introduction_to_the_commandline.md#getting-help )
* [Options ](./essential/introduction_to_the_commandline.md#options )
* [Manuals ](./essential/introduction_to_the_commandline.md#manuals )
* [Exercise ](./essential/introduction_to_the_commandline.md#exercise-1 )
* [Creating, modifying and deleting ](./essential/introduction_to_the_commandline.md#creating-modifying-and-deleting )
* [Directories ](./essential/introduction_to_the_commandline.md#directories )
* [Files ](./essential/introduction_to_the_commandline.md#files )
* [Links ](./essential/introduction_to_the_commandline.md#links )
* [Editors ](./essential/introduction_to_the_commandline.md#editors )
* [nano ](./essential/introduction_to_the_commandline.md#nano )
* [Exercise ](./essential/introduction_to_the_commandline.md#exercise-2 )
* [vi and vim ](./essential/introduction_to_the_commandline.md#vi-and-vim )
* [Exercise ](./essential/introduction_to_the_commandline.md#exercise-3 )
* [Opening or peaking into files ](./essential/introduction_to_the_commandline.md#opening-or-peaking-into-files )
* [Exercise ](./essential/introduction_to_the_commandline.md#exercise-4 )
* [Finding stuff ](./essential/introduction_to_the_commandline.md#finding-stuff )
* [Finding files ](./essential/introduction_to_the_commandline.md#finding-files )
* [The easy way ](./essential/introduction_to_the_commandline.md#the-easy-way )
* [The hard way ](./essential/introduction_to_the_commandline.md#the-hard-way )
* [Exercise ](./essential/introduction_to_the_commandline.md#exercise-5 )
* [Searching inside files ](./essential/introduction_to_the_commandline.md#searching-inside-files )
2022-07-14 11:46:16 +02:00
* [Wild cards and regular expressions ](./essential/introduction_to_the_commandline.md#wild-cards-and-regular-expressions )
* [Wild cards ](./essential/introduction_to_the_commandline.md#wild-cards )
2022-05-17 10:25:50 +02:00
* [Exercise ](./essential/introduction_to_the_commandline.md#exercise-6 )
* [Exercise ](./essential/introduction_to_the_commandline.md#exercise-7 )
* [Regular expressions ](./essential/introduction_to_the_commandline.md#regular-expressions )
* [Pipes and redirects ](./essential/introduction_to_the_commandline.md#pipes-and-redirects )
* [Redirecting ](./essential/introduction_to_the_commandline.md#redirecting )
2022-07-14 11:46:16 +02:00
* [Input redirection ](./essential/introduction_to_the_commandline.md#input-redirection )
2022-05-17 10:25:50 +02:00
* [Piping ](./essential/introduction_to_the_commandline.md#piping )
* [Text manipulation ](./essential/introduction_to_the_commandline.md#text-manipulation )
* [Ideas ](./essential/introduction_to_the_commandline.md#ideas )
2022-07-14 11:46:16 +02:00
* [Exercises ](./essential/introduction_to_the_commandline.md#exercises )
* [Mini exercise 1 ](./essential/introduction_to_the_commandline.md#mini-exercise-1 )
* [Mini exercise 2 ](./essential/introduction_to_the_commandline.md#mini-exercise-2 )
* [Mini exercise 3 ](./essential/introduction_to_the_commandline.md#mini-exercise-3 )
* [Mini exercise 4 ](./essential/introduction_to_the_commandline.md#mini-exercise-4 )
* [Mini exercise 5 ](./essential/introduction_to_the_commandline.md#mini-exercise-5 )
* [Mini exercise 6 ](./essential/introduction_to_the_commandline.md#mini-exercise-6 )
* [Ideas ](./essential/introduction_to_the_commandline.md#ideas-1 )
2022-05-17 10:25:50 +02:00
2022-07-14 11:46:16 +02:00
Created by [gh-md-toc ](https://github.com/ekalinin/github-markdown-toc )
2022-05-17 10:25:50 +02:00
Essential: introduction to administration
=================
* [Users ](./essential/introduction_to_administration.md#users )
* [Adding and removing users ](./essential/introduction_to_administration.md#adding-and-removing-users )
* [GNOME ](./essential/introduction_to_administration.md#gnome )
* [command line ](./essential/introduction_to_administration.md#command-line )
* [Switching user ](./essential/introduction_to_administration.md#switching-user )
* [Groups ](./essential/introduction_to_administration.md#groups )
* [Permissions ](./essential/introduction_to_administration.md#permissions )
* [Octal number system ](./essential/introduction_to_administration.md#octal-number-system )
* [Changing ownership ](./essential/introduction_to_administration.md#changing-ownership )
* [umask ](./essential/introduction_to_administration.md#umask )
* [Essential programs ](./essential/introduction_to_administration.md#essential-programs )
* [Remote control of a server ](./essential/introduction_to_administration.md#remote-control-of-a-server )
* [History ](./essential/introduction_to_administration.md#history )
* [SSH and SFTP ](./essential/introduction_to_administration.md#ssh-and-sftp )
* [Bandit ](./essential/introduction_to_administration.md#bandit )
2022-07-14 11:46:16 +02:00
Created by [gh-md-toc ](https://github.com/ekalinin/github-markdown-toc )
2022-05-17 10:25:50 +02:00
Advanced: learning bash scripting
2022-02-25 00:01:13 +01:00
=================
2022-05-17 10:25:50 +02:00
* [bash ](./advanced/learning_bash_scripting.md#bash )
* [Using variables to store the output of command ](./advanced/learning_bash_scripting.md#using-variables-to-store-the-output-of-command )
* [Coding challenge - Output system stats ](./advanced/learning_bash_scripting.md#coding-challenge---output-system-stats )
* [Getting input into the script ](./advanced/learning_bash_scripting.md#getting-input-into-the-script )
* [With read ](./advanced/learning_bash_scripting.md#with-read )
* [Coding challenge - Secret input ](./advanced/learning_bash_scripting.md#coding-challenge---secret-input )
* [read multiple variables ](./advanced/learning_bash_scripting.md#read-multiple-variables )
2022-07-14 11:46:16 +02:00
* [Exercise - unpack values ](./advanced/learning_bash_scripting.md#exercise---unpack-values )
2022-05-17 10:25:50 +02:00
* [With command line arguments ](./advanced/learning_bash_scripting.md#with-command-line-arguments )
* [Coding Challenge - output the exact output below ](./advanced/learning_bash_scripting.md#coding-challenge---output-the-exact-output-below )
* [More math! ](./advanced/learning_bash_scripting.md#more-math )
* [The let keyword ](./advanced/learning_bash_scripting.md#the-let-keyword )
* [The expr keyword ](./advanced/learning_bash_scripting.md#the-expr-keyword )
* [Double parenthesis ](./advanced/learning_bash_scripting.md#double-parenthesis )
* [Variable length ](./advanced/learning_bash_scripting.md#variable-length )
* [If Statements - How to make decisions within your Bash script. ](./advanced/learning_bash_scripting.md#if-statements---how-to-make-decisions-within-your-bash-script )
* [How does it work behind the scenes? ](./advanced/learning_bash_scripting.md#how-does-it-work-behind-the-scenes )
2022-07-14 11:46:16 +02:00
* [exit status ](./advanced/learning_bash_scripting.md#exit-status )
* [test ](./advanced/learning_bash_scripting.md#test )
2022-05-17 10:25:50 +02:00
* [Nested if statements ](./advanced/learning_bash_scripting.md#nested-if-statements )
* [A <em>modern</em> version of test ](./advanced/learning_bash_scripting.md#a-modern-version-of-test )
* [[[ ]]](./advanced/learning_bash_scripting.md#--)
* [(( )) ](./advanced/learning_bash_scripting.md#---1 )
* [&& and || ](./advanced/learning_bash_scripting.md#-and-- )
2022-07-14 11:46:16 +02:00
* [Coding challenge - File information ](./advanced/learning_bash_scripting.md#coding-challenge---file-information )
* [Coding challenge - pipe or argument? ](./advanced/learning_bash_scripting.md#coding-challenge---pipe-or-argument )
2022-05-17 10:25:50 +02:00
* [Loops - A variety of ways to perform repetitive tasks. ](./advanced/learning_bash_scripting.md#loops---a-variety-of-ways-to-perform-repetitive-tasks )
2022-07-14 11:46:16 +02:00
* [while loop ](./advanced/learning_bash_scripting.md#while-loop )
* [Read from a file with a while loop ](./advanced/learning_bash_scripting.md#read-from-a-file-with-a-while-loop )
* [Read from a pipe with a while loop ](./advanced/learning_bash_scripting.md#read-from-a-pipe-with-a-while-loop )
* [for loop ](./advanced/learning_bash_scripting.md#for-loop )
* [Counter loops with for ](./advanced/learning_bash_scripting.md#counter-loops-with-for )
* [Finicky behaviour ](./advanced/learning_bash_scripting.md#finicky-behaviour )
* [break and continue ](./advanced/learning_bash_scripting.md#break-and-continue )
* [Coding challenge - pipe or argument plus action! ](./advanced/learning_bash_scripting.md#coding-challenge---pipe-or-argument-plus-action )
* [Coding challenge - Rename files ](./advanced/learning_bash_scripting.md#coding-challenge---rename-files )
* [Coding challenge - Rename jpeg files ](./advanced/learning_bash_scripting.md#coding-challenge---rename-jpeg-files )
* [Coding challenge - Remove duplicate files ](./advanced/learning_bash_scripting.md#coding-challenge---remove-duplicate-files )
* [Coding challenge - File tree ](./advanced/learning_bash_scripting.md#coding-challenge---file-tree )
* [Coding challenge - Compare and move ](./advanced/learning_bash_scripting.md#coding-challenge---compare-and-move )
* [Coding challenge - Guess the number ](./advanced/learning_bash_scripting.md#coding-challenge---guess-the-number )
2022-05-17 10:25:50 +02:00
* [Functions - Reuse code to make life easier. ](./advanced/learning_bash_scripting.md#functions---reuse-code-to-make-life-easier )
2022-07-14 11:46:16 +02:00
* [defining a function ](./advanced/learning_bash_scripting.md#defining-a-function )
* [function arguments ](./advanced/learning_bash_scripting.md#function-arguments )
* [global vs local variable ](./advanced/learning_bash_scripting.md#global-vs-local-variable )
* [return values ](./advanced/learning_bash_scripting.md#return-values )
* [the command builtin ](./advanced/learning_bash_scripting.md#the-command-builtin )
* [Coding challenge - Student reports ](./advanced/learning_bash_scripting.md#coding-challenge---student-reports )
2022-05-17 10:25:50 +02:00
* [User Interface - Make your scripts user friendly. ](./advanced/learning_bash_scripting.md#user-interface---make-your-scripts-user-friendly )
2022-07-14 11:46:16 +02:00
* [Coding challenge - Address book ](./advanced/learning_bash_scripting.md#coding-challenge---address-book )
* [Arrays in bash ](./advanced/learning_bash_scripting.md#arrays-in-bash )
2022-05-17 10:25:50 +02:00
* [Python ](./advanced/learning_bash_scripting.md#python )
* [Vim as an IDE ](./advanced/learning_bash_scripting.md#vim-as-an-ide )
2022-07-14 11:46:16 +02:00
Created by [gh-md-toc ](https://github.com/ekalinin/github-markdown-toc )
Advanced: learning shells
=================
* [bash login ](./advanced/learning_shells.md#bash-login )
* [which files are sources when ](./advanced/learning_shells.md#which-files-are-sources-when )
* [A clean slate ](./advanced/learning_shells.md#a-clean-slate )
* [Prompt customization ](./advanced/learning_shells.md#prompt-customization )
* [Saving our changes ](./advanced/learning_shells.md#saving-our-changes )
* [Decoding the <em>base</em> prompt ](./advanced/learning_shells.md#decoding-the-base-prompt )
* [Alternative shells ](./advanced/learning_shells.md#alternative-shells )
* [zsh ](./advanced/learning_shells.md#zsh )
* [fish ](./advanced/learning_shells.md#fish )
* [xonsh ](./advanced/learning_shells.md#xonsh )
* [Shell completion ](./advanced/learning_shells.md#shell-completion )
* [Frameworks ](./advanced/learning_shells.md#frameworks )
* [oh my zsh ](./advanced/learning_shells.md#oh-my-zsh )
* [oh my bash ](./advanced/learning_shells.md#oh-my-bash )
* [xxh ](./advanced/learning_shells.md#xxh )
Created by [gh-md-toc ](https://github.com/ekalinin/github-markdown-toc )
2022-04-01 07:38:24 +02:00