diff --git a/linux_toolkit_2021/images/categor5.jpg b/linux_toolkit_2021/images/categor5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4eaa5e4857fdc7ce805b58838a06f75dd0946d84 --- /dev/null +++ b/linux_toolkit_2021/images/categor5.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e04c85972a97042e54adfd6e7309faa518db950cfcc14afe337455aae3261024 +size 94211 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..49dfd5f26a863869ac65830cf80f8cde17db01e1 --- /dev/null +++ b/linux_toolkit_2021/images/category1.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50d7b8dfa331e7aff66b5175d6a2ec77a4a53a5c6551e505e2f1fc4d80d941c7 +size 54928 diff --git a/linux_toolkit_2021/images/category10.jpg b/linux_toolkit_2021/images/category10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d366326072e68ad0d6dd8591f9e11dd103e50d17 --- /dev/null +++ b/linux_toolkit_2021/images/category10.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f75524ae04fcd20785c80bf57292f12f484fc34b5fd7fe33b406bf6fd1ac451 +size 180162 diff --git a/linux_toolkit_2021/images/category11.jpg b/linux_toolkit_2021/images/category11.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b521ced94340516538b7fc9b4b694db72f86a81e --- /dev/null +++ b/linux_toolkit_2021/images/category11.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a25f5c71764886081134156db21c6103578b6b8160a8690066a82c00fb552be +size 182486 diff --git a/linux_toolkit_2021/images/category12.jpg b/linux_toolkit_2021/images/category12.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3ffecaeda6e6f6c35a78a785849c0ec0397c46ae --- /dev/null +++ b/linux_toolkit_2021/images/category12.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e521e7adc5f9ce4cb143ca9a092d20ac996b543e47c3b2a9b1bb6934aa4d424f +size 185115 diff --git a/linux_toolkit_2021/images/category13.jpg b/linux_toolkit_2021/images/category13.jpg new file mode 100644 index 0000000000000000000000000000000000000000..94be01ed981b0374ed2bf6263ab433076bc16ad0 --- /dev/null +++ b/linux_toolkit_2021/images/category13.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8497d9f3d8d1677832a72f8dd86b0389e15d3b818fc7ddf9de21214cb900f18f +size 188504 diff --git a/linux_toolkit_2021/images/category14.jpg b/linux_toolkit_2021/images/category14.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cf9d2254b85bf2168009d31ead03adb147239a07 --- /dev/null +++ b/linux_toolkit_2021/images/category14.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fc402b3b927db81ea2721c2d13ebc02a9ce33dc8e9ef7e6b53ff423b1a3f4da +size 195860 diff --git a/linux_toolkit_2021/images/category15.jpg b/linux_toolkit_2021/images/category15.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5eead14605908370f089566f947249e6290ab1bb --- /dev/null +++ b/linux_toolkit_2021/images/category15.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17636ca7619c58a2becd195048764f93fee227e7eed3b8ebfaad837e6b1acf45 +size 209452 diff --git a/linux_toolkit_2021/images/category16.jpg b/linux_toolkit_2021/images/category16.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2128edf8e4f7053c707879961ac9c5b2ab8d39cb --- /dev/null +++ b/linux_toolkit_2021/images/category16.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bd2a388dfa84ae95635488ccaada2f3d60c08f1eaa683bd73e4b427c79b20f6 +size 215661 diff --git a/linux_toolkit_2021/images/category2.jpg b/linux_toolkit_2021/images/category2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..21ed6b8e874010e538aafef85aa865230f77607e --- /dev/null +++ b/linux_toolkit_2021/images/category2.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c4618c456072d18c813fb7478331a9ac409c1abcd138937abce01cfac20b5c0 +size 59957 diff --git a/linux_toolkit_2021/images/category3.jpg b/linux_toolkit_2021/images/category3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..80e77e322e8c8f614ccdefe579f04d7cc762347d --- /dev/null +++ b/linux_toolkit_2021/images/category3.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2418ef0d5ebfec4b07e4421e4499f3741496065c5f558b4af247f5a84780fabc +size 85665 diff --git a/linux_toolkit_2021/images/category4.jpg b/linux_toolkit_2021/images/category4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c882a707237d8146fe70f154e0955c5b05449a98 --- /dev/null +++ b/linux_toolkit_2021/images/category4.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05c75935574f9f92fb8fc8038d0b069a20501279cb08069dcfa5f0fc85404bfe +size 88065 diff --git a/linux_toolkit_2021/images/category5jpg.jpg b/linux_toolkit_2021/images/category5jpg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7ea4cd0e8996258df28c5d650ac4dc00154993ad --- /dev/null +++ b/linux_toolkit_2021/images/category5jpg.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64823db72f5d26d46d94d21b0301ec8001ade309956ac973b4d2141d2582846f +size 93663 diff --git a/linux_toolkit_2021/images/category6.jpg b/linux_toolkit_2021/images/category6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..59dc86dae044e136bccdf707d485af8905304518 --- /dev/null +++ b/linux_toolkit_2021/images/category6.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6c5c912570140852d51b9f542b0c66212e04bf9652d24184301301cf301c8dc +size 119003 diff --git a/linux_toolkit_2021/images/category7.jpg b/linux_toolkit_2021/images/category7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6f0a224fa9da96d5e67b85501eadbe2fd20250b1 --- /dev/null +++ b/linux_toolkit_2021/images/category7.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ad90e3d05ead3929150ca5a3870bcd723e728d3d5856d4d429813ec2ca3f692 +size 121849 diff --git a/linux_toolkit_2021/images/category8.jpg b/linux_toolkit_2021/images/category8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d29cf1331f65314fcc09692cf4abb246baa212e5 --- /dev/null +++ b/linux_toolkit_2021/images/category8.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb953bf5383b18be4b16a8b33835ee6b12a5ffb86d0905e4cc45289ac9c4aa35 +size 124995 diff --git a/linux_toolkit_2021/images/category9.jpg b/linux_toolkit_2021/images/category9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2affff5a012c5dca0c2d595409dc29acd443013d --- /dev/null +++ b/linux_toolkit_2021/images/category9.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:986957d3cf8bbfa693dc32ce8f5d2931a39a699036c9b0faa8b785382b23f81b +size 159358 diff --git a/linux_toolkit_2021/images/slides.jpg b/linux_toolkit_2021/images/slides.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9942f3b38ffd9a9c73b6ddaa50f433f7ea9dc261 --- /dev/null +++ b/linux_toolkit_2021/images/slides.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0a06ab249ff093d5acb1e562024e31de3c2389d77283a57ecae0603c69e7a0d +size 133726 diff --git a/linux_toolkit_2021/images/vim.png b/linux_toolkit_2021/images/vim.png new file mode 100644 index 0000000000000000000000000000000000000000..9ac80d625693f69b0ddc31a1f9720f02ce9f0f40 --- /dev/null +++ b/linux_toolkit_2021/images/vim.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68bbf09de9338404056ae0c480aecd7140c2f27b02238f9028fe3ffd7120d6a1 +size 592595 diff --git a/linux_toolkit_2021/images/vimlogo.png b/linux_toolkit_2021/images/vimlogo.png new file mode 100644 index 0000000000000000000000000000000000000000..1133f16a485a407599c3726bdff626c6c22cda7f --- /dev/null +++ b/linux_toolkit_2021/images/vimlogo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8ae674b7e27540b3544f59fcef9b6eb4162f6c86c53d192fd5f8981da208060 +size 187249 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>