Skip to content
Snippets Groups Projects
Commit 30e7ba10 authored by nilsl's avatar nilsl
Browse files

polish

parent 46e05a53
No related branches found
No related tags found
No related merge requests found
linux_toolkit_2021/images/vimlogo.png

183 KiB

......@@ -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>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment