Welcome!

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.

Please send us your questions and comments on Twitter @commandlinetv or by email to heychris@commandline.tv

“Unix is user-friendly. It just happens to be very selective about who it befriends.” —Unknown

Episodes

Topic index

See also our topic ideas for upcoming episodes.

Topic or command Episode references

automation

1

case sensitivity

1
3

color

2

command prompt (Windows)

1

command substitution

9
12

completion

1
8

compression, lossless

7

compression, lossy

7

contacting us

2

cygwin

1

dependency

8

desktop environment

1

directory

1

disk format

11

disk format, ext4

11

disk format, vfat

11

disk partition

11

distribution

1
11

distribution, ArchLinux

8

distribution, Debian/Ubuntu

8

distribution, RedHat/Fedora

8

DLL

8

environment variable

10
11

file type, binary

2
3
11

file type, disk image

11

file type, hidden (dot files)

5

file type, image

2
7

file type, PDF

2

file type, text

4
10

filename extension

3

filesystem

11

filesystem hierarchy standard

11

filesystem, virtual

11

folder

1

free software

1

geometry

7

GNU

2

group

1
10

history

1
7

image, crop

7

image, resize

7

ImageMagick

7
10
11

journal

11

link, symbolic

11

octal

10
11
12

package

8
9

package manager, apt

8

package manager, brew

8

package manager, pacman

8

package manager, yum

8

password

4

path, absolute

2

path, relative

2

permissions

10

philosophy

5

pipeline

2
3
12

quoting

3

rationale for command line

1

read-only

12

redirection

9

script, Python

10

script, shell

10
11

security

8

server

1

spaces

1
3
12

standard error

9

standard input

9
12

standard output

9

syntax

2

Terminal (Mac)

1

text editor

4

USB drive

11

Utilities (Mac)

1

variable

10

virtual machine

11

wildcard

3
5

WYSIWYG

1

YYYYMMDD date format

7

!$ (last word)

7

#! (hash-bang)

10

$() (command substitution)

9

* wildcard

2
3

--help

2
3

--version

2

.. (parent dir)

1

.bashrc

5
6
9
10

.bash_profile

5

.gz

2
3

.png

2

.tar

3

.zip

10

. (current dir)

6
10
11

/bin

11

/bin (essential commands)

11

/boot (kernel images)

11

/dev (device files)

11

/etc/passwd (user database)

4
11

/etc (system config dir)

4
11

/home (user dirs)

11

/lib (libraries)

11

/proc (process information)

11

/root (home of admin user)

11

/usr/local (user-installed software)

11

/usr (package-managed software)

11

/var (variable data files)

11

/ (root directory)

4
6
11

< (redirect stdin)

9

>& (redirect stdout and stderr)

9

>> (append stdout)

9

> (redirect stdout)

9

>| (redirect and clobber)

10

? wildcard

3

alias

5

apt-cache search

8

apt-cache show

8

apt-cache (query package cache)

8

apt-get autoremove

9

apt-get install -f (force)

9

apt-get install

8

apt-get purge

9

apt-get remove

9

apt-get update

8
9

apt-get upgrade

8
9

apt-get (package manager)

8

bash (default shell)

1
4

cat (concatenate files)

2
9

cd - (previous dir)

1

cd (change working dir)

1

chmod (change permissions)

10
10
11
12

clear (clear screen)

7

convert -blur

7

convert -bordercolor

7

convert -border

7

convert -geometry (resize image)

7

convert (process image)

7

cp -a (archive)

6

cp -r (recursive)

6

cp -v (verbose)

6

cp (copy files and dirs)

5
6

cut -c (characters)

4

cut -d (delimiter)

4

cut -f (fields)

4

cut (select fields)

4

display (show image)

7

dpkg -L (list files)

8

dpkg -l (list packages)

8

dpkg -S (search for filename)

8

dpkg (package tool)

8

du -s (summarize)

4

du (disk usage)

4

echo (display text)

10
11

env (show environment)

10

eog (GNOME image viewer)

7

export (designate environment variable)

10

fdisk (edit partition table)

11

file (show file type)

3

find -delete

12

find -empty

12

find -exec

12

find -iname

12

find -maxdepth

12

find -name

12

find -newer

12

find -print0

12

find -print

12

find -type

12

find (search files)

12

for loop

10

gedit (desktop editor)

4

gimp (photoshop)

7

git (version control)

1

grep --color

3

grep -c (count)

3

grep -i (ignore-case)

3

grep -l (files-with-matches)

3
9

grep -n (line-number)

3

grep -r (recursive)

3

grep -s (no-messages)

3

grep (show matching lines)

3

head -n (lines)

2

head (first few lines)

2
3

identify -verbose

7

identify (describe image files)

7

inotify (monitor filesystem events)

11

less (pager)

2

less search (/)

8

locate -i (ignore-case)

12

locate (find files by name)

12

ls -a (all)

5
11

ls -F (classify)

1
2

ls -l (long)

1

ls -r (reverse)

1

ls -t (sort by mtime)

1

ls (list files)

1

man (show manual page)

12

mkdir -p (parents)

6
10

mkdir (make dirs)

5
6

mkfs (build Linux filesystem)

11

mogrify -crop

7

mogrify -format

7

mogrify -geometry (resize)

10

mogrify (process image in-place)

7
9

more (pager)

2

mount -o (options)

12

mount (attach filesystem)

11
12

mv -i (interactive)

5

mv -n (no-clobber)

5

mv -t (target-directory)

5

mv (move or rename files)

3
5

nano (editor)

4

od (octal dump)

12

open -e (Mac TextEdit)

4

open (Mac desktop)

2

PATH variable

10
11

pwd (print working dir)

1

reset (initialize terminal)

2
7

rm -f (force)

6

rm -i (interactive)

6

rm -r (recursive)

6

rmdir (remove empty dirs)

6

rm (remove files or dirs)

6

rwx (permissions)

10

set -e (stop on error)

10

set -o noclobber

9
10

sort -n (numeric)

4

sort -r (reverse)

4

sort (put lines in order)

4
12

source (execute in current shell)

5

sudo -s (shell)

11

sudo (run as administrator)

8
11

tail -n (lines)

2

tail (last few lines)

2

touch (change file timestamps)

12

tree (list dirs in tree-like form)

6

umount (detach filesystem)

11

uniq -c (count)

4

uniq (omit repeated lines)

4

unzip (extract compressed files)

10

updatedb (update locate data)

12

which (show path of command)

8
11

xargs -0 (split on null)

12

xargs (build cmd from stdin)

12

xdg-open (Linux desktop)

2
3

xterm

1

[] wildcard

3

\ (backslash)

6

^C (interrupt)

2
6
7

^D (end of input)

9

^L (clear)

7

^R (reverse-i-search)

7

` (command substitution)

9

{} wildcard

3

| (pipe)

2

~ (home directory)

1
4