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

  1. Secure Connections

  2. Navigation

  3. Editing

  4. Package Management

  5. Git (basic)

  6. Scripts

@theMikeJang

https://slides.com/mike-1/command-line

Essential Command Line Skills

  1. Secure Connections

  2. Navigation

  3. Editing

  4. Package Management

  5. Git (basic)

  6. 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

  1. ssh with encryption key

  2. 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

  1. Secure Connections

  2. Navigation

  3. Editing

  4. Package Management

  5. Git (basic)

  6. 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

  1. Where am I (pwd)

  2. What's here (ls, ls -l, ls -lt, ls -ltr)

  3. Where's the file (find, locate)

  4. How do I get there (cd)

  5. 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

  1. Secure Connections

  2. Navigation

  3. Editing

  4. Package Management

  5. Git (basic)

  6. 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

  1. Avoid Word

  2. nano

  3. vi(m)

  4. emacs

  5. IDEs (Atom, IntelliJ, VSCode)

@theMikeJang

 

Empathy

 

Essential Command Line Skills

  1. Secure Connections

  2. Navigation

  3. Editing

  4. Package Management

  5. Git (basic)

  6. Scripts

@theMikeJang

https://slides.com/mike-1/command-line

Many Kinds of Packages

  • zip

  • "tarball"

  • rpm, deb, ...

@theMikeJang

CC0

Find the Right Tool

  1. zip

  2. "tarball"

  3. 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

  1. Secure Connections

  2. Navigation

  3. Editing

  4. Package Management

  5. Git (basic)

  6. 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

  1. Secure Connections

  2. Navigation

  3. Editing

  4. Package Management

  5. Git (basic)

  6. 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

  1. Secure Connections

  2. Navigation

  3. Editing

  4. Package Management

  5. Git (basic)

  6. Scripts

@theMikeJang

https://slides.com/mike-1/command-line

 

A Checklist

 

Supplemental Command Line Skills

  1. touch, rm, cp, mv, ln

  2. chown, chmod

  3. mkdir, rmdir

  4. Redirection ( >, >>, | )

  5. less, more

  6. diff

  7. 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