add joyous bash
This commit is contained in:
		
							
								
								
									
										243
									
								
								slides/joyous_bash/joyous_bash.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										243
									
								
								slides/joyous_bash/joyous_bash.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,243 @@ | |||||||
|  | # Shut Up! | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ```sh | ||||||
|  | echo blacklist pcspkr >  /etc/modprobe.d/nobeep.conf | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # Standard Visuals | ||||||
|  |  | ||||||
|  | - `cbonsai` | ||||||
|  | - `asciiquarium` | ||||||
|  | - `top` | ||||||
|  |     * `ZH4W` | ||||||
|  |  | ||||||
|  | ## Another Monday! | ||||||
|  |  | ||||||
|  | - `cal --reform julian` | ||||||
|  |  | ||||||
|  | ## Weather | ||||||
|  |  | ||||||
|  | ```sh | ||||||
|  | curl wttr.in | ||||||
|  | curl -s wttr.in/Београд | ||||||
|  | curl wttr.in/Moon | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | # `ls` | ||||||
|  |  | ||||||
|  | `ls -X` | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # vim | ||||||
|  |  | ||||||
|  | - blog! | ||||||
|  | - seriously, just write | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # `watch` | ||||||
|  |  | ||||||
|  | ## Watch Differences | ||||||
|  |  | ||||||
|  | - `watch -d stat "$file"` | ||||||
|  | - `watch -d ip a` | ||||||
|  |  | ||||||
|  | ## With Makefiles | ||||||
|  |  | ||||||
|  | ```sh | ||||||
|  | watch --chgexit ping -c 1 dmz.rs && sleep 3 && unison -batch pir | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ## Check Progress | ||||||
|  |  | ||||||
|  | ```sh | ||||||
|  | watch 'ls **/*.pdf | column' | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # Watch Shell Scripts | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ```sh | ||||||
|  | watch -e ./script.sh | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # Slow Down | ||||||
|  |  | ||||||
|  | ```sh | ||||||
|  | function slow(){ | ||||||
|  | 	ff=/tmp/bashpipe_$(date +%s) | ||||||
|  | 	mkfifo $ff 2>/dev/null | ||||||
|  | 	( cat $ff | perl -We 'use Time::HiRes;$|++;while(read(STDIN,$c,1)){Time::HiRes::usleep(15000);print $c;}' )& exec &> $ff | ||||||
|  | } | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ## Safety? | ||||||
|  |  | ||||||
|  | - no | ||||||
|  |  | ||||||
|  | ## `htop`? | ||||||
|  |  | ||||||
|  | - no | ||||||
|  |  | ||||||
|  | ## `speedtest`? | ||||||
|  |  | ||||||
|  | - **YES** | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # Notes | ||||||
|  |  | ||||||
|  | ```sh | ||||||
|  | alias no='$EDITOR .no.md' | ||||||
|  | function n(){ | ||||||
|  | 	[ -z "$1" ] && cat .no.md || echo $@ >> .no.md | ||||||
|  | } | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # URL  Decoding | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | urldecode(){ : "${*//+/ }"; echo -e "${_//%/\\x}"; } | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # Send Text | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ```sh | ||||||
|  | function sendtext(){ | ||||||
|  | 	[ -f "$1" ] && \ | ||||||
|  | 	cat "$1" | nc termbin.com 9999 || \ | ||||||
|  | 	echo "$($1)" | nc termbin.com 9999 | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # Readline | ||||||
|  |  | ||||||
|  |  | ||||||
|  | Put this in `.inputrc`. | ||||||
|  |  | ||||||
|  | ```text | ||||||
|  | set editing-mode vi | ||||||
|  | set keymap vi | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # More Readline vi | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ```text | ||||||
|  | set editing-mode vi | ||||||
|  | set show-mode-in-prompt on | ||||||
|  | set vi-ins-mode-string "  " | ||||||
|  | set vi-cmd-mode-string " " | ||||||
|  | set keymap vi | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # More Readline | ||||||
|  |  | ||||||
|  | ```text | ||||||
|  |  | ||||||
|  | set match-hidden-files off | ||||||
|  | set show-all-if-ambiguous on | ||||||
|  | set show-all-if-unmodified on | ||||||
|  | set colored-stats on | ||||||
|  |  | ||||||
|  | "\C- ": shell-expand-line | ||||||
|  | "\C-x": glob-expand-word | ||||||
|  | Control-g: "g\n" | ||||||
|  | Control-y: "| ccze\n" | ||||||
|  | Control-o: "\C-u lfcd\n\C-u" | ||||||
|  | Control-l: "\C-u clear -x && ls\n" | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # Synchronization | ||||||
|  |  | ||||||
|  | ## Syncthing | ||||||
|  |  | ||||||
|  | - 'Just works' | ||||||
|  |  | ||||||
|  | ## Unison | ||||||
|  |  | ||||||
|  | - Fuck haskell | ||||||
|  | - But actually it's good | ||||||
|  |  | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # `column` | ||||||
|  |  | ||||||
|  | ```sh | ||||||
|  | column -ts: -H PW,GID,shell -N User,PW,UID,GID,Description,Home,shell /etc/passwd | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ## | ||||||
|  |  | ||||||
|  | ```sh | ||||||
|  | column -J -ts: -H PW,GID,shell -N User,PW,UID,GID,Description,Home,shell /etc/passwd | jq -r .table.[].user | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # Aliases | ||||||
|  |  | ||||||
|  | ## b | ||||||
|  |  | ||||||
|  | ```sh | ||||||
|  | b ()  | ||||||
|  | {  | ||||||
|  |     eval "cd $(for d in $(seq 1 $1); | ||||||
|  | do | ||||||
|  |     printf ../; | ||||||
|  | done)" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # `eval` | ||||||
|  |  | ||||||
|  | - Don't | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | # Clear Downloads | ||||||
|  |  | ||||||
|  | ```sh | ||||||
|  | rm -rf ~/Downloads/* | ||||||
|  | echo "tmpfs $HOME/Downloads tmpfs defaults,size=1G 0 0" | sudo tee -a /etc/fstab | ||||||
|  | sudo systemctl daemon-reload # Only for systemd | ||||||
|  | sudo mount -a | ||||||
|  | mount | tail -1 | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | # The Best: `yes` | ||||||
|  |  | ||||||
|  | - `yes` | ||||||
|  | - `yes no` | ||||||
|  |  | ||||||
		Reference in New Issue
	
	Block a user