diff --git a/linux_toolkit_2021/images/categor5.jpg b/linux_toolkit_2021/images/categor5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..97ccb154cdce993eae2558f67e9e0441f82f1fe9 Binary files /dev/null and b/linux_toolkit_2021/images/categor5.jpg differ diff --git a/linux_toolkit_2021/images/categories.kra b/linux_toolkit_2021/images/categories.kra new file mode 100644 index 0000000000000000000000000000000000000000..91a6a406fb52776c61c78a243280abc799e1f882 Binary files /dev/null and b/linux_toolkit_2021/images/categories.kra differ diff --git a/linux_toolkit_2021/images/category1.jpg b/linux_toolkit_2021/images/category1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..84c9eafaa81a49e7264eb86d38ac93781880457f Binary files /dev/null and b/linux_toolkit_2021/images/category1.jpg differ diff --git a/linux_toolkit_2021/images/category10.jpg b/linux_toolkit_2021/images/category10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cdb78da740bd8ee9a72ba701d03104f6ccb7a9b3 Binary files /dev/null and b/linux_toolkit_2021/images/category10.jpg differ diff --git a/linux_toolkit_2021/images/category11.jpg b/linux_toolkit_2021/images/category11.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8f3833285aa51716dd010e593a9e87634d3a961f Binary files /dev/null and b/linux_toolkit_2021/images/category11.jpg differ diff --git a/linux_toolkit_2021/images/category12.jpg b/linux_toolkit_2021/images/category12.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7af012f71ae2b2fbf7cb2dc6136968ec30cc4d23 Binary files /dev/null and b/linux_toolkit_2021/images/category12.jpg differ diff --git a/linux_toolkit_2021/images/category13.jpg b/linux_toolkit_2021/images/category13.jpg new file mode 100644 index 0000000000000000000000000000000000000000..22f5019fb66f9b4f521d91193afbe0f067dc8ddd Binary files /dev/null and b/linux_toolkit_2021/images/category13.jpg differ diff --git a/linux_toolkit_2021/images/category14.jpg b/linux_toolkit_2021/images/category14.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0ad1a9788e81108c00d83c2a5f74aaac227ad62c Binary files /dev/null and b/linux_toolkit_2021/images/category14.jpg differ diff --git a/linux_toolkit_2021/images/category15.jpg b/linux_toolkit_2021/images/category15.jpg new file mode 100644 index 0000000000000000000000000000000000000000..67f613299ea98754dcbf48f2068fe41152ee10c1 Binary files /dev/null and b/linux_toolkit_2021/images/category15.jpg differ diff --git a/linux_toolkit_2021/images/category16.jpg b/linux_toolkit_2021/images/category16.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0165d7c4a73ec2c180398c7988e9a0c6f45304ca Binary files /dev/null and b/linux_toolkit_2021/images/category16.jpg differ diff --git a/linux_toolkit_2021/images/category2.jpg b/linux_toolkit_2021/images/category2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bc29d6e217d2cc87ba6dc39f2a2ce8a2fcb4cf2b Binary files /dev/null and b/linux_toolkit_2021/images/category2.jpg differ diff --git a/linux_toolkit_2021/images/category3.jpg b/linux_toolkit_2021/images/category3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..406e385566270a9e9539539b26308af09a073ab0 Binary files /dev/null and b/linux_toolkit_2021/images/category3.jpg differ diff --git a/linux_toolkit_2021/images/category4.jpg b/linux_toolkit_2021/images/category4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..814d253f2fdbc3b99fd081c543d6fd7728a0bb96 Binary files /dev/null and b/linux_toolkit_2021/images/category4.jpg differ diff --git a/linux_toolkit_2021/images/category5jpg.jpg b/linux_toolkit_2021/images/category5jpg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..022942620064850d0dceedb226101d5c16d4f1f2 Binary files /dev/null and b/linux_toolkit_2021/images/category5jpg.jpg differ diff --git a/linux_toolkit_2021/images/category6.jpg b/linux_toolkit_2021/images/category6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..06490bd35e7c180225c2fcf45f6e2147279a2793 Binary files /dev/null and b/linux_toolkit_2021/images/category6.jpg differ diff --git a/linux_toolkit_2021/images/category7.jpg b/linux_toolkit_2021/images/category7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c22f487a024f9e5ecb06259b53966db68a9c6819 Binary files /dev/null and b/linux_toolkit_2021/images/category7.jpg differ diff --git a/linux_toolkit_2021/images/category8.jpg b/linux_toolkit_2021/images/category8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a4ce950cccfe0862fef223f1f42765bc874d7375 Binary files /dev/null and b/linux_toolkit_2021/images/category8.jpg differ diff --git a/linux_toolkit_2021/images/category9.jpg b/linux_toolkit_2021/images/category9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4d99472433df48f7bcbea2018de751327d2ed2f7 Binary files /dev/null and b/linux_toolkit_2021/images/category9.jpg differ diff --git a/linux_toolkit_2021/images/slides.jpg b/linux_toolkit_2021/images/slides.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bccbce8b7dff11d9541378c5386ed61d714a7616 Binary files /dev/null and b/linux_toolkit_2021/images/slides.jpg differ diff --git a/linux_toolkit_2021/images/vim.png b/linux_toolkit_2021/images/vim.png new file mode 100644 index 0000000000000000000000000000000000000000..ea8ce0850b1e82e140b1c636bcf82393b0a2d2e1 Binary files /dev/null and b/linux_toolkit_2021/images/vim.png differ diff --git a/linux_toolkit_2021/images/vimlogo.png b/linux_toolkit_2021/images/vimlogo.png new file mode 100644 index 0000000000000000000000000000000000000000..168846c1c011b0acfbce94b94f90ab503707c9c4 Binary files /dev/null and b/linux_toolkit_2021/images/vimlogo.png differ diff --git a/linux_toolkit_2021/index.html b/linux_toolkit_2021/index.html index 05f096494d7ffa900f41505060e17086ac8ec0be..8ea712d21ec0de5aa86c66253e1d7a2503c26ae2 100644 --- a/linux_toolkit_2021/index.html +++ b/linux_toolkit_2021/index.html @@ -285,6 +285,13 @@ You can search it with /, and quit it with Q. --- +class: center, middle +# Overview + +<img src="images/category1.jpg" width="70%"> + +--- + class: center, middle # Tool Galore @@ -309,6 +316,20 @@ These fill niches that bash doesn't, and are still close to the system. --- +class: center, middle +# Overview + +<img src="images/category1.jpg" width="70%"> + +--- + +class: center, middle +# Overview + +<img src="images/category2.jpg" width="70%"> + +--- + # Notifications Typically, linux has a notification deamon integrated. @@ -335,6 +356,20 @@ sleep 300; notify-send "Time is up!" --- +class: center, middle +# Overview + +<img src="images/category2.jpg" width="70%"> + +--- + +class: center, middle +# Overview + +<img src="images/category3.jpg" width="70%"> + +--- + # Rofi Can be used to display a list of things @@ -363,6 +398,20 @@ See: https://github.com/davatorium/rofi --- +class: center, middle +# Overview + +<img src="images/category3.jpg" width="70%"> + +--- + +class: center, middle +# Overview + +<img src="images/category4.jpg" width="70%"> + +--- + # xbindkeys A **keydeamon**! Let's us configure keyboard shortcuts. @@ -413,6 +462,20 @@ Save the above in `/home/nils/filer.sh` and add a few lines of text in `~/.xbind --- +class: center, middle +# Overview + +<img src="images/category4.jpg" width="70%"> + +--- + +class: center, middle +# Overview + +<img src="images/category5jpg.jpg" width="70%"> + +--- + # grep @@ -464,17 +527,17 @@ https://www.rexegg.com/ --- -# sed +class: center, middle +# Overview -The **s**tream **ed**itor. +<img src="images/category5.jpg" width="70%"> -This tool can search for regular expressions like we did with `grep` -and perform various operations on the matched lines. +--- -Example: Delete all comments from a file -```bash -sed -P 's/^#.*//g' file.py -``` +class: center, middle +# Overview + +<img src="images/category6.jpg" width="70%"> --- @@ -496,6 +559,49 @@ find ~/Documents -type f -exec grep -l "//.*TODO" {} \; --- +class: center, middle +# Overview + +<img src="images/category6.jpg" width="70%"> + +--- + +class: center, middle +# Overview + +<img src="images/category7.jpg" width="70%"> + +--- + +# sed + +The **s**tream **ed**itor. + +This tool can search for regular expressions like we did with `grep` +and perform various operations on the matched lines. + +Example: Delete all comments from a file +```bash +sed -P 's/^#.*//g' file.py +``` + +--- + +class: center, middle +# Overview + +<img src="images/category7.jpg" width="70%"> + +--- + +class: center, middle +# Overview + +<img src="images/category8.jpg" width="70%"> + +--- + + # File Conversion Sometimes you want to convert between similar file formats. @@ -521,6 +627,20 @@ done --- +class: center, middle +# Overview + +<img src="images/category8.jpg" width="70%"> + +--- + +class: center, middle +# Overview + +<img src="images/category9.jpg" width="70%"> + +--- + # wget A general purpose download tool. @@ -539,6 +659,20 @@ wget --no-parent -r -l 1 -A .pdf $site --- +class: center, middle +# Overview + +<img src="images/category9.jpg" width="70%"> + +--- + +class: center, middle +# Overview + +<img src="images/category10.jpg" width="70%"> + +--- + # git Git is a version control system: @@ -561,6 +695,20 @@ Also recommended: Git for ages 4 and up (video) --- +class: center, middle +# Overview + +<img src="images/category10.jpg" width="70%"> + +--- + +class: center, middle +# Overview + +<img src="images/category11.jpg" width="70%"> + +--- + # ssh SSH lets us connect to servers and execute commands there. @@ -577,6 +725,20 @@ The command **scp** let's you copy files between the server and your PC. There's also **rsync** which is a more advanced way of copying files. --- +class: center, middle +# Overview + +<img src="images/category11.jpg" width="70%"> + +--- + +class: center, middle +# Overview + +<img src="images/category12.jpg" width="70%"> + +--- + # tmux Execute long-running processes in the background while your terminal is closed. @@ -599,6 +761,20 @@ An older but more widely available alternative to tmux is **screen** --- +class: center, middle +# Overview + +<img src="images/category12.jpg" width="70%"> + +--- + +class: center, middle +# Overview + +<img src="images/category13.jpg" width="70%"> + +--- + # xdotool @@ -653,6 +829,20 @@ xdotool key Return </video> +--- + +class: center, middle +# Overview + +<img src="images/category13.jpg" width="70%"> + +--- + +class: center, middle +# Overview + +<img src="images/category14.jpg" width="70%"> + --- # Vim @@ -664,52 +854,118 @@ Composable shortcut keys and modal editing! Recursive keyboard macros! Can edit remote files directly via SSH! Takes weeks to learn! +29 years old! + +<img src="images/vimlogo.png" width="40%"> --- # Vim +Use **Neovim**. It's a rewrite and has nice defaults. + After you have installed Vim, execute `vimtutor`. This shows you the basics. If you want to learn more after that, I recommend the user manual: Type `:h` in Vim, then press Enter. You can follow the links in Vim by positioning the cursor over them -and pressing `ctrl+]` +and pressing `ctrl+]`. --- -# Summary +# Vim -<img src="images/categorization.png" width="60%"> +Use **Neovim**. It's a rewrite and has nice defaults. -Categories: -- downloading (like wget, ssh, rsync) -- text processing (like vim, sed, bash) -- file conversion (like ffmpeg, pandoc, convert) -- searching (like sed, grep, find) -- scripting (like xdotools, rofi, xbindkeys, notify-send, python, bash) -- interfaces +After you have installed Vim, execute `vimtutor`. +This shows you the basics. + +If you want to learn more after that, I recommend the user manual: +Type `:h` in Vim, then press Enter. +You can follow the links in Vim by positioning the cursor over them +and pressing `ctrl+]`. + +<img src="images/vim.png" width="50%"> + +--- + +class: center, middle +# Overview + +<img src="images/category14.jpg" width="70%"> --- -# Longlist of interesting tools +class: center, middle +# Overview + +<img src="images/category15.jpg" width="70%"> + +--- + +class: center, middle +# Overview + +<img src="images/category16.jpg" width="70%"> + +--- + +# Honorable mentions **stow** lets you manage config files easily. **ranger** is a console-based file manager. **i3** is an alternative window manager. -**borg** is a backup tool. -**nano** is an easy to use console text-editor. -**rsync** to copy files between machines. +**Borg** is a great backup tool. + +--- + +# On analysis paralysis + +Having so many choices sometimes makes it hard to start. + +If that's the case for you: Check out our Bash guide. + +If you want some accompanying exercises, +check out our past Console Toolkit course: +https://gitlab.ethz.ch/thealternative/courses/-/blob/master/console_toolkit/exercise_files/exercises.pdf + +--- +# Final notes + +Look for "Linux ricing" on the internet if you need inspiration. + +Get the course slides on +https://thealternative.ch + +<img src="images/slides.jpg" width="50%"/> + + +--- + +# Next up + +Come to the Git talk on Monday, 17:15 (no need to register). + +It would be great if you could fill out the feedback: +https://feedback.thealternative.ch/ --- -# Longlist of interesting tools with not helpful descriptions +--- + + +# Unhelpful descriptions **ranger** is a cringe file manager. -**i3** is gnome for vegans. -**rm -rf /** saves storage space. +**i3** is Gnome for vegans. +**rm -rf /** saves storage space. +**Ubuntu** is Swahili for "I can't configure Debian". +**screen** is **tmux** for boomers. +**Git** is just a bunch of **SVN**s. +**Vim** is to vigor as Tom is to Jerry. +**Emacs** is a popular alternative to GNU/Hurd. </textarea> <script src="js/remark.min.js" type="text/javascript"></script>