Command Line TV is a video podcast to help you learn and master the Unix shell. Informally, ‘Unix’ refers to a family of operating systems that includes GNU/Linux, Mac OS X, and FreeBSD. Operating a computer via the command line gives you tremendous power and flexibility, but it’s not easy to learn. We’re here to help! We start from the beginning, but also try to include some tips suitable for intermediate users. Each video is about 20 minutes long, and we aim to release a new episode every week or so.
We use find and locate to dig up lists of files on our system that match
certain criteria. We also look at xargs for executing commands on a selected
set of files.
We investigate the standard filesystem hierarchy and some tools for managing filesystems.
We create shell scripts using the hash-bang header, and also look at permissions, variables, and loops in the shell.
We explore some more shell basics including redirection to and from files, and command substitution. This feature allows the output of one command to be used as parameters of another command.
In this episode, we explore some of the capabilities of package managers for installing and updating software on your system. Specifically, we look at the ‘apt’ system on Ubuntu GNU/Linux. On other systems, you might use Yum (RedHat/Fedora), Pacman (Arch), or Homebrew (Mac). This page shows a comparison of commands for several Linux packaging systems: https://wiki.archlinux.org/index.php/Pacman_Rosetta
We look at ImageMagick, a powerful suite of command-line tools for doing image processing. With it, we resize, crop, blur, and do format-conversion on a collection of image files.
In this episode, we continue looking at managing files and directories using
cp, rm, mkdir, and rmdir. We also show off the tree command and
revisit creating an alias in our .bashrc.
We use mv to move and rename files, and create a shell alias to improve the
safety of one of its sharp edges. We also introduce the .bashrc configuration
script, and mkdir to create directories.
We learn about text manipulation commands like cut, sort, and uniq. We
build sophisticated pipelines to analyze data, including surveys and web logs.
We also look briefly at invoking simple text editors from the command line,
like nano, gedit, and TextEdit.
In this episode, we use basic wildcards to select files, and then explore how the ‘grep’ command can search for words or phrases across multiple files. As always, you can follow along using the same directory structure by downloading it from https://github.com/commandlinetv/sample-files.
We look at viewing files using commands like cat, more, less, head, and
tail, including using those in short pipelines. We also try opening files in
external applications using open or xdg-open (and live dangerously by
dumping a binary file with cat).
Welcome to Command Line TV, a new video podcast to help you learn and master
the UNIX shell. In this first episode, we talk about our backgrounds, the scope
of this endeavor, opening your terminal, and using basic commands like cd and
ls to explore a directory tree.
You can follow along using the same directory structure by downloading it from https://github.com/commandlinetv/sample-files.
Note: we have a few minor problems in this first episode with audio synchronization and a somewhat noisy environment. It gets better in future episodes!