waja

waja / gist:97562847e8fd4cb58a261b3887028a0b

Last active 3 months ago

Like 0

Jan Wagner revised this gist 3 years ago · 0b9566e

1 file changed, 8 insertions

slides.md
@@ -748,6 +748,14 @@ echo -e "did I miss your favorite tool?" | boxes -d girl -a c
748 748
749 749 ---
750 750
751 + ## Usefull online resources
752 +
753 + - [crontab guru - The quick and simple editor for cron schedule expressions](https://crontab.guru/)
754 + - [Shell Script Best Practices](https://sharats.me/posts/shell-script-best-practices/)
755 + - [Bash Beginner Series](https://linuxhandbook.com/tag/bash-beginner/)
756 +
757 + ---
758 +
751 759 # Bonus: CLI murder mystery
752 760
753 761 - 3.8k stars https://github.com/veltman/clmystery

Jan Wagner revised this gist 3 years ago · 793156a

1 file changed, 40 insertions, 41 deletions

slides.md
@@ -111,7 +111,7 @@ I've come up with a set of rules that describe our reactions to technologies:
111 111 +--------------------+
112 112 ```
113 113
114 - ---
114 + --
115 115
116 116 ## terminals and shells
117 117
@@ -126,7 +126,7 @@ I've come up with a set of rules that describe our reactions to technologies:
126 126
127 127 - **everything else** (f.ex. **`PS1`**, scripting language)
128 128
129 - ---
129 + --
130 130
131 131 ## terminal
132 132
@@ -149,7 +149,7 @@ I've come up with a set of rules that describe our reactions to technologies:
149 149 - fish
150 150 - dash (embedded)
151 151
152 - ---
152 + --
153 153
154 154 ### shell / zsh
155 155
@@ -159,7 +159,7 @@ I've come up with a set of rules that describe our reactions to technologies:
159 159 - oh-my-zsh (151k stars) https://ohmyz.sh
160 160 - category: shell
161 161
162 - ---
162 + --
163 163
164 164 ### shell / fish: The new kid on the block
165 165
@@ -170,7 +170,7 @@ I've come up with a set of rules that describe our reactions to technologies:
170 170 - oh-my-fish (8.8k stars) https://github.com/oh-my-fish/oh-my-fish
171 171 - category: shell
172 172
173 - ---
173 + --
174 174
175 175 ### shell / bash
176 176
@@ -195,7 +195,7 @@ Extra, nice-to-have information
195 195 - git status
196 196 - environment infos (node / .NET / Java / Python / etc version)
197 197
198 - ---
198 + --
199 199
200 200 ### shell / PS1: liquidprompt
201 201
@@ -208,7 +208,7 @@ simple prompt
208 208 - available for `zsh`, `bash`, etc
209 209 - category: unix-porn
210 210
211 - ---
211 + --
212 212
213 213 ### shell / PS1: Powerline
214 214
@@ -222,7 +222,7 @@ started as fancy statusline for vim …
222 222 - available for `zsh`, `bash`, etc
223 223 - category: unix-porn
224 224
225 - ---
225 + --
226 226
227 227 ### shell / PS1: Starship
228 228
@@ -240,7 +240,7 @@ the new kid on the block
240 240
241 241 # [Command-Line Operators and What They Do](https://www.makeuseof.com/linux-command-line-chaining-operators/)
242 242
243 - ---
243 + --
244 244
245 245 ## Ampersand Operator (&)
246 246
@@ -252,7 +252,7 @@ $ sleep 5 &
252 252 - command is executed in the background
253 253 - shell is freed
254 254
255 - ---
255 + --
256 256
257 257 ## Semicolon Operator (;)
258 258
@@ -265,7 +265,7 @@ $ pwd; mkdir /tmp/test; cd /tmp/test; touch foo; readlink -f foo
265 265 - chaining execute commands in a defined, sequential order
266 266 - independend from exit code
267 267
268 - ---
268 + --
269 269
270 270 ## OR Operator (||)
271 271
@@ -276,7 +276,7 @@ $ false || uptime
276 276
277 277 - following command only executed if preceding command fails (exit 0)
278 278
279 - ---
279 + --
280 280
281 281 ## Pipe Operator (|)
282 282
@@ -288,7 +288,7 @@ $ lspci | grep -E "(Network|Ethernet)"
288 288
289 289 - directs output of preceding command as input to succeeding command
290 290
291 - ---
291 + --
292 292
293 293 ## AND Operator (&&)
294 294
@@ -303,7 +303,7 @@ $ pwd && mkdir -p /tmp/test && cd /tmp/test && touch foo && readlink -f foo
303 303
304 304 - following command only executed if preceding command was successfully executed (exit 1)
305 305
306 - ---
306 + --
307 307
308 308 ## NOT Operator (!)
309 309
@@ -314,7 +314,7 @@ foo
314 314
315 315 - works similar to except statement in programming
316 316
317 - ---
317 + --
318 318
319 319 ## Precedence Operator ((..))
320 320
@@ -326,7 +326,7 @@ Did exit with false
326 326 - used for grouping and precedence of the execution sequence
327 327 - inside parentheses, starts [subshell](https://tldp.org/LDP/abs/html/subshells.html#SUBSHELLSREF)
328 328
329 - ---
329 + --
330 330
331 331 ## Combination Operator ({..})
332 332
@@ -338,7 +338,7 @@ $ [ -f hello.txt ] && { echo "file exists" ; echo "hello"; }
338 338
339 339 - commands are run (or not run) as a whole
340 340
341 - ---
341 + --
342 342
343 343 ## Concatenation or the Escape Operator (\\)
344 344
@@ -354,7 +354,7 @@ $ ls test\(1\).txt
354 354 - concatenate large commands over several lines
355 355 - escape character when working with strings
356 356
357 - ---
357 + --
358 358
359 359 ## Redirection Operators (>, >>, <)
360 360
@@ -372,7 +372,7 @@ blah
372 372 - redirect [stdout](https://en.wikipedia.org/wiki/Standard_streams#Standard_output_(stdout)) or [stdin](https://en.wikipedia.org/wiki/Standard_streams#Standard_input_(stdin))
373 373 - Use `2>` to handle [sterr](https://en.wikipedia.org/wiki/Standard_streams#Standard_error_(stderr))
374 374
375 - ---
375 + --
376 376
377 377 ## References
378 378
@@ -387,7 +387,7 @@ blah
387 387 # Tools
388 388 ## You where waiting for
389 389
390 - ---
390 + --
391 391
392 392 ## tldr
393 393
@@ -397,7 +397,7 @@ blah
397 397 - tldr: implemented in many languages (js, ruby, python, perl, haskell, etc)
398 398 - Demo: `ln`, `tar`, `scp`
399 399
400 - ---
400 + --
401 401
402 402 ## McFly
403 403
@@ -408,7 +408,7 @@ blah
408 408 > McFly replaces your default `Ctrl R` shell history search with an intelligent search engine that takes into account your working
409 409 directory and the context of recently executed commands. McFly’s suggestions are prioritized in real time with a small neural network
410 410
411 - ---
411 + --
412 412
413 413 ## thefuck
414 414
@@ -418,7 +418,7 @@ fix common typos / mistakes
418 418 - example: pushing a newly created git branch
419 419 - category: productivity
420 420
421 - ---
421 + --
422 422
423 423 ### The GNU Midnight Commander
424 424
@@ -426,7 +426,7 @@ fix common typos / mistakes
426 426 - text mode application, but it also includes mouse support
427 427 - best [features](https://www.uibk.ac.at/th-physik/howto/mc.html) are its ability to FTP, view tar and zip files, and to poke into tar, ar, deb, zip, cpio, lha and rar for specific files
428 428
429 - ---
429 + --
430 430
431 431 ## bat
432 432
@@ -437,7 +437,7 @@ _bat looks good on a dark background by default. However, if your terminal uses
437 437
438 438 - category: read / file display
439 439
440 - ---
440 + --
441 441
442 442 ## ripgrep
443 443
@@ -450,7 +450,7 @@ very fast `grep` replacement <!-- (benchmarks on website) -->
450 450
451 451 - category: search
452 452
453 - ---
453 + --
454 454
455 455 ## ripgrep-all
456 456
@@ -466,7 +466,7 @@ cd ~/Dropbox/Apps/Manning\ Books/
466 466 rga Vladimir
467 467 -->
468 468
469 - ---
469 + --
470 470
471 471 ## fzf
472 472
@@ -497,7 +497,7 @@ search for "linux"
497 497 cat slides.md | fzf
498 498 -->
499 499
500 - ---
500 + --
501 501
502 502 ## fd
503 503
@@ -516,7 +516,7 @@ simple alternative to `find`
516 516 - TODO
517 517 -->
518 518
519 - ---
519 + --
520 520
521 521 ## hyperfine
522 522
@@ -543,7 +543,7 @@ sudo apt install -y /tmp/hyperfine.deb
543 543 -->
544 544 - category: benchmarking
545 545
546 - ---
546 + --
547 547
548 548 ## progress
549 549
@@ -565,8 +565,7 @@ unxz, lzma, unlzma, 7z, 7za, zcat, bzcat, lzcat, split, gpg, or wrong permission
565 565 - copy from `~/tmp/demo/origin/*` to `~/tmp/demo/destination/` using `cp`.
566 566 - `watch progress`
567 567
568 -
569 - ---
568 + --
570 569
571 570 ## Ultimate Plumber (up)
572 571
@@ -584,7 +583,7 @@ interactive REPL (read–eval–print loop) for shell piping
584 583 curl -Lso ~/bin/up "https://github.com/akavel/up/releases/latest/download/up" && chmod +x ~/bin/up
585 584 -->
586 585
587 - ---
586 + --
588 587
589 588 ## lolcat
590 589
@@ -593,7 +592,7 @@ Rainbows and unicorns
593 592 - 5.2k stars https://github.com/busyloop/lolcat
594 593 - category: fun, unix porn
595 594
596 - ---
595 + --
597 596
598 597 ## ttyd
599 598
@@ -620,7 +619,7 @@ Rainbows and unicorns
620 619 echo -e "ttyd\nshare your terminal over the web" | boxes -d nuke -a c
621 620 -->
622 621
623 - ---
622 + --
624 623
625 624 ## sl
626 625
@@ -631,7 +630,7 @@ typo `sl` (instead of `ls`) -> show steam locomotive
631 630 - category: fun, unix porn
632 631
633 632
634 - ---
633 + --
635 634
636 635 ## patat
637 636
@@ -653,7 +652,7 @@ let foo = "bar";
653 652
654 653 - category: presentation, slides, unix porn
655 654
656 - ---
655 + --
657 656
658 657 ## ls on steroids
659 658
@@ -669,7 +668,7 @@ Required: font providing all symbols
669 668
670 669 - Example: NerdFonts https://github.com/ryanoasis/nerd-fonts
671 670
672 - ---
671 + --
673 672
674 673 ## ncdu
675 674
@@ -683,7 +682,7 @@ Required: font providing all symbols
683 682
684 683 ## [the serial way](https://wiki.archlinux.org/title/working_with_the_serial_console#Making_Connections)
685 684
686 - ---
685 + --
687 686
688 687 ## terminal
689 688
@@ -695,7 +694,7 @@ $ minicom -s -D /dev/ttyUSB0
695 694
696 695 [More serial p0rn](https://vmandela.com/blog/2019/2019-05-28-serial-port-tools.html)
697 696
698 - ---
697 + --
699 698
700 699 ## grafical
701 700
@@ -703,7 +702,7 @@ $ minicom -s -D /dev/ttyUSB0
703 702 - moserial
704 703 - PuTTY
705 704
706 - ---
705 + --
707 706
708 707 ## Windows
709 708

Jan Wagner revised this gist 3 years ago · 120b647

1 file changed, 2 insertions, 2 deletions

slides.md
@@ -85,7 +85,7 @@ I've come up with a set of rules that describe our reactions to technologies:
85 85 ## Learn the basics
86 86
87 87 - `emacs` and `vim`
88 - - learn navigation, copy & paste, (and how to exit :thumbsup:)
88 + - learn navigation, copy & paste, (and how to exit 👍)
89 89 - pick one and become fluent
90 90
91 91 - `cd`, `ls`, `cat`, `less`, `find`, `grep`, `sed`, `tail`, `awk`, `dd`, `rsync`, ...
@@ -138,7 +138,7 @@ I've come up with a set of rules that describe our reactions to technologies:
138 138
139 139 - but think about enriching your output!
140 140
141 - - Emojis: :thumbsup: :ballot_box_with_check: :collision: :v: :poop: :speech_balloon: :zap: € ★ :star:
141 + - Emojis: 👍 ✅ 💥 ✌ 💩 💬 🌩 🌟
142 142
143 143 ---
144 144

Jan Wagner revised this gist 3 years ago · 5d0202c

1 file changed, 1 insertion, 1 deletion

slides.md
@@ -233,7 +233,7 @@ the new kid on the block
233 233 - cross-plattform, cross-shell
234 234 - stylish
235 235 - great defaults for many environments
236 - - easy to configure
236 + - easy to [configure](https://starship.rs/config/)
237 237 - category: unix-porn
238 238
239 239 ---

Jan Wagner revised this gist 3 years ago · 9982ece

1 file changed, 151 insertions

slides.md
@@ -238,6 +238,157 @@ the new kid on the block
238 238
239 239 ---
240 240
241 + # [Command-Line Operators and What They Do](https://www.makeuseof.com/linux-command-line-chaining-operators/)
242 +
243 + ---
244 +
245 + ## Ampersand Operator (&)
246 +
247 + ```bash
248 + $ sleep 5 &
249 + [1] 301161
250 + ```
251 +
252 + - command is executed in the background
253 + - shell is freed
254 +
255 + ---
256 +
257 + ## Semicolon Operator (;)
258 +
259 + ```bash
260 + $ pwd; mkdir /tmp/test; cd /tmp/test; touch foo; readlink -f foo
261 + /tmp
262 + /tmp/test/foo
263 + ```
264 +
265 + - chaining execute commands in a defined, sequential order
266 + - independend from exit code
267 +
268 + ---
269 +
270 + ## OR Operator (||)
271 +
272 + ```bash
273 + $ false || uptime
274 + 11:21:53 up 20 days, 2:30, 1 user, load average: 0,36, 0,35, 0,46
275 + ```
276 +
277 + - following command only executed if preceding command fails (exit 0)
278 +
279 + ---
280 +
281 + ## Pipe Operator (|)
282 +
283 + ```bash
284 + $ lspci | grep -E "(Network|Ethernet)"
285 + 00:14.3 Network controller: Intel Corporation Comet Lake PCH-LP CNVi WiFi
286 + 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (10) I219-V
287 + ```
288 +
289 + - directs output of preceding command as input to succeeding command
290 +
291 + ---
292 +
293 + ## AND Operator (&&)
294 +
295 + ```bash
296 + $ pwd && mkdir /tmp/test && cd /tmp/test && touch foo && readlink -f foo
297 + /tmp/test
298 + mkdir: cannot create directory '/tmp/test': File exists
299 + $ pwd && mkdir -p /tmp/test && cd /tmp/test && touch foo && readlink -f foo
300 + /tmp/test
301 + /tmp/test/foo
302 + ```
303 +
304 + - following command only executed if preceding command was successfully executed (exit 1)
305 +
306 + ---
307 +
308 + ## NOT Operator (!)
309 +
310 + ```bash
311 + $ ls !(*.txt)
312 + foo
313 + ```
314 +
315 + - works similar to except statement in programming
316 +
317 + ---
318 +
319 + ## Precedence Operator ((..))
320 +
321 + ```bash
322 + $ (true && false) && (false || true) || echo "Did exit with false"
323 + Did exit with false
324 + ```
325 +
326 + - used for grouping and precedence of the execution sequence
327 + - inside parentheses, starts [subshell](https://tldp.org/LDP/abs/html/subshells.html#SUBSHELLSREF)
328 +
329 + ---
330 +
331 + ## Combination Operator ({..})
332 +
333 + ```bash
334 + $ [ -f hello.txt ] && echo "file exists" ; echo "hello"
335 + hello
336 + $ [ -f hello.txt ] && { echo "file exists" ; echo "hello"; }
337 + ```
338 +
339 + - commands are run (or not run) as a whole
340 +
341 + ---
342 +
343 + ## Concatenation or the Escape Operator (\\)
344 +
345 + ```bash
346 + $ echo "Hello! from the\
347 + > other side"
348 + Hello! from theother side
349 + $ touch test\(1\).txt
350 + $ ls test\(1\).txt
351 + 'test(1).txt'
352 + ```
353 +
354 + - concatenate large commands over several lines
355 + - escape character when working with strings
356 +
357 + ---
358 +
359 + ## Redirection Operators (>, >>, <)
360 +
361 + ```bash
362 + $ echo "dsd" > test; echo "bssss" >> test; cat test
363 + dsd
364 + bssss
365 + $ sort < test
366 + bssss
367 + dsd
368 + $ echo "blah" > test; cat test
369 + blah
370 + ```
371 +
372 + - redirect [stdout](https://en.wikipedia.org/wiki/Standard_streams#Standard_output_(stdout)) or [stdin](https://en.wikipedia.org/wiki/Standard_streams#Standard_input_(stdin))
373 + - Use `2>` to handle [sterr](https://en.wikipedia.org/wiki/Standard_streams#Standard_error_(stderr))
374 +
375 + ---
376 +
377 + ## References
378 +
379 + - [10 Linux Command-Line Operators and What They Do](https://www.makeuseof.com/linux-command-line-chaining-operators/)
380 + - [Chaining Commands in Linux](https://www.geeksforgeeks.org/chaining-commands-in-linux/)
381 + - [Basics on bash operators](https://lumian2015.github.io/MoreOnLinux/chapter1.html)
382 + - [10 Useful Chaining Operators in Linux with Practical Examples](https://www.tecmint.com/chaining-operators-in-linux-with-practical-examples/)
383 + - [6 Bash Shell Command Line Chaining Operators in Linux](https://www.thegeekdiary.com/6-bash-shell-command-line-chaining-operators-in-linux/)
384 +
385 + ---
386 +
387 + # Tools
388 + ## You where waiting for
389 +
390 + ---
391 +
241 392 ## tldr
242 393
243 394 - 41k stars https://tldr.sh/

Jan Wagner revised this gist 3 years ago · 6eddc48

1 file changed, 2 insertions

slides.md
@@ -542,6 +542,8 @@ $ screen /dev/ttyUSB0 115200
542 542 $ minicom -s -D /dev/ttyUSB0
543 543 ```
544 544
545 + [More serial p0rn](https://vmandela.com/blog/2019/2019-05-28-serial-port-tools.html)
546 +
545 547 ---
546 548
547 549 ## grafical

Jan Wagner revised this gist 3 years ago · f8992d7

1 file changed, 32 insertions, 1 deletion

slides.md
@@ -528,7 +528,38 @@ Required: font providing all symbols
528 528
529 529 ---
530 530
531 - # monitoring
531 + # Making Connections
532 +
533 + ## [the serial way](https://wiki.archlinux.org/title/working_with_the_serial_console#Making_Connections)
534 +
535 + ---
536 +
537 + ## terminal
538 +
539 + ```
540 + $ picocom -b 115200 /dev/ttyUSB0
541 + $ screen /dev/ttyUSB0 115200
542 + $ minicom -s -D /dev/ttyUSB0
543 + ```
544 +
545 + ---
546 +
547 + ## grafical
548 +
549 + - cutecom
550 + - moserial
551 + - PuTTY
552 +
553 + ---
554 +
555 + ## Windows
556 +
557 + - [PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
558 + - [Terminalbpp](https://sites.google.com/site/terminalbpp/)
559 +
560 + ---
561 +
562 + ## monitoring
532 563
533 564 - htop
534 565 - apachetop

Jan Wagner revised this gist 3 years ago · eb6f1c5

1 file changed, 572 insertions

slides.md (file created)

Diff is too large to be shown