2>&1
Updated: 2017-10-10 14:00 EDT
_ _ _____ ____ _ _ _ _
| | | | _____ __ |_ _|__ / ___| _ _ ___ ___ ___ ___ __| | (_)_ __ | | (_)_ __ _ ___ __
| |_| |/ _ \ \ /\ / / | |/ _ \ \___ \| | | |/ __/ __/ _ \/ _ \/ _` | | | '_ \ | | | | '_ \| | | \ \/ /
| _ | (_) \ V V / | | (_) | ___) | |_| | (_| (_| __/ __/ (_| | | | | | | | |___| | | | | |_| |> <
|_| |_|\___/ \_/\_/ |_|\___/ |____/ \__,_|\___\___\___|\___|\__,_| |_|_| |_| |_____|_|_| |_|\__,_/_/\_\
Some advice from CST student Joshua McNeely
“learn how to use the website early, because it is an incredibly useful resource (it’s the only resource needed).”
find
using “wildcard” (GLOB) patterns - same as shell GLOBvi/vim, nano
head, tail
Check the due date for each assignment and put a reminder in your agenda, calendar, and digital assistant. Just like in the Real World, not all due dates are on the same days or at the same times.
PS1 find mkdir mv cp rm touch file
Worksheets are preparation for your assignments. You can’t do the assignments without having done the worksheets first, and you can’t do the worksheets without having first read the Course Notes: 1. Read. 2. Worksheets. 3. Assignment.
Make notes from the worksheets on how each command works. What do the options used in the worksheets mean, for each command? (See the weekly Command List.)
Form a small study group to do the worksheets. Each person tries the example given, and you make sure you all get the same answers. Worksheets are not for hand-in; they are not worth marks; the assignments test your knowledge of the lectures and worksheets.
The worksheets are available in four formats: Open Office (ODT), PDF, HTML, and Text. Only the Open Office format allows you “fill in the blanks” in the worksheet. The PDF format looks good but doesn’t allow you to type into the blanks in the worksheet. The HTML format is crude but useful for quick for viewing online.
Do NOT open the Worksheet ODT files using any Microsoft products; they will mangle the format and mis-number the questions. Use the free Libre Office or Open Office programs to open these ODT documents. On campus, you can download Libre Office here.
These first two worksheets require you to have read File System and Pathnames:
PS1, cd, find, less, ls, man, mkdir, passwd, pwd, rmdir
cat, clear, cp, find, fgrep, history, less, man, mv, rm, sleep, touch
alias, sum, unalias
date, head, nl, tail, tr, wc
vim
vimtutor
program on the CLS.Worksheets prepare you for the upcoming assignments.
Note that your upcoming Midterm Test #1 is worth more than three assignments put together. Don’t spend all your time doing an assignment at the expense of studying the Practice Tests and Answers for the Midterm Test.
For full marks, read the Test Instructions (all the words) before your midterm tests. Midterm tests and the final exam are closed-book, no aids (just like your job interview). You will be given scrap paper to write on, and you may write on the question sheet.
Put the test dates into your phone! Use the Algonquin Registered Name Game link to test your name before the test. I don’t answer questions about the instructions during the test.
Tests take place in your 50-minute lecture class, not in your lab period. Each midterm test is 45 minutes long and contains approximately 45 multiple-choice questions similar to those found in Practice Tests and Answers. You must write the test in the lecture class in which you are registered.
;
to separate multiple commands on the same line, to save space and paper, e.g. three separate commands can be written on one line like this: date ; echo "hi" ; ls
vim
or nano
.For full marks, you must read and understand the Test Instructions.
Blackboard has some quizzes taken randomly from the first practice test in Practice Tests and Answers.
The practice test itself is not part of your course grade, but these quizzes are part of your course grade.
See the Blackboard Quizzes section located in Practice Tests and Answers.
Take notes in class! Keep a pad open on your desk.
This week, we learn how to match file names using GLOB patterns and then about I/O redirection and pipes.
Note that your upcoming Midterm Test #1 is worth more than three assignments put together. Don’t spend all your time doing an assignment at the expense of studying the Practice Tests and Answers for the Midterm Test.
See last week’s note about drawing file system diagrams: Week 03 Notes HTML
Keep a notebook with a List of Commands in it.
- You need to write down yourself what each command does.
- Check the updated list of commands each week.
- I will check for this list in your lab periods.
- Bring your notes to class! Stop wasting time looking up commands.
-name
arguments to find
find
GLOB patterns to hide them from the shell!ls -d
: The man page says “list directories themselves, not their contents”. It doesn’t say “list only directories;, do not list files”. If you give a file and a directory to ls -d
, you will get the file name and the directory name in the output. If you give a file and a directory to ls
without -d
, you will get the file name and the contents of the directory (not the directory name itself) in the output. See the difference? The -d
shows the directory itself, not what is in the directory.Many students find that hiring a personal tutor helps them get through the first term. Financial assistance is available. See the Tutoring heading in the Course Introduction.
You are not paranoid if they really are out to get you! See the Week 03 Notes HTML for command pipelines to count the attacks on the CLS.
In addition to the SSH attacks, machines on the Internet receive attacks using bogus HTTP requests. These unsuccessful attacks below attempt to use a chain of parent directories to fetch a file out of the file system:
[Dec 13 13:50:57 2015] [client 54.201.251.33] Invalid URI in request GET /../../ratings.html HTTP/1.1
[Dec 13 13:51:01 2015] [client 54.201.251.33] Invalid URI in request GET /../../index.html HTTP/1.1
[Apr 26 17:09:59 2016] [client 67.79.37.250] Invalid URI in request GET /../../../../../../../mnt/mtd/yqcP HTTP/1.1
[May 02 12:21:45 2016] [client 222.235.67.147] Invalid URI in request GET /../../../../../../../mnt/mtd/IJSj HTTP/1.1
[Jun 27 17:54:40 2016] [client 222.198.128.207] Invalid URI in request GET /../../../../../../../mnt/mtd/3qS9 HTTP/1.1
[Oct 07 09:34:11 2016] [client 64.137.234.42] Invalid URI in request GET /../../../../../../../mnt/mtd/ahMk HTTP/1.1
[Oct 15 06:49:57 2016] [client 177.142.99.103] Invalid URI in request GET /../../../../../../../mnt/mtd/qt HTTP/1.0
[Oct 19 20:49:33 2016] [client 189.100.188.31] Invalid URI in request GET /../../../../../../../mnt/mtd/qt HTTP/1.0
[Oct 23 00:43:39 2016] [client 191.189.55.9] Invalid URI in request GET /../../../../../../../mnt/mtd/qt HTTP/1.0
[Nov 02 21:35:09 2016] [client 201.37.223.72] Invalid URI in request GET /../../../../../../../mnt/mtd/qt HTTP/1.0
[Jan 07 20:51:33 2017] [client 201.17.154.181] Invalid URI in request GET /../../../../../../../mnt/mtd/qt HTTP/1.0
[May 10 21:22:29 2017] [client 187.67.167.31] Invalid URI in request GET /../../../../../../../mnt/mtd/qt HTTP/1.0
The Apache server blocked all the above attacks.