Code 501: Master Essentials of the Bash Command Line

Sign Up

Overview

Do you want a deeper understanding of what the terminal can do and how to use the power of the command line for faster development and debugging? Knowledge of the command line separates novice developers from experts, saves countless development hours, and makes any programmer's job easier.

Outcomes

At the end of this course students will be able to:

  • Explain and manipulate the ACL structures in a Unix/Linux system, including users and groups, in order to maintain a secure and usable system.
  • Identify the correct Unix tools to solve problems on the command line, from among tools such as find, grep, sed, piping, xargs, lsof, top, ps, finger, kill/killall, netstat, curl, ssh, telnet, su, chmod/chown/chgrp, useradd, and more.
  • Write and execute small bash scripts utilizing conditionals and loops to identify rogue processes, automate a series of commands, or simplify the build and deployment process.
  • Read and understand man pages, info pages, and other documentation to continue learning and using new features of their command line.

Prerequisites

Students enrolling in this coures should:

  • Have experience using the Unix/Linux command line for at least two months in the course of development work
  • Know the basics of navigating their computer and viewing files on the command line
  • Have familiarity with using package managers, such as brew, npm, or apt-get
  • Have a full install of the Linux/Unix-based environment. Mac or Linux users are already set; Windows users should set up the Windows Subsystem for Linux before the start of this course.

Learn with Stacked Modules

Concepts in each of our courses are taught using stacked modules, where a new concept is introduced in each class session, building upon what came before it. This is a challenging style that requires persistence, practice, and collaboration, but allows more concepts to be introduced over the length of the course. This method helps students learn and retain more information in a short period of time. Learn more about stacked modules »

Material Requirements

You are required to supply your own laptop that meets the below requirements. Chromebooks are not suitable for this course, since you can’t directly control installed software. Most students use Macs. You are responsible for the upkeep and maintenance of your computer throughout the course.

  • 64-bit Operating System, like macOS or Windows 10.
  • Fully up to date, with the latest version of the operating system and all security updates installed.
  • At least 50GB of free space on the hard drive.
  • At least 8GB of RAM. 16GB RAM strongly preferred.
  • Free of viruses, and in general working order.
  • Have a full install of the Linux/Unix-based environment. Mac or Linux users are already set; Windows users should set up the Windows Subsystem for Linux before the start of this course.

By the first day of class, you will need:

  • The latest version of Google Chrome
  • The Visual Studio Code editor
  • A GitHub account
  • A full install of the Linux/Unix-based environment. Mac or Linux users are already set; Windows users should set up the Windows Subsystem for Linux before the start of this course.

Sign Up