Skip to content

Latest commit

 

History

History
61 lines (46 loc) · 2.51 KB

day1.md

File metadata and controls

61 lines (46 loc) · 2.51 KB

day 1: command-line

Learn the command-line.

So many reference materials, open source tools, blog posts, and job descriptions assume command-line proficiency, but the resources for learning the command-line effectively are scattered and largely unhelpful for people who aren't already familiar with how to get by in a unix system.

Join James Halliday (substack) as we dive into the command-line. You will:

  • Become comfortable with the unix command-line using the bash shell.
  • Log in to remote servers to edit files and run commands.
  • Edit files with vim, a command-line text editor.
  • Search and match patterns using regular expressions.
  • Automate command-line tasks with their own shell scripts.
  • Administer user permissions and system services.

schedule

  • 08:30 - system check, hello
  • 09:00 - commands, input/output, and some history
  • 09:30 - directories and files, environment variables, flags
  • 10:00 - pipes, redirects, scripts, interpolation
  • 10:30 - permissions, signals, job control
  • 11:00 - user accounts, ssh, public keys
  • 11:30 - screen
  • 12:00 - lunch etc
  • 13:00 - services, init scripts, cron
  • 13:30 - regular expressions, grep, sed
  • 14:30 - vim basics and practice
  • 16:00 - closing notes and wrap up

We will start out the day by covering basic command-line concepts hands-on. These skills will build up into more advanced techniques and we will begin to apply our growing knowledge of the command-line and common utility programs by writing shell scripts, connecting to remote servers over ssh, and administering user accounts, permissions, and system services.

After lunch, we will use regular expressions to search for patterns and format text. We will edit text files on the command-line with vim.

who is this for?

This workshop is for people who want to become effective at the command-line. Students should be comfortable computer users, but no programming or prior command-line experience is required.

If you've recently learned some programming, plan to learn programming soon, or have been programming for a while but never got around to learning the command-line and a unix system in depth, this workshop is for you!

prerequisites

Bring a computer running a unix operating system such as GNU/Linux or MacOSX.

If you have a Windows computer, please install Linux. Most Linux installers will let you dual boot your computer into both Linux and Windows if you want to keep Windows around. If you don't know where to start, download Ubuntu from https://www.ubuntu.com/ and install from a bootable USB stick.