Sei sulla pagina 1di 61

Introduction to the Maths Computer

System

August 11, 2016

Introduction

This booklet is divided into three parts.

The first part introduces the local services. Even if you know
Unix you should read this section.
The second part introduces Unix. We hope there is enough
there to keep you afloat until you can attend the Universitys
Introduction to Unix course.
The third part is a glossary of Unix terms. It will include some
extra commands not covered in part 2.
We have aimed to make all examples in this booklet work accurately
for new users. Old users may have slightly different setups but
should still find much of this booklet useful.
Your login-name on the Maths Linux system is your CRSid. Your
CRSid is generated from your initials and used by various systems
within the University e.g. Email (Hermes), Web authentication
(Raven).
This booklet uses crsid in place of your login-name in many of the
examples.
CRSid = Common Registration Service identifier.

Assistance: The Helpdesk

Our computing documentation is at


http://www.maths.cam.ac.uk/computing/
To contact us by email
help@maths.cam.ac.uk
and telephone at Xt 66100
If the problem is urgent, then email the really-urgent address and/or
phone the extension 66100.
really-urgent@maths.cam.ac.uk
When emailing us please include your crsid (university login name),
computer name, office number and phone.
Email (Hermes) and Raven services are run by the Universitys
central IT services with their own pages.
http://www.ucs.cam.ac.uk/linkpages/newcomers

Part I: Local IT Services

The majority of people using the departmental computer system have


a Linux desktop. People with different desktops should still read this
booklet as you are likely to run your code on Linux.
Any member of the department who happens to have no desktop
provided should contact us via help@maths.cam.ac.uk. If you
cannot log into your desktop please check whether you have access
by visiting the online list of computers and entering your crsid.
http://www.maths.cam.ac.uk/computing/comptable/
Search for your computers name. If it is not there, please email us
with your research group, office number and the name of the desktop
computer. If it is there, please double-check that you have typed your
password correctly and that the computer is plugged into a network
socket before emailing us.
We run a version of Linux called Ubuntu 14.04.
https://help.ubuntu.com/

Laptops, Tablets and Smartphones

We provide both wireless and wired connections for your own


mobile devices and computers.
If you wish to use a wired connection please only connect to a
free network port which is marked with a sticker and/or an orange
network cable. The sticker will say something similar to
This data outlet is connected to the CMS laptop
network. Laptops may be connected here.
Connecting your laptop to any other port will not work. This
includes your desktops port since that is on a different network.
If you need to use this network and there are no laptop network
ports available in your office, please contact us by emailing
help@maths.cam.ac.uk with your office number and if possible the
number of the free network port you need to have added to the laptop
network.
For assistance with network connections see
https://www.maths.cam.ac.uk/computing/laptops/
Should you have a problem connecting or printing, please if possible
include the output from accessing the following page from your
laptop when emailing us.
https://www.wireless.cam.ac.uk/person/self/usage/
(wireless)
http://lapserv.maths.cam.ac.uk/authstatus/ (wired)
4

Virus Checker

Please make sure any computers you use other than the department
computers have up-to-date virus checkers on them. The University
has a license for some products which you can use free of charge.
http://www.ucs.cam.ac.uk/support/anti-virus/
If your computer has a virus and is attempting to spread it to
other computers, we will have to disconnect it until the problem is
resolved.

Linux Computers

In addition to your desktop computer you also have remote access to


many other computers on our network via ssh (see later).
To see the names, locations and spec of different computers check
http://www.maths.cam.ac.uk/computing/comptable/
Enter your CRSid to see just the computers to which you have login
access.
If the computer you want to use is switched off, you can switch it on
over the network with wake computer name from the command line
or via this web page.
https://things.maths.cam.ac.uk/it-admin/wakeup.
cgi
Be considerate towards other computer users. When running your
code on a computer that is in another office, make sure you leave the
office (console) user with enough resources to move their mouse and
type.
Do this by using the nice command. We have more information on
this topic at
http://www.maths.cam.ac.uk/computing/policy/longjobs.html

Windows Computers

We have a variety of ways for people to access Microsoft Windows


applications.
There are a few public computers running Microsoft Windows 7.
The Desktop Services / Managed Cluster Service (DS/MCS)
Computers in room GL.04 and the Part III room in the basement
of Pav B are accessible to department members. These computers
are dual boot Windows 7 / Ubuntu Linux and are managed by the
University Computing Service.
http://www.maths.cam.ac.uk/computing/mcs/
The windows remote desktop server which is called RDS is
accessible from the linux desktops.
Applications Office Windows Applications
Or if using the command line in a terminal or xterm:
$ windows_applications &
On this you will find all the standard Microsoft Windows programs
as well as some mathematical software.
http://www.maths.cam.ac.uk/computing/win7/

Printing and Scanning

Each pavilion has at least one public scanner and a number of public
printers. In general you have access to all of these. The webpage
below provides the locations and instructions for use of these.
http://www.maths.cam.ac.uk/computing/printing/
When a printer is flashing its orange maintenance light, the small
LCD display should tell you why. It may be out of paper, it may
have a paper jam (try to remove the jammed paper yourself, being
careful not to tear it) or it may be out of toner. Please change the
toner yourself if you feel confident to. Some pavilion secretaries
keep a supply of toners close by, and DAMTP toners are kept in
room BL.05 (basement of pavilion B). Old toners should be placed
in any of the black toner recycling bins and unwanted output in the
blue paper recycling bins.
If you are unable to resolve a printer issue yourself, please email
help@maths giving the name and location of the printer. If a printer
is out of toner and you cannot find a replacement cartridge please
speak to a secretary.
There are two poster printers. Please carefully check any conference
posters for errors before printing the final version on the poster
printer.
http://www.maths.cam.ac.uk/computing/printing/
poster.html

Printing Tips and Rules

If a printer isnt working the best thing to do is remove your job from
the printer queue (use the lprm command) and send it to a different
printer.
If a PDF file wont print, try using a different PDF viewer.
To save paper, think before you print, print double-sided where
possible, and consider printing more than one page per side of A4.
Please use black and white printers where possible because the
colour printers cost three times more to print the same black and
white page.
Be careful to use the correct media for overheads/transparencies as
the wrong ones can melt inside the unit, make it unusable for several
days, and cost both time and money to remove.
We do not charge for printing, instead we expect responsible usage.
http://www.maths.cam.ac.uk/computing/printing/
cant_print.html
http://www.maths.cam.ac.uk/computing/printing/
rules.html

Remote Access

Whichever departmental Linux computer you log into you will see
the same files (home directory) and the same environment. If your
office is moved, there is no need to move your computer.
To connect to a departmental Linux computer from any Windows
machine, use Winex which will give you the same graphical
environment as when sitting at the Linux computer.
http://www.maths.cam.ac.uk/computing/win7/winex.
html
The Linux computers shut themselves down when idle and unused
to save energy, but ssh.maths.cam.ac.uk is always switched on.
We have further information on this topic at
http://www.maths.cam.ac.uk/computing/remoteaccess/general.
html

If you are using a laptop and want to see your department home
directory from it see:
https://www.maths.cam.ac.uk/computing/laptops/
homedir.html

10

Quota and Backups

Your home directory (where you store files by default) has a quota
and is backed up regularly. If you delete or overwrite a file you
wanted please refer to
http://www.maths.cam.ac.uk/computing/files/
backups/deletedfile.html
Up in the top right hand side of your desktop is a quota icon. If you
hover your mouse over the square with a percent in it, you will see
how much quota you have and how much you are using. The quota
command will give you the same information from the command
line.
Keep an eye on the files you download and create. By default
these are placed in the Downloads or Desktop subdirectory of your
home directory, and their disk usage soon mounts up. Items in your
Wastebasket or Recycle Bin also count towards your quota. You
need to empty the Wastebasket or Recycle Bin to completely remove
them.
http://www.maths.cam.ac.uk/computing/files/quota.
html

11

Additional File Storage

You have access to additional file space in the store spaces. These
have no quotas and only limited backup (two weeks of). Like your
home directory, the store spaces are accessible from any department
Linux computer.
We also have scratch spaces which are the hard disks of different
computers and are accessible only from the computer itself. These
are wiped when a computer is reinstalled. They are useful if you
want to write a file directly instead of across the network.
For how to use store and scratch space see:
http://www.maths.cam.ac.uk/computing/files/scratch.html

For a list of which storage spaces are available type store-space.


Please speak to your supervisor if you think your research group
should have its own storage space. The cost is 250 per terabyte.
Please keep all shared areas tidy, preferably by creating a directory
named after your crsid and placing your files within.

12

Email and calendars

The University email service is called Hermes.


The most
straightforward way to access it from anywhere in the world is via
webmail.
https://webmail.hermes.cam.ac.uk/
The notes on how to set up other email programs are at
http://www.ucs.cam.ac.uk/email
http://www.ucs.cam.ac.uk/email/muasettings
The department supported email programs are pine, thunderbird and
webmail. If you need assistance setting up your email program, we
can help you provided you are running one of these. Otherwise
beyond pointing you at which settings to use we may not be able
to actually configure your program.
Information for mobile devices is at
http://www.ucs.cam.ac.uk/mobiledevices
The universitys calendar service is:
http://www.ucs.cam.ac.uk/googleapps/calendar.html

13

Your @cam address and the lookup service

Your official Cambridge email address is crsid@cam.ac.uk. It is


important to make sure that email to this address is forwarded
somewhere that you read regularly. By default, it will be forwarded
to your Hermes account. You can check and edit your @cam
delivery address at
http://www.lookup.cam.ac.uk/
Please also check and fill out the other information on your
University lookup page. You can do this as soon as you have a Raven
account. The lookup service is used to search for people and for the
university email address book service.

14

Email Lists

Each member of the department should be on the


cms-all@maths.cam.ac.uk email list.
A list of Maths email lists with links to department-specific lists is at
http://www.maths.cam.ac.uk/internal/email_lists/
You can see which @lists.cam.ac.uk lists your @cam address is
subscribed to and subscribe to other lists from your lists page
https://lists.cam.ac.uk/mailman/
http://www.ucs.cam.ac.uk/email/lists/listmanaging.
html
For more information on email lists see
http://www.ucs.cam.ac.uk/email/lists

15

Computing News

We maintain a message of the day on the internal webpage telling of


important changes to the system.
http://www.maths.cam.ac.uk/computing/news/
The early hours of Wednesday morning are reserved for computer
reboots. We try to announce these at least a few days in advance on
the message of the day.
Note: If you are writing code that will run over a number of days,
we recommend you checkpoint it. While the Wednesday morning
reboots are planned, sometimes we have a power cut or someone
accidentally switches off a computer.
http://www.maths.cam.ac.uk/computing/policy/longjobs.html#
Preparing

Some people prefer to read the computer announcements by email.


We keep two lists. One which has all the announcements sent
to it (maths-motd-all), the other which only has really important
ones sent to it (maths-motd-important). Messages about upcoming
reboots are sent to both lists.
To sign up for these and other @lists.cam.ac.uk mailing lists, go to
https://lists.cam.ac.uk/mailman/

16

Software

The list of numerical and mathematical software, including Matlab


and Mathematica, is at
http://www.maths.cam.ac.uk/computing/software/
If we dont have software you need and it is free, you can try to install
it yourself. Some members of the department make their installed
code available for others to use. This saves multiple people from
installing the same code.
http://www.maths.cam.ac.uk/computing/software/
own.html
http://www.maths.cam.ac.uk/computing/software/
user-maint.html
Consider attending the free training course on how to install Unix
software.
http://www.training.cam.ac.uk/ucs/theme/unix?providerId=
36407

The UCS also sells software, but generally not for personal use so it
is best to ask us to order any software you need.

17

Scientific Computing

To learn about scientific computing please see the documentation.

http://www.maths.cam.ac.uk/computing/hpc_sci/
http://www.maths.cam.ac.uk/computing/mpi.html
You can search for Scientific Computingtraining courses at
http://www.training.cam.ac.uk

18

Guests and Visitors

Never give out your passwords.


If someone comes to visit you and theyd like WiFi access, generate
a wireless ticket for them here (select Colleague Tickets tab).
https://www.wireless.cam.ac.uk/person/self/
Or bring them to CMS Reception who can create longer-term tickets.
If you have a formal academic or official visitor staying more than
a few days see your group or pavilion secretary, preferably a few
days before the person arrives. They will issue your visitor with the
appropriate access.
If a new person is joining your group, your group/pavilion secretary
is the person to contact to arrange computer accounts. Please contact
the secretary at least a week before the person is due to arrive.

19

Privacy

All files you create on the department system are by default private
(readable only by you) and your email is also private.
If you want new files you create to be readable by other people, edit
the line at the end of your .bashrc file
umask 0077
to read
umask 0022
It is expected that people will not look at files not belonging to them
which they have no good reason to look at.
In Part 2 of this booklet we explain more about how to change who
can read your files.

20

Purchases

If you wish to buy a computer from your research grant funds, please
first check
http://www.maths.cam.ac.uk/computing/buying/
Then contact help@maths.
The University is a member of SUPC, which in summary means it
can purchase some hardware at discounted prices.
http://www.ucs.cam.ac.uk/support/
hardware-support/hwoverview
Broken Computers
The department fixes its own broken computers. Please email us if
your computer is broken, as we have no way to distinguish a broken
machine from one which is simply turned off.
For personal computers, a department computer officer may take a
quick look at your broken hardware (time dependent).

21

Sharing Resources

Please remember to consider others when working. For example


if you need to run code on lots of computers, leave some of the
better ones for others. Make sure your code doesnt slow down the
computer for interactive use.
http://www.maths.cam.ac.uk/computing/policy/longjobs.html

In store and scratch spaces, look at the total space available (df -h .).
Archive and compress or remove your files as you finish with them.
When a space fills a lot of people are inconvenienced.
Please remove personal data from the system before you leave.
It is impossible for the computing staff to know which files left
behind are left intentionally to share with others, and which are
left by accident. Clearing files when you leave frees up space for
newcomers.
If you are using the shared software area, make sure you keep your
index file up to date so that others can see what software you are
sharing with them.
http://www.maths.cam.ac.uk/computing/software/
user-maint.html
Leave public computers in a good state and report any problems with
them to the helpdesk.

22

Miscellaneous

Please leave your monitor on when you go home. It will


automatically go into a power-saving mode using virtually no
energy, and the computer will be able to keep track of the screen
resolution.
Always use the commands safeshutdown and safereboot to shut
down or reboot your desktop computer. These check that no-one
else is using it before shutting it down.
http://www.maths.cam.ac.uk/computing/powersaving.
html
If your computer is unresponsive and safereboot does not work,
email help@maths and one of the computer officers will
investigate.
If you want your computer or phone moved to a different network
socket, or have an unwanted computer in your office, email help@
maths.cam.ac.uk. Do not move it yourself as most network
sockets are not connected and will not work.
If you get pain in your arms, wrist or hands from typing, STOP and
take a break. Dont make it worse by continuing to type. The internet
has enough stories of people who could not work for months because
they ignored initial work related upper limb disorder pain.
http://www.uis.cam.ac.uk/health-and-safety/
upper-limb-disorders
If you need a different mouse or keyboard, contact the helpdesk.
23

Part 2 - Introduction to Unix

Our computer network consists mainly of Ubuntu 14.04 Linux


computers. The type of computer on your desktop depends largely
on what your group has purchased.
Many day to day tasks like reading email (webmail or thunderbird),
browsing the Web (firefox), running mathematical software like
Mathematica or Matlab, changing the appearance of your desktop
and moving files between folders can be managed with little
knowledge of the underlying system.
However, once you start to program, install software or analyse data
you will need to learn more.
A note on terminology: technically Linux is a Unix-like operating
system, however the terms Linux and Unix are often used
interchangeably, as in this booklet.

24

Education and Learning (basic and advanced)

If you have not used Unix before (or only used it for web-browsing
and email) please attend the UCS Introduction to Unix Course as
soon as possible. We strongly recommend this course.
The course runs over two half day sessions and is repeated several
times throughout the year.
http://www.training.cam.ac.uk/ucs/event/721643
For more advanced use of the shell and command line, please attend
the Simple Shell Scripting For Scientists course.
http://www.training.cam.ac.uk/ucs/event/722116
There are also courses offered in scientific computing.
To sign up for a course, start from
http://www.training.cam.ac.uk/ucs/theme
and choose the topic from the left-hand menu e.g. Unix (including
Linux) Systems & Use or Scientific Computing.
You will need your Raven password to sign up.
We have a Quick Reference List of Unix Commands online:
http://www.maths.cam.ac.uk/computing/linux/unixref.html

For detailed information about a command, use man. For example


man rm and man rmdir to see the manuals on removing files
and directories.
25

Starting

The default department desktop is Xubuntu. We have others installed


which you can use, but Xubuntu is the desktop we know most about.
Other desktops may not be customised for the Maths system as much
as Xubuntu is. In particular they do not all have the quota icon or a
customised menu to the Maths applications (Applications Maths
Programs).
For writing scientific programs and analysing data you need
some knowledge of the Command Line Interface (CLI) to the
UNIX operating system. This booklet contains many examples
of commands to type into the CLI. To obtain a Terminal window
(equivalent to a Command Prompt under Windows) click on the
black monitor icon at the top of your screen, or find it in the menus
(Applications Accessories Terminal Emulator).
When you have finished working on your computer, please log out
by selecting Log Out from the System menu. This will allow it to
shut itself down to save energy.
To reset your desktop to the default state, type xreset.sh, log out
and select the Xubuntu desktop (from an icon at the top right of the
login screen) before logging back in.

26

Shortcuts

The cursor keys (left and right, up and down) allow editing of the
current command and recalling of previous commands in an intuitive
manner.
Note also that pressing {TAB} when part-way through typing a file
name will cause the rest of the file name to be filled in automatically
if it is unique. This trick also works for command completion (type
his then press {TAB}).
The wild cards ? and * can be used to stand for any one character,
and any string of characters respectively:
# ls lists files, rm removes (deletes) files
$ ls
a.dat b.dat results.dat write-up.txt
$ ls ?.dat
a.dat b.dat
$ ls *.dat
a.dat b.dat results.dat
$ ls *
a.dat b.dat results.dat write-up.txt
$ rm *
$ ls
$

In this way the CLI is much more powerful than using the mouse
and the file-manager.
rm * should be used with considerable caution.
rm -r * should be used with EVEN more caution as the -r means
a recursive removal of all files and directories.

27

Filenames

As you may surmise from the previous page, having a ? or * in


a filename can cause confusion. So can spaces in filenames. While
using these characters in filenames is not absolutely forbidden, until
you are much more confident with Unix it is best to stick to the
following characters.

Letters and numbers.


Underscore ( ).
Hyphen (-) and full stop (.), but not at the beginning of a
filename.
Unix filenames are case-sensitive i.e. it is possible to have three
different files in the same directory called MYFILE, MyFile and
myfile.

The only character which is absolutely forbidden in a Unix filename is /, because this
separates the components of a path like /home/eva/test files.

28

Programs and Applications

This booklet uses the terms application and program interchangeably.


People tend to use the term program when they use the Command
Line Interface (CLI) to type in the name of the program, and
application when they click a menu item or double click an
application icon.
We use the Terminal application to access the CLI. Click on the
black Terminal icon, or select from the menus (Applications
Accessories Terminal Emulator).
Terminal allows a shell or command interpreter to run. This
obeys our commands and produces a prompt consisting of the
machine name followed by the current directory. (A directory is
what Windows, MacOSX and some mobile phones call a folder.)
Assuming you are in your home directory your prompt will look like
this
crsid@machine: $
Owing to space restrictions, in this booklet the prompt will be shown
as a simple $.

means your home directory, user1 means user1s home directory.

29

Starting Programs and Applications

From the CLI programs which are on your PATH are started by
typing their name:
$ firefox &
(the & sign causes a background process. This means you get
your prompt back immediately so that you can start other programs
without waiting for the firefox program to exit.)
The PATH and where a program is found on the PATH can be seen
with
$ echo $PATH
$ type firefox
Not all the locations you will put programs are on your PATH. To
start a program you have downloaded (e.g. with firefox):
$ cd Downloads
$ ./prog-01
(Without the & this is a foreground process. This will run the
program from the CLI and only return you to the shell prompt when
the program finishes/exits.)
You will learn more about this on the recommended CLI course.

30

Home Directory

Under the Places menu (which is beside Applications) is your Home


Folder marked with a house icon and your CRSid. This is your initial
working space. By default all your files are stored here.
The Home Folder is known as your Home Directory in UNIX
terminology. In a similar manner the Folders in your Home
Directory are known as Directories in UNIX terminology.
An alternative way of viewing the files and directories in your Home
Directory is to use the CLI. You can see what files are present by
typing cd to move to your home directory and then ls to list the
contents.
$ cd
$ ls
private/ public_html/ shared/
public/ results.dat
thesis.tex
Regardless of which Unix computer you log into, you will always
start in your home directory. This means that you can use any of the
computers in your office or on the benches.
Your home directory is called /home/crsid or for short. ls
will list the contents of your home directory without changing your
current directory, and cd is an alternative way to return to your
home directory.

This can be likened to My Documents under Windows or Home on a Mac.

31

Quota

As explained in Part One your Home Directory has a quota. The icon
at the top right hand side of your screen shows your quota usage.
Alternatively you can check your quota with the CLI:
$ quota
Disk quotas for user evatest3 (uid 1016):
Filesystem blocks
quota
limit
grace
rpc-serv1.maths.cam.ac.uk:/local/home/stats
83972 2097152 2097152

files
1337

This person is using about 82MB (83972 / 1024) of a 2GB quota.


We do not have a limit on how many files people can have.
Be careful not to run out of quota because then odd things
happen. For example your web browser may end up with corrupted
bookmarks, you may be unable to save a file in your home directory,
or the system may not allow you to log in.
To get more quota email help@maths and specify how much more
quota you need.

32

quo

Hidden Files

Your home directory contains some hidden files and directories


whose names start with a full stop. To list these files use View
Show Hidden Files in the file manager. Or on the command line
$ ls -a
.bashrc .emacs .gconfd/ .gnome2/ .login .vimrc
Only edit these dot files if you know what youre doing. An error
in these can prevent the associated application from working or lock
you out of your account. If you do run into difficulties from trying
to modify these files email help@maths.cam.ac.uk.
You can learn about the commands in your .bashrc file with
man bash
Press / to search for the command you are interested in.

33

Who can read your filespage 1

There are three sets of peopleyou, your Unix group and


everyone else on the system. Use the Properties function in the File
Manager (Places CRSid, or double-click the Home icon on your
desktop) to view or amend who can read or execute a file. Select the
file or directory with the right mouse button, then select properties
and then the permissions tab.
Our Unix groups are loosely based on research/department groups,
but sometimes two or more smaller research groups are combined. If
you want to have some files which are readable (or writable) by your
research group but not by everyone on the system, its best to email
help@maths and ask them to create a small group for you. Tell them
exactly who needs access to these files.
You can also change who has access to your files with the CLI. This,
while initially harder to learn, is useful when you have many files
you would like to update at once.
For this you use the chmod command.
For more information see:

http://www.maths.cam.ac.uk/

computing/linux/unixinfo/perms.html

Technically even if someone can read a file it doesnt mean they


should read the file unless they have the owners explicit permission
to do so.

34

Who can read your filespage 2

By default no-one else can read any of your files. To make all
your new files readable by everyone else on the system, replace the
umask line at the end of your .bashrc with
umask 0022
To make an existing directory and everything in it readable by
everyone else, type
chmod -R go+rX my_directory
CAUTION: Dont do this for your home directory. Some computergenerated hidden files may contain passwords or other confidential
information.

35

Who can read your filespage 3

$ ls -l thesis.tex
-rw-r--r-- 1 crsid

group

rwrr 1 mjr19

Access permissions

File owner

3410 Oct

12 15:13 thesis.tex

2 15:13 thesis.tex

Length (bytes)

Files group

File type
normal file

tcm

3410 Oct

File name

Time last modified

Link count

d directory

(1 for files, 2 or more for directories)

l link

Access permissions:
File
r Readable
w Writable
x eXecutable

Directory
ls works
File deletion and creation work
Can access files within directory.

The first three characters refer to the files owner.


The next three to people in the files group.
The final three to everyone else.

ls -ld * will list actual directories in long format, whereas


ls -l * will list the contents of each directory in long format.

36

Creating Documents

A text editor is not a word processor, and vice versa.


Word processors like Microsoft Word break up lines spontaneously
and concern themselves with the minuti of typography. This can be
useful when trying to format a document nicely for publication (see
next page on LATEX for an alternative which is better at formatting
maths) but not when programming.
LibreOffice is the Unix systems equivalent of Microsoft Office. It
is under Applications Office. LibreOffice can read and write
Microsoft Office documents.
Text editors are used to edit plain text files. This includes source code
e.g. shell, C or Fortran programs, LATEX, and HTMLbasically,
anything you can type in. Windows has a very basic text editor
called Notepad. Linux has more advanced text editors which can
automatically highlight parts of your source code in different colours
to make it easier to read.
Text editors are usually started from the command line, or can be
found in the menus under Applications Accessories. Of the many
text editors available, we know most about emacs, gedit and vim.

37

LATEX

LATEX is a text processing system which is particularly suited for


producing technical documents. It encourages users to focus on
the structure and content of their documents rather than the precise
details of the layout.
LATEX is used in a slightly different manner from WYSIWYG (What
You See Is What You Get) word processors. First you create a .tex
file using a text editor, then you convert it into a form which you can
view on screen.
Windows users can create LATEX documents with the TeXnicCenter
program. Linux users can type the following commands:
latex file.tex
xdvi file.dvi &
dvips -Pps2 file.dvi

# Create file.dvi
# View file.dvi
# Print file.dvi to printer ps2

pdflatex file.tex
evince file.pdf

# Create file.pdf
# View and optionally print file.pdf

The UCS run a LATEX training course.


http://www.training.cam.ac.uk/ucs/event/721788

The # sign indicates that the rest of the line is a comment which the computer will ignore.
You do not need to type these, but if you are cutting and pasting from an electronic form of this
booklet it is harmless to leave them in.

38

Viewing files

For text files there is no need to open an editor just to view their
content. To view a file using the mouse, double click on that file. If
this fails, right-click and choose a program to view the file with.
To view a text file with the CLI use the command cat or less.
less will show you the file page by page while cat will display
the whole file at once and you may need to use the terminal scroll
bar to see the beginning of the file.
For non-text files like PDF files, use the appropriate installed
software readers, for example evince for PDF files:
$ evince thing.pdf &
If you do not know what to use to open the file try using:
$ xdg-open thing.jpg
cat is also useful for merging the content of two or more text files.
$ ls
paper1.txt paper2.txt
$ cat paper1.txt paper2.txt > papers-combined.txt
$ ls
paper1.txt paper2.txt papers-combined.txt
Use > to send output to a file, and >> to append output to a file.
Use | to send the output to the input of another command.
For example to display all processes, one page at a time:
$ ps -A | less
39

Simple File Operations

Files can be copied, moved (renamed) and removed (deleted).


The CLI commands are cp, mv and rm.
Be Careful!: deletion is irreversible!
$ ls
result.dat thesis.dvi thesis.tex
$ cp thesis.tex new_book.tex
$ rm thesis.dvi
$ mv result.dat results.dat
$ ls
new_book.tex results.dat thesis.tex
The best way to learn all file operations using the graphical file
manager is to experiment and read through the help pages (from the
File Manager window, Help Contents Read Online).
Files in the Rubbish Bin are not actually deleted and still count
towards your quota though they are not backed up. To empty
your Rubbish Bin, double click on the Rubbish Bin icon on your
desktop, then File Empty Wastebasket.
Or type rm -rf .Trash from the command line.

40

Tidiness

It is best to place files in tidy groups in sub-directories, rather than


having everything in one directory. The CLI offers mkdir which
creates a directory, and rmdir will remove one provided it is
empty. The cd command changes the current directory.
$ mkdir test
$ ls
thesis.dvi
private/
test/
$ rmdir test
$ ls
thesis.dvi
private/
$

results.dat

thesis.tex

results.dat

thesis.tex

For the adventurous you can remove directories with contents (and
all sub-directories) using the rm command with the -rf options:
$ rm -rf stuff
Be careful!
To create a new sub-directory using the graphical interface open your
Home Folder then File Create Folder.

41

Where Is It?

If you created a file but you cant remember where you put it, there
are various search mechanisms.
find is a standard Unix command, hlocate is a local command which
searches your home directory. You can use either of the following
two commands to search for a file with thesis in its name:
find -name "*thesis*" -print
hlocate thesis
You can also search by content, although this is slower than
searching by name as the shell needs to look inside every file. To
search for a file within the current directory which contains the word
Internet:
find . -type f -print | xargs grep Internet
More on searching for files:
http://www.maths.cam.ac.uk/computing/files/finding.html

If it turns out that the file was deleted rather than simply mislaid, see
the earlier page on backups.
http://www.maths.cam.ac.uk/computing/files/
backups/deletedfile.html

42

Trees
Directories form a tree: each directory has one parent directory, and
may have multiple sub directories. A file name is assumed to refer
to the current directory. Other locations can be specified by forming
a path using / to separate the components of the path, .. to refer
to a directorys parent, . to start a relative path and / to start an
absolute path.
$ ls -F
a/ results.dat
$ cp results.dat a/results.dat
$ ls -RF
.:
a/ results.dat
./a:
results.dat
$ ls ./a
results.dat
$ mkdir b
$ cd b
$ cp ../a/results.dat .
$ cd ..

ls -F distinguishes directories by placing a / after their names.


ls -R lists all sub directories in a recursive fashion.
cd typed on its own returns one to ones home directory.
A similar tree effect can be seen with the File Manager by using
View View as List and expanding and collapsing the directories.
Recursion
It is a very useful thing to have Unix commands recurse through a
directory tree. man ls, man grep etc. will help. Remember
that using a recursive command on a BIG directory tree can take a
LONG time, so think before hitting the Enter key.
43

Stopping Runaway Programs


It is usual to run several processes (programs) simultaneously.
A web-browser runs as an individual process, as does an email
program, an editor and a compiler.
Occasionally it is necessary to exercise some direct influence over
processes.
For example you may want to stop a program running, maybe you
opened xv to see what it did and now cant get out of it. From
another terminal or xterm use the killall command.
$ killall xv
The command ps -A will show all the processes running on a
machine. This may be overwhelming, so
$ ps -u crsid
or
$ ps -A | grep crsid
may be more helpful. Also pgrep and pkill on Linux.
Each process has a unique identifier, its Process-ID (PID). To request
that a process with a PID of 1234 exits, type
$ kill 1234
If that fails, try to force the process to shut down, although this gives
the application no opportunity to shut itself down neatly.
$ kill -KILL 1234
If that fails, email help@maths.cam.ac.uk.
Note that you cannot stop processes you do not own!
xv is a useful application for cropping and changing the size of images. When you start it
you need to know to click with the right mouse button to get the menu

44

Sharing Resources

When you run programs on different machines it is important to


share the available resources with other people. Running code on
every computer will leave nothing for anyone else.
The Maths online documentation has a list of rules for running code
and advice on how to make your program nice to both the system
and other users. Following these rules allows others to use the
computer while your code is running. This is essential on our shared
network.
http://www.maths.cam.ac.uk/computing/policy/longjobs.html

The command top will produce a continuously-updated list of


running processes. Dont leave it running for ever: press q after
a while.
To see how much memory a computer has
$ cat /etc/motd
or see the computer list:
http://www.maths.cam.ac.uk/computing/comptable/

45

Large Files

Data files tend to be large. Often too large for storing in your home
directory. Programs that write data to your home directory may quit
unexpectedly when your quota fills up. store areas, described in
Part 1, are dedicated storage typically used for long term storage of
data.
To see which store areas you have access to, type store-space.
Everyone has access to their departments store area and some
research groups have paid for store areas of their own.
To create your store space in one of the areas listed, type e.g.
store-space create DPMMS
This will create a directory /store/DPMMS/crsid which can then be
accessed with the cd command like any other directory.
Owing to the automounter only having the store areas actually in use
mounted at any given time, you cannot access /store/DPMMS via
the GUI without first going via the command line. To get around
this you can create what is called a symbolic link
$
$
$
$

cd
mkdir mydata
cd mydata
ln -s /store/DPMMS/crsid/ mystorespace

Now when you double click on your folder mydata, you will see
mystorespace. Double clicking on it will bring you direct to the
store space you created.
46

Where to Store FilesScratch Spaces

In addition to your home directory and the store areas, each


computer has its own scratch space for storing files. This
was described briefly in part 1 of this booklet. Note that you can
only access a computers scratch space on that computer.
Use a computers scratch space to store data from running
code on that computer. It is much quicker to write data locally
than write data over the network (e.g. to a store area or homedirectory).
When your code has finished move the datafile to a more reliable
storage place, for example /store space, if you want to keep it.
$ cd /local/scratch/public/
$ mkdir /local/scratch/public/crsid
Or use the GUI interface. Start by double-clicking on File System
then go through local, scratch and public.
The scratch areas can be used to store Internet downloads or
images as these are recoverable if the disk dies and not so valuable
that you should use your home directory quota on them.
An unsafe area for saving files is /tmp.

47

Accessing Maths Computers Remotely

A list of Maths Linux computers:


http://www.maths.cam.ac.uk/computing/comptable/

You can wake up computers from here if they are powered down.
To log into any Maths Unix machine from another:
$ ssh computer1
From a Unix computer outside Maths use an ssh client to connect
to the full name e.g. ssh.maths.cam.ac.uk (which is always
switched on).
$ ssh -C -Y crsid@ssh.maths.cam.ac.uk
Sometimes options need to be passed to ssh. For example -Y when
running remote graphical applications like matlab or firefox and -C
to compress data if your home broadband is slow.
For Windows computers putty is the recommended ssh client.
Note: this will only give you a text-based session. If you want a
graphical session use Winex instead.
http://www.chiark.greenend.org.uk/sgtatham/putty/
http://www.maths.cam.ac.uk/computing/win7/winex.html
http://www.maths.cam.ac.uk/computing/remoteaccess/general.
html

48

File Transfer

Use rsync to synchronise files between different areas. For


example to copy your Maths home directory to your laptop:
laptop$ mkdir my_maths_files
laptop$ rsync -avz \
CRSid@ssh.maths:/home/CRSid/ my_maths_files

Copy files from your laptop to a Maths data area (this copies the
directory laptop data into /data/septal/crsid):
laptop$ rsync -avz \
laptop_data ssh.maths:/data/septal/crsid/
Note that the EOL \ means the command continues on the next line.
See also
http://www.maths.cam.ac.uk/computing/files/
linux_file_transfer.html

49

Conclusion

The UNIX Command Line Interface (CLI) is fantastically useful and


learning it sooner rather than later is advised.
http://www.training.cam.ac.uk/ucs/event/721643
Should you really, really not have time to attend this half day course,
you can download, print and read the course notes instead.
http://www.ucs.cam.ac.uk/docs/course-notes/unix-courses/
UnixCLI

Leaving learning these skills until the last minute when you have
a thousand data files to manipulate and no time to learn, means
repeating the same action over and over and over and over. . . . The
shell and CLI provide tools to greatly simplify this sort of activity.

50

Part 3 - Glossary of Terms

This section lists some useful command and summarises their use.
To find out more about any of them run man command-name or use
google.
There are lots of additional programs under the Applications menu
on your desktop.
awk
Manipulates files.
bash
Default shell. Look for Bash unix shell on wikipedia for a brief
history and list of keyboard shortcuts. For more information man
bash.
bunzip2
Uncompress a file.
bzip2
Compress a file to save space.
cal
Shows this months calendar. For the whole year run cal 2016.
cd
cd when run on its own changes to your home directory.
51

cd when given an argument changes to that directory


cd /store/DAMTP/crsid
cat
Display a file.
Or concatenate (merge) two or more files together.
cat file1 file2 > file3
chmod
Change the permissions on a file, usually to grant or deny others read
access or to make a file executable.
cp file1 file2
Copy file one to file two. Be careful. This may overwrite file two if
it exists.
cp file1 file2 file3. . . dir will copy multiple files to a directory.
date
Show date and time.
du dirs. . .
Show disk usage of the directories. Useful when you are running
down on quota and trying to figure out where your space is used up.
To list your files and directories by size, typically from your homedirectory run du -sk * .??* | sort -n
diff filename1 filename2
52

Show differences between two files.


echo text
Repeats its arguments. Useful for displaying the values of system
variables e.g. echo $PATH and in scripts for keeping the user
informed.
emacs
Traditional unix editor. Graphical. Has old fashioned computer
games under its Tools menu.
env
Display environment variable settings.
file filename
Guess the type of file. Useful when a file has no extension (.pdf, .txt
etc). While it is not always accurate, if it says that a file is any sort
of text, you can safely read it without messing up your screen.
find
Find a file. Typically used when you know a file is somewhere
in your home-directory or a certain data space and you cannot
remember which sub-directory it is in.
find . -name test Find all files starting with the string test
under the current directory.
firefox
Web browser.
53

firefox -ProfileManager start firefox by creating or selecting a new


profile. It can be useful to try a new profile when something
goes wrong and you cant tell if its your firefox or happening for
everyone.
gedit
Graphical unix editor.
grep string filename
Find some text in a file.
gvim
Graphical edition of the traditional unix editor vim.
head filename
Displays the top ten lines of a text file.
history
Displays the last commands you ran.
LATEX
LATEX is used for writing mathematical papers; its strength is in
displaying mathematical equations. The programs kile and
texstudio are used for writing LATEX documents. These
programs give you the ability to use all the functionality of LATEX in
a graphical environment, for writing, compiling and viewing LATEX
documents.
These programs contain LATEX reference material and the Internet
contains numerous guides to LATEX.
54

kile
GUI LATEXprogram.
kill
kill pid Ask a process to exit.
kill -KILL pid Tell a process to exit.
killall program-name
Causes all instances of program to be killed.
less filename
View a file, page at a time. Keystrokes include:

q - exit, , up and down one line


b - back one page, {space} - next page
G - end of file, 1G - beginning of file
lpr file
Print a file (text or Postscript) to default printer.
To print to a named printer append the printer name. lpr -Pprintername filename
lpq
List printer queue (can add -P).
ls
55

List contents of directory.


To list contents with sizes etc., and sorted by modification time ls -ltr
man command
On-line manual.
man -k keyword Search on-line manual for a keyword.
mkdir directory
Make directory.
mv file1 file2
Move (rename) file1 to file2, deleting file2 if it exists.
Move multiple files to a directory
mv files. . . directory
pico
Unix editor.
pine
Email program.
ps
Shows running processes.
ps aux list all processes.
ps -elf list all processes.
quota
56

Show filespace quota.


rm filename
Deletes Files.
rmdir directory
Remove directory (if empty).
sed
text replacement.
ssh computer-name
Connect to another computer.
sort
For sorting files.
tail filename
Displays the last ten lines of a text file.
texstudio
Graphical LATEX program.
thunderbird
Email program.
tidy
Validate a webpage. Its important to keep webpages accessible to
all.
57

$ tidy -asxhtml file.html > newfile.html


time command
Time a simple command.
top
View process activity. Press q to quit.
tr
Changing characters.
vim
Traditional unix editor.
w
w shows who is using a computer, what command they are running
and the load on the computer.
wc filename
Count lines and words in text file.
whereis program-name
Tells you where a program is installed.
who
Who is logged onto a computer.
xdg-open
58

Open a file. This program will take a guess at what file type a file is
and open it with the appropriate piece of software.
xterm
Opens a new command shell in a window.

59

*, 27
/, 43
?, 27
>, 39
>>, 39

xdg-open, 39
xterm, 29
xv, 44

backups, 11
cat, 39
cd, 31, 41
chmod, 34
cp, 40
evince, 39
groups, 34
home directory, 31
kill, 44
killall, 44
less, 39
ls, 31, 36, 43
mkdir, 41
mv, 40
path, 30
permissions, 36
ps, 44
rm, 27, 40, 41
rmdir, 41
terminal, 29
text editors, 37
wild cards, 27
60

Potrebbero piacerti anche