linux_introduction/readme.md

189 lines
14 KiB
Markdown
Raw Permalink Normal View History

# Hello world
2022-02-25 00:01:13 +01:00
Welcome!
2022-07-14 11:46:16 +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)
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)
* [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)
* [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-07-14 11:46:16 +02:00
Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)
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)
Advanced: learning bash scripting
2022-02-25 00:01:13 +01: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)
* [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)
* [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)
* [&amp;&amp; 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)
* [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)
* [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)
* [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)
* [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