You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
4.9 KiB
122 lines
4.9 KiB
<?xml version='1.0'?>
|
|
|
|
<!DOCTYPE cscpage SYSTEM "../csc.dtd">
|
|
|
|
<cscpage title="UNIX 102 Tutorial Information">
|
|
<header />
|
|
|
|
<section title="UNIX 102 Reference Material">
|
|
<p>
|
|
This page contains some <a href="http://programmerryangosling.tumblr.com/">links</a> to material covered during UNIX 101 and 102,
|
|
as well as some extracurricular content for you to review in your free
|
|
time.
|
|
</p>
|
|
<p>
|
|
The text file for the great editor race is available <a href="queue.txt">here</a>.
|
|
</p>
|
|
<p>
|
|
To begin with the first exercise, you will need the following file.
|
|
To download it and untar it, execute the following commands:
|
|
<pre>
|
|
wget http://csclub.uwaterloo.ca/unix102/vim_exercise.tar
|
|
tar -xvf vim_exercise.tar
|
|
</pre>
|
|
</p>
|
|
<p>
|
|
You can also download the <a href="unix101.pdf">slides</a> or <a href="cheatsheet.pdf">cheatsheet</a> handout from UNIX 101.
|
|
</p>
|
|
</section>
|
|
|
|
<section title="vim References">
|
|
<p>
|
|
First and foremost, make sure you have tried running vimtutor. This
|
|
program is available on the CSC systems, as well as the student.cs and
|
|
student.math environments. Try the following commands from a shell:
|
|
<pre>
|
|
ssh userid@linux.student.cs.uwaterloo.ca
|
|
vimtutor
|
|
</pre>
|
|
This <a href="http://newbiedoc.sourceforge.net/text_editing/vim.html#BUILT-IN-HELP-VIM">document</a> from sourceforge should also prove to be useful.
|
|
</p>
|
|
</section>
|
|
|
|
<section title="bash References">
|
|
<p>
|
|
From the GNU bash reference manual (a very good source of information,
|
|
albeit a little arcane and verbose):
|
|
</p>
|
|
<ul>
|
|
<li><a href="http://www.gnu.org/software/bash/manual/bash.html#What-is-a-shell_003f">What is a shell?</a></li>
|
|
<li><a href="http://www.gnu.org/software/bash/manual/bash.html#Redirections">Redirecting input/output</a></li>
|
|
<li><a href="http://www.gnu.org/software/bash/manual/bash.html#Pattern-Matching">Globbing</a></li>
|
|
<li><a href="http://www.gnu.org/software/bash/manual/bash.html#Quoting">Quotes/escapes</a></li>
|
|
<li><a href="http://www.gnu.org/software/bash/manual/bash.html#Compound-Commands">Conditional and looping constructs</a></li>
|
|
<li><a href="http://www.gnu.org/software/bash/manual/bash.html#Shell-Parameters">Shell variables</a> (including <a href="http://www.gnu.org/software/bash/manual/bash.html#Special-Parameters">special variables</a>)</li>
|
|
</ul>
|
|
<p>
|
|
Here are some example bash scripts covered in today's lecture:
|
|
</p>
|
|
<ul>
|
|
<li>Simple script whose parameters are any number of text files, that will
|
|
print all the files and filenames to standard output: <a href="appender.sh">appender</a></li>
|
|
<li>RunC clone, that takes in a filename and executes all the tests it
|
|
can find for it in the current directory: <a href="walkc.sh">WalkC</a></li>
|
|
<li>Script that scrapes concert website for tickets and sends emails/text
|
|
messages when tickets are available: <a href="tickets_email.sh">tickets_email</a></li>
|
|
</ul>
|
|
</section>
|
|
|
|
<section title="Regular Expression References">
|
|
<p>
|
|
This
|
|
<a href="http://www.regular-expressions.info/quickstart.html">page</a>
|
|
is a good brief reference for regular expressions.
|
|
</p>
|
|
</section>
|
|
|
|
<section title="git References">
|
|
<p>
|
|
Look to the <a href="http://gitref.org/index.html">gitref</a> for a git
|
|
reference, of course. As well, here's an article I found claiming to list
|
|
the <a href="http://sixrevisions.com/resources/git-tutorials-beginners/">top 10 git tutorials</a>.
|
|
Whether or not that's true, you should still learn something.
|
|
Here is also a brief review of the commands we intended to cover today.
|
|
</p>
|
|
<p> This clones a copy of the codebase for you to work on locally:
|
|
<pre>
|
|
git clone
|
|
</pre>
|
|
This "pulls" (updates with) any new changes others have made since you last
|
|
worked on the code, so they are now part of your local code:
|
|
<pre>
|
|
git pull
|
|
</pre>
|
|
This adds new files to the git repository:
|
|
<pre>
|
|
git add [files]
|
|
</pre>
|
|
This commits any of the changes that you've recently made in [files] (or -a
|
|
for everything), getting ready to "push" the changes to other users:
|
|
<pre>
|
|
git commit [files] (-a)
|
|
</pre>
|
|
This "pushes" (sends) your changes back to the "master" repository,
|
|
allowing other people working on the project to "pull" your changes.
|
|
<pre>
|
|
git push
|
|
</pre>
|
|
</p>
|
|
</section>
|
|
|
|
<section title="Beyond UNIX 10X">
|
|
<p>
|
|
You might be surprised - almost all the information on this page was at
|
|
one point found using Google. Remember, your best resources for learning
|
|
more about UNIX are your friends, your manpages, and the internet. So
|
|
fire up your favorite search engine, and get learning!
|
|
</p>
|
|
</section>
|
|
|
|
|
|
<footer />
|
|
</cscpage>
|
|
|