How I Learned to Stop Worrying
and Love the Command Line
Mike Jang
@theMikeJang
Write the Docs NA 2019
Empathy
Follow Along
https://slides.com/mike-1/command-line/live
https://slides.com/mike-1/command-line
Online Copy
@theMikeJang
Write the Docs NA 2019
Poll
Who here knows the CLI
Do you know colleagues who avoid the CLI
Who wants to show empathy in your docs
Write the Docs NA 2019
@theMikeJang
https://slides.com/mike-1/command-line
If you want to write for Devs/SysAdmins
I'm not a developer
I have the skillset to empathize
You can learn those skills too!
And You Can Teach These Skills
@theMikeJang
Write the Docs NA 2019
How I Learned to Stop Worrying
and Love the Command Line
Mike Jang
@theMikeJang
Write the Docs NA 2019
Documentarian
(aka Technical Writer)
-
Identity and Access Management
-
Author (look on Amazon)
CC0
@theMikeJang
Mike Jang
Stop Worrying
Why?
@theMikeJang
public domain (believe it or not)
A Hiring Story
Our Writing Test on AWS
@theMikeJang
Empathy
Write the Docs NA 2019
Empathy
@theMikeJang
CC0
https://slides.com/mike-1/command-line
Your Readers
- Developers
- SysAdmins
- Command Line Geeks
CC0
Write the Docs NA 2019
Fantasy
CC0
Your Docs Have Everything I Need!
https://slides.com/mike-1/command-line
Reality
CC0
TMI.
Where are the Commands?
Write the Docs NA 2019
Disclaimers
- Overview, not a Tutorial
- Course Outline
Write the Docs NA 2019
My Setup
Humanity towards Others
CC0
redhat
Linux Systems Used In Production
Write the Docs NA 2019
Assumption
bash
Write the Docs NA 2019
Essential Command Line Skills
-
Secure Connections
-
Navigation
-
Editing
-
Package Management
-
Git (basic)
-
Scripts
@theMikeJang
https://slides.com/mike-1/command-line
Essential Command Line Skills
-
Secure Connections
-
Navigation
-
Editing
-
Package Management
-
Git (basic)
-
Scripts
@theMikeJang
https://slides.com/mike-1/command-line
Testing Real World Conditions
VMs/Containers
* Secure Connections
@theMikeJang
https://slides.com/mike-1/command-line
SSH over the Internet
SSH to a Local VM
Lesson
SSH
Connect Remotely with a private key (PEM)
OK to connect locally with a password
CC0
Secure Connections
A checklist
-
ssh with encryption key
-
ssh with password
(and more)
If You're Using SSH
You're Hacking!
@theMikeJang
https://slides.com/mike-1/command-line
Essential Command Line Skills
-
Secure Connections
-
Navigation
-
Editing
-
Package Management
-
Git (basic)
-
Scripts
@theMikeJang
https://slides.com/mike-1/command-line
Hike!
@theMikeJang
You Are Here
alltrails.com
@theMikeJang
It's text (no copyright, no trademarks)
It's text (no copyright, no trademarks)
Navigation
checklist
-
Where am I (pwd)
-
What's here (ls, ls -l, ls -lt, ls -ltr)
-
Where's the file (find, locate)
-
How do I get there (cd)
-
What's in the file (grep)
@theMikeJang
Lessons
- You're the Navigator
- Direct the Reader
CC0
Write the Docs NA 2019
@theMikeJang
Essential Command Line Skills
-
Secure Connections
-
Navigation
-
Editing
-
Package Management
-
Git (basic)
-
Scripts
@theMikeJang
https://slides.com/mike-1/command-line
Why not Word
Demo Time!
Write the Docs NA 2019
@theMikeJang
It's text (no copyright, no trademarks)
Editors
-
Avoid Word
-
nano
-
vi(m)
-
emacs
-
IDEs (Atom, IntelliJ, VSCode)
@theMikeJang
Empathy
Essential Command Line Skills
-
Secure Connections
-
Navigation
-
Editing
-
Package Management
-
Git (basic)
-
Scripts
@theMikeJang
https://slides.com/mike-1/command-line
Many Kinds of Packages
-
zip
-
"tarball"
-
rpm, deb, ...
@theMikeJang
CC0
Find the Right Tool
-
zip
-
"tarball"
-
rpm, deb, ...
@theMikeJang
CC0
unzip *.zip
@theMikeJang
CC0
tarball
- .tar
- .tar.gz
- .tar.bz2
licensing unknown, but it's tar
@theMikeJang
Linux/Unix packages
- rpm
- deb
- pkg
- ...
CC0
@theMikeJang
Managers
- apt
- yum (dnf)
- brew
- choco
- ...
Demo Time!
Write the Docs NA 2019
@theMikeJang
It's text (no copyright, no trademarks)
Packages
checklist
-
unzip package.zip
-
tar xzvf package2.tar.gz
-
tar xjvf package3.tar.bz2
-
yum update; yum upgrade; yum install package
-
apt update; apt upgrade; apt install package
-
choco install package
@theMikeJang
CC0
Even Windows has a Package Manager
Lessons
- Help Readers Manage Your Software
- Work with Software of Others
Bonus: Build Your Portfolio
Help Open Source Docs
Write the Docs NA 2019
@theMikeJang
Essential Command Line Skills
-
Secure Connections
-
Navigation
-
Editing
-
Package Management
-
Git (basic)
-
Scripts
@theMikeJang
https://slides.com/mike-1/command-line
Clone a Repo
@theMikeJang
https://slides.com/mike-1/command-line
Cloning a Repo
Everyday Git
- Create a Branch
- Make changes
- Add and Commit
- Push
- Set up a PR
- More changes
- Rebase
- Check out a version
- Check out someone else's branch
Demo Time!
Write the Docs NA 2019
@theMikeJang
It's text (no copyright, no trademarks)
Practice Your Git
Write the Docs NA 2019
@theMikeJang
@katie_the_dog
Lesson
- Manage Docs Like Code
Write the Docs NA 2019
@theMikeJang
Essential Command Line Skills
-
Secure Connections
-
Navigation
-
Editing
-
Package Management
-
Git (basic)
-
Scripts
@theMikeJang
CC0
https://slides.com/mike-1/command-line
Commands
CC0
@theMikeJang
Write the Docs NA 2019
It's a Script!
Make
a
Script
It's a Script!
Demo Time!
Write the Docs NA 2019
@theMikeJang
It's text (no copyright, no trademarks)
Simplify!
Lesson
Secret
If you're scripting
you're programming
Write the Docs NA 2019
@theMikeJang
Essential Command Line Skills
-
Secure Connections
-
Navigation
-
Editing
-
Package Management
-
Git (basic)
-
Scripts
@theMikeJang
https://slides.com/mike-1/command-line
A Checklist
Supplemental Command Line Skills
-
touch, rm, cp, mv, ln
-
chown, chmod
-
mkdir, rmdir
-
Redirection ( >, >>, | )
-
less, more
-
diff
-
man pages (manuals)
@theMikeJang
https://slides.com/mike-1/command-line
What Your Readers Need
Write the Docs NA 2019
@theMikeJang
Benefits
Empathy
Transformation
Docs as Code
Write the Docs NA 2019
@theMikeJang
Benefits
Opportunity
Empathy
@katie_the_dog
You Can Learn to Love the Command Line
Thanks!
https://slides.com/mike-1/command-line
How I Learned to Stop Worrying (and love the command line)
By Mike
How I Learned to Stop Worrying (and love the command line)
- 3,173