Unix For the Bootcamp Grad

Kerry Sheldon
3 min readApr 14, 2020

--

A few years back I wrote a series called AWS for the Bootcamp Grad. Each week I receive stats from Medium, I’m surprised by the hundreds, sometimes thousands, of weekly reads it continues to get. I think this reflects demand for both of the following:

  1. material that backfills knowledge for bootcamp grads
  2. intermediate level technical content, more generally.

Recent bootcamp grads often have web development skills that belie our relative inexperience. But some technical skills— ones that may typically come before the tangible, marketable skills learned in a bootcamp — may lag due to how we entered the field.

For me, cloud infrastructure was the first area where I felt the consequence of my expedited entry into the tech field. That led me to create the AWS for the Bootcamp Grad series, and subsequently to get my AWS Solutions Architect Associate certificate.

The other key area where I felt like my skills lagged similarly experienced, non-bootcamp grads was in the shell. As a bootcamp grad, I was working full time as a developer approximately seven months after first discovering that the terminal existed. I’m not sure this is a “typical” experience, but I think it’s fairly common for those of us who attended a bootcamp.

Coming out of bootcamp, my Unix knowledge generally consisted of:

  • File/directory type operations (mkdir, touch, mv, cp, etc)
  • Navigational operations (pwd, cd, etc)
  • A basic grasp of redirection and pipelines.

I could accomplish the tasks that I knew how to accomplish, and I could manipulate a stack overflow answer to my use case when needed. But, in general, I’d still reach for a node or ruby script for basic file input/output operations (e.g. reading and manipulating a csv, etc) rather than the shell. I consider something “understood” when I can apply my knowledge to a new context or new problem, and I certainly wasn’t there with my shell skills for quite some time after graduating from bootcamp.

While there is no dearth of Linux and Unix content available online, I found most of it to be more in-depth than I needed as a developer — or I had difficulty seeing how I would apply it as a developer. The time investment always seemed too high for my needs. Therefore, with this series, my goal is to:

  • Focus on building some foundational knowledge that can be applied to many unix commands and operations
  • Expose some of the Unix commands I’ve found most relevant as a developer.

Comprehensiveness is not my goal. I hope this content will be just sufficient enough that someone could apply what they learn to a new context or problem. Right now, I think the series will play out like this:

  1. Redirection and Pipelines (NEW!)
  2. Operators
  3. Expansion
  4. Filters (grep, egrep, awk, sed, cut, sort, etc)
  5. Other Commands

This series will assume preexisting Unix knowledge typical of a recent bootcamp grad. I hope you find it useful!

--

--

Kerry Sheldon

Software Developer. Graduate of Turing School of Software and Design.