Material for talk "Mastering the Linux command line".
Read along with git clone https://github.com/bertjan/mastering-the-linux-command-line
Title:
clear
printf "\n\n"; printf "Mastering\nthe\nLinux command line" | figlet -ctk; printf "\n\n"; printf '%0.1s' ' '{1..49} && printf "Bert Jan Schrijver\n\n" && printf '%0.1s' ' '{1..48} && printf "[email protected]\n" && printf '%0.1s' ' '{1..52} && printf "@bjschrijver\n\n"
Intro:
(jp2a https://pbs.twimg.com/profile_images/1056994211499786240/qqhVN-Ur_400x400.jpg \
&& echo && echo \
&& wget -q -O - https://www.openvalue.nl/images/openvalue-white.png | convert - jpg:- | jp2a - \
&& echo && echo \
&& jp2a https://yt3.ggpht.com/a/AGF-l79fDOsea1hkt8MMeKetvpDDE7qSlRfsKNaJQw=s288-mo-c-c0xffffffff-rj-k-no -i) | less
Assumption: you know the basics like cd
, ls
, cp
, mv
.
- Terminal session, shell, bash
- man, help, -h, --help
- pipes: intro
- tab completion
- cd -
- find
- locate
- which
- up arrow
- history, !! and !
- ctrl-r
- file
- diff
- vi
- ssh key authentication, ssh-copy-id, ssh tunneling
- ifconfig
- ping
- telnet
- curl
- scp, sftp
- rsync
- cal
- bc
- .profile
- aliases
- ctrl-a ctrl-e ctrl-l ctrl-d ctrl-c
- less shift-g shift-f
- brace expansion
- watch
- screen
- tee
- head, tail (-f)
- cat, grep, awk, cut
- sort, uniq
(
cat demo-app.log | grep "Received \[GET " | awk {'print $11'} | sort | uniq -c
) - command substitution $(..)
- wc
- sed
- ; vs &&
- Output redirection > >>
- top (
dd if=/dev/urandom | bzip2 -9 >> /dev/null
) - strace (
strace -p <vi pid> 2>&1 | grep read
) - vmstat
- netstat
- lsof
- du
- intro, make executable
- variables
- Command line args
- If/then/else
- functions (
function test1 { echo test; }
)
- Bats: Bash Automated Testing System
- What's this:
:(){ :|:& };:
- telnet towel.blinkenlights.nl
- telnet mapscii.me
Hit me!
'Slides' are at https://github.com/bertjan. Questions? @bjschrijver on Twitter.