Winter 2019 - January to April 2019 - Updated 2019-04-09 02:25 EDT
This is a list of Unix/Linux command names used in this course and (eventually) the week number in which they were first introduced and described. A missing week number means the command hasn’t been formally introduced yet. This page is updated weekly as new commands are introduced.
Almost all these command names have manual pages, e.g. man man
,
man date
, etc. Command names that are built-in to the shell
(e.g. cd
, exit
, pwd
, history
, etc.) are described somewhere in
the man page for the bash
shell and you can also use the BASH shell
built-in help
command to get information about built-in commands,
e.g. help help
and help pwd
, etc.
This list only gives the names of the commands, not what the commands do or how to use them. As each command is introduced, you must keep your own notebook with these command names in it and a short description of what each command does; you will be required to learn and remember at least some of what each of these commands can do.
Solutions to assignments in this course use only these command names. If you want to use other command names, clear it with your instructor first. Do not use other commands in your assignment solutions.
WK Topic covered (estimate -- subject to change)
-- ----------------------------------------------------------------------
01 How the course works; submitting to Brightspace; course information.
01 Remote Login to the Course Linux Server and simple commands
02 Recall terminal command line history using UpArrow DownArrow keys
02 Simple command line Output Redirection using >file.txt
02 File Transfer to/from the CLS
02 Terminal Control Characters: ^C ^L
02 Using Copy and Paste in PuTTY via mouse drag and right-click
02 More Terminal Control Characters: ^C ^L ^W ^U ^R
02 More Terminal Control Characters: ^D ^Z
02 RTFM Manual Pages
03 Absolute and Relative pathnames
03 Setting the BASH shell prompt: PS1='[\u@\h \W]\$ '
03 Finding files and basic commands
03 GLOB characters: * ? [...], aliases
04 Text Editors: basic VIM, nano (use VIM instead)
04 I/O Redirection: stdin, stdout, stderr, < > | 2>&1, Pipes
04 Selecting fields with awk and cut
05 Start-up files (.bashrc .bash_profile)
05 Shell local and environment variables, export, printenv
05 Search $PATH
05 Quoting
06 Linux File System
06 *** Midterm Test #1 45 min - in the one-hour lecture class
07 Midterm Test #1 analysis
07 Inodes and hard links, ln
07 Disk Usage, du, quota
07 Symbolic links
08 Permissions: whoami, id, groups, chmod
08 Permissions: umask
08 Compression, archives, difference: gzip
09 tar, diff
09 System logs, dmesg, syslog
09 Processes, Jobs, Background, Foreground, Kill, Signals
09 Scheduling with crontab, at
10 Introduction to Shell Scripts and positional parameters $0, $1, $#, $*, $@
10 Shell command Substitution using $(...)
10 Shell Integer Arithmetic using $((...))
10 Command exit status and $?
10 *** Midterm Test #2 45 min - 8am Fri Mar 22 in the one-hour lecture class
10 *** Final Withdrawal Date Friday March 22 (Week 10)
11 Midterm Test #2 analysis
11 Debugging shell scripts with -v and -x
12 Shell control statements, the "test" helper command
13 Shell control statements; functions, good error and usage messages
14 Common shell script problems; script style
15 *** Final Exam - three hours Tuesday April 23 13h00 (1pm to 4pm) in T119
WK Command name first introduced (read the course notes; subject to change)
-- ----------------------------------------------------------------------
09 & (shell built-in)
12 && (shell built-in)
12 || (shell built-in)
10 $(( (shell built-in)
10 $(...) and `...` (shell built-in)
10 : (shell built-in)
03 alias (shell built-in)
02 apropos (same as man -k)
09 at ( -c )
09 atq
09 atrm
04 awk '{print $1}' (also $2, $NF, etc.)
02 bash ( -u -v -x )
09 bg (shell built-in)
08 bunzip2
08 bzip2
08 bzcat, bzless, bzfgrep, bzgrep, bzdiff, etc.
01 cal (9 1752)
11 case (shell built-in)
01 cat
02 cd (shell built-in)
08 chmod ( -R ugo[-+=]rwx octal_number )
03 clear (see also ^L)
01 cmatrix -s
02 cp ( -a -r -p )
09 crontab ( -l -e -r )
04 cut
01 date
07 df
09 diff
09 dmesg
11 do (shell built-in)
07 du ( -s )
01 echo (shell built-in and external)
11 elif (shell built-in)
04 elinks ( -dump -no-numbering -no-references )
11 else (shell built-in)
11 esac (shell built-in)
01 exit (shell built-in)
05 export (shell built-in)
11 expr (shell built-in)
11 false (shell built-in)
02 fg (shell built-in: use after ^Z stops a process)
02 fgrep (same as grep -F) ( -i -v -w )
11 fi (shell built-in)
01 figlet
02 file
02 find ( -name -user -inum -size -print -ls )
11 for (shell built-in)
01 fortune
09 from
12 function (shell built-in)
02 grep (use fgrep instead until you learn regular expressions next term)
08 groups
08 gunzip
08 gzip
04 head ( -n )
02 help (shell built-in)
01 history (shell built-in)
05 hostname
08 id
11 if (shell built-in)
09 jobs (shell built-in)
09 kill (shell built-in)
09 killall
02 less (similar to "more"; used by "man")
10 let (deprecated shell built-in)
07 ln ( -s )
03 locate ( see slocate )
02 ls ( -l -i -a -d -L -t -b )
09 mail ( -s )
02 man ( -k )
03 mkdir ( -p )
02 more (similar to "less")
02 mv
04 nano [*** USE VIM INSTEAD ***]
04 nl (same as "cat -n")
02 passwd
05 printenv
09 ps ( uaxww -efww )
09 pstree
02 pwd (shell built-in and also external)
07 quota -v
12 read ( -p ) (shell built-in)
01 rm ( -r -f )
04 rmdir
05 set (shell built-in)
02 sh ( -u -x -v ) (symlink to "/bin/dash" on Ubuntu CLS)
09 shift (shell built-in)
05 shopt (shell built-in)
01 sl
02 sleep (60)
03 slocate
02 sort ( -f -n -r ) (see the weekly notes)
03 sum
04 tail ( -n )
09 tar ( -c -x -t -v -f -z -j )
11 test (shell built-in and also external) also known as [
11 then (shell built-in)
01 toilet ( --gay )
09 top
02 touch
05 tr
11 true (shell built-in)
02 tree
08 umask ( octal_number ) (shell built-in)
03 unalias ( -a ) (shell built-in)
04 uniq ( -c ) (see the weekly notes and examples of pipes)
08 unzip
01 users
04 vi / vim / vimtutor
02 wc ( -l -w -c )
05 whereis
05 which
11 while (shell built-in)
01 who
08 whoami
02 whois (see the weekly notes on SSH attacks)
08 zip
08 zcat, zless, zfgrep, zgrep, zdiff, etc.
Keep a notebook with these command names in it and a short description of what each command does; you will be required to learn and remember at least some of what each of these commands can do.