% Unix/Linux Command List You Must Know (Weekly Cumulative) % Ian! D. Allen - - [www.idallen.com] % Winter 2019 - January to April 2019 - Updated 2019-04-09 02:25 EDT - [Course Home Page] - [Course Outline] - [All Weeks] - [Plain Text] Unix/Linux Command List You Must Know (Weekly Cumulative) ========================================================= 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. ![Remember] -- | Ian! D. Allen, BA, MMath - idallen@idallen.ca - Ottawa, Ontario, Canada | Home Page: http://idallen.com/ Contact Improv: http://contactimprov.ca/ | College professor (Free/Libre GNU+Linux) at: http://teaching.idallen.com/ | Defend digital freedom: http://eff.org/ and have fun: http://fools.ca/ [Plain Text] - plain text version of this page in [Pandoc Markdown] format [www.idallen.com]: http://www.idallen.com/ [Course Home Page]: .. [Course Outline]: course_outline.pdf [All Weeks]: indexcgi.cgi [Plain Text]: 900_unix_command_list.txt [Remember]: data/remember.jpg "Remember" [Pandoc Markdown]: http://johnmacfarlane.net/pandoc/