/nicar15-command-line-basics

Why not get started early? Keeping track of some ideas to show some easy to use command line tools for beginners.

GNU General Public License v2.0GPL-2.0

How I learned to take command of the command line: A journalists guide to getting started

Getting To Know You

Let's zip around the room to get an idea of who you are, what you do and what you want to learn

What Is The Command Line Anyway

An alternative to accessing files and opening directories and files through a graphical user interface. Oh, and there are some fun tools there too.

Why should I learn this... Efficiency...!

Getting Started

What we're going to do

This #NICAR15 hands-on session aims to help beginners learn some basic commands in the command line interface (CLI) that can help them every day, including navigating through directories, creating files and tools to look at and work with structured data. If you're familiar with grep and curl this will likely be review. We'll end by highlighting some command line libraries that are musts for reporters, and provide additional resources so participants can go deeper on their own.

On your computer:

  • If you're using Mac OS or Linux you'll be OK with the standard terminal application.
    • On Mac OS click on the spotlight search on the topright of your screen, type "terminal" and open the CLI.
      • Many Mac OS users use an application called iTerm2 which offers additonal features.
    • On a Windows machine you can open the CLI by opening the Start Menu and clicking the Run item. In the box that appears, type the letters cmd. This should open up your CLI.
      • Windows users also have the option of installing Cygwin which brings the Unix CLI to Windows. You will want to make sure that curl is installed.
      • On a Windows machine you can also install VirtualBox and Vagrant to get an *nix machine up and running. That is beyond the scope of this session.

Keyboard shortcuts are awesome

  • tab completion: use to finish command, directory or file names, or to see directories or files that match
  • ctrl + a: move to the beginning of a line
  • ctrl + e: move to the end of a line
  • ctrl + c: terminate a command that is running
  • up arrow: cycle back through previous commands

UNIX features you should know

  • redirection - >
    • Take the output of a file and create a new file with it
  • append - >>
    • .....
  • piping - |
    • .....

Workshops

Where Do You Go From Here

Learning More, Reference And Tools

Learning More

Reference

Tools

  • csvkit:
    • "a suite of utilities for converting to and working with CSV, the king of tabular file formats."
    • Getting it installed if pip install csvkit doesn't sound persuasive
    • Using it to trim NYC DOB complaint records down to a manageable size tutorial
    • Using it to trim NYC's City Planning data down a ton notes
  • csv de dupe:
  • homebrew

About Us

  • Jue Yang
    • Technologist at CUNY Graduate School of Journalism in New York. Jue is a designveloper. (Unfortunately due to major snowfall, Jue's flight to NICAR was cancelled. She couldn't join NICAR in person this year, but will be virtually available should you have any questions!)
    • GitHub
    • @jue_yang
  • AJ Vicens
  • Chris Keller (ckeller@scpr.org)
    • Data editor and news applications developer at KPCC, the NPR affiliate in Pasadena, Calif. Chris joined KPCC in 2012 after spending more than 15 years in various print and digital roles at newspapers of various sizes in the Midwest.
    • GitHub
    • @ChrisLKeller