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.