0% found this document useful (0 votes)
59 views

Unix Basics

This document provides an overview of Unix and instructions for accessing and using an instructional work server (IWS) running Unix. It discusses that Unix is a multi-user networked operating system designed for server use. It then provides directions for connecting to the IWS using SSH or secure file transfer and logging in. It outlines basic Unix commands for navigating directories, listing and manipulating files, and editing and printing text. It also discusses compiling and running simple programs.

Uploaded by

shubm
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views

Unix Basics

This document provides an overview of Unix and instructions for accessing and using an instructional work server (IWS) running Unix. It discusses that Unix is a multi-user networked operating system designed for server use. It then provides directions for connecting to the IWS using SSH or secure file transfer and logging in. It outlines basic Unix commands for navigating directories, listing and manipulating files, and editing and printing text. It also discusses compiling and running simple programs.

Uploaded by

shubm
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

What is Unix?

• A multi-user networked operating system


– “Operating System”
• Handles files, running other programs, input/output
• Just like DOS or Windows
– “Networked”
• Designed for server use
• Networking is an intrinsic part of the system
– “Multi-user”
• Every user has different settings and permissions
• Multiple users can be logged in simultaneously
• Tons of fun!!! ☺
This tutorial provided by UW ACM
http://www.cs.washington.edu/orgs/acm/
Questions to hctang@cs, zanfur@cs, awong@cs

IWS (Instructional Work Servers)


• Accessing the server (i.e., green):
– Terminal Programs:
• telnet (insecure; cannot be used)
• ssh (via the TeraTerm or Putty programs)
– Start -> Program Files -> Desktop Tools -> TeraTerm
– File Transfer Programs
• ftp (insercure; cannot be used)
• \\<server name>\<username>
– Start -> Run
– e.g -- \\fiji\zanfur
• Secure file transfer (from C&C)
– Xwindows
• Come to the ACM tutorial!

1
Logging In
• Which server you use (almost) doesn’t matter – all four
allows access to your files
• Although your Windows and Unix usernames (and
passwords) are the same, they are two separate
accounts
– Your z: drive is not your Unix account
• Connecting:
– We’ll connect to the Unix machines via ssh
– After connection, you are presented with a login prompt
– After logging in, you’re placed in your home directory
(where your personal files are located)

The Command Prompt


• Commands are the way to “do things” in Unix
• A command consists of a command name and options called
“flags”
• Commands are typed at the command prompt
• In Unix, everything (including commands) is case-sensitive

[prompt]$ <command> <flags> <args>


fiji:/u15/awong$ ls –l -a unix-tutorial

Command (Optional) arguments


Command Prompt
(Optional) flags

Note: In Unix, you’re expected to know what you’re doing. Many


commands will print a message only if something went wrong.

2
Two Basic Commands
• The most useful commands you’ll ever learn:
– man (short for “manual”)
– info
• They help you find information about other commands
– man <cmd> or info <cmd> retrieves detailed information
about <cmd>
– man –k <keyword> searches the man page summaries
(faster, and will probably give better results)
– man –K <keyword> searches the full text of the man pages

fiji:/u15/awong$ man –k password


passwd (5) - password file
xlock (1) - Locks the local X display
until a password is entered
fiji:/u15/awong$ passwd

Directories
• In Unix, files are grouped together in other files called
directories, which are analogous to folders in Windows
• Directory paths are separated by a forward slash: /
– Example: /u10/hctang/classes/cse326
• The hierarchical structure of directories (the directory
tree) begins at a special directory called the root, or /
– Absolute paths start at /
• Example: /u10/hctang/classes/cse326
– Relative paths start in the current directory
• Example: classes/cse326 (if you’re currently in /u10/hctang)
• Your home directory is where your personal files are
located, and where you start when you log in.
– Example: /u10/hctang

3
Directories (cont’d)
• Handy directories to know
~ Your home directory
.. The parent directory
. The current directory
• ls
– LiSts the contents of a specified files or directories
(or the current directory if no files are specified)
– Syntax: ls [<file> … ]
– Example: ls backups
• pwd
– Print Working Directory

Directories (cont’d further)


• cd
– Change Directory (or your home directory if unspecified)
– Syntax: cd <directory>
– Examples:
• cd backups/unix-tutorial
• cd ../class-notes
• mkdir
– MaKe DIRectory
– Syntax: mkdir <directories>
– Example: mkdir backups class-notes
• rmdir
– ReMove DIRectory, which must be empty
– Syntax: rmdir <directories>
– Example: rmdir backups class-notes

4
Files
• In Unix, unlike Windows,, file types (e.g. “executable
files, ” “data files,” “text files”) are not determined by
file extension (e.g. “foo.exe”, “foo.dat”, “foo.txt”)
• Thus, the file-manipulation commands are few and
simple …

• rm
– ReMoves a file, without a possibility of “undelete!”
– Syntax: rm <file(s)>
– Example: rm tutorial.txt backups/old.txt

Files (cont’d)
• cp
– CoPies a file, preserving the original
– Syntax: cp <sources> <destination>
– Example: cp tutorial.txt tutorial.txt.bak
• mv
– MoVes or renames a file, destroying the original
– Syntax: mv <sources> <destination>
– Examples:
• mv tutorial.txt tutorial.txt.bak
• mv tutorial.txt tutorial-slides.ppt backups/

Note: Both of these commands will over-write existing files


without warning you!

5
Shell Shortcuts
• Tab completion
– Type part of a file/directory name, hit <tab>, and the shell will finish as
much of the name as it can
– Works if you’re running tcsh or bash
• Command history
– Don’t re-type previous commands – use the up-arrow to access them
• Wildcards
– Special character(s) which can be expanded to match other file/directory
names
* Zero or more characters
? Zero or one character
– Examples:
• ls *.txt
• rm may-?-notes.txt

Editing Text
• Which text editor is “the best” is a holy war. Pick one and
get comfortable with it.
• Three text editors you should be aware of:
– pico – Comes with pine (Dante’s email program)
– emacs/xemacs – A heavily-featured editor commonly
used in programming
– vim/vi – A lighter editor, also used in programming

6
Printing
• Printing:
– Use lpr to print
• Use –h (no header) and –Zduplex (double-sided) to save paper
– Check the print queue (including Windows print jobs!) with lpq
– lprm to remove print jobs (including Windows print jobs)
– For the above commands, you’ll need to specify the printer with
–P<printer name>
• Check out enscript (quizlet: how do you find information about
commands?) to print text files nicely!
– WARNING: Do NOT use enscript with postscript files!

Programs and Compilation


• To compile a program:
– g++ <options> <source files>
– Recommended: g++ -Wall –ansi –o <executable_name> *.cpp
• -Wall – Warnings: ALL
• -ansi – Strict ANSI compliance
• Quizlet: what does *.cpp mean?
• What’s an “executable”?
– In Windows, double-clicking on an icon runs a program
• E.g. double-click on C:\Windows\notepad.exe
– In Unix, you can run your executable from the command line!
• Type the executable name at the prompt, just like a command
– In fact, commands are actually executables
• However, you may need to specify the path to your executables
– ./<program> runs <program> in the current directory
• Example:
ceylon:ehsu% g++ -Wall –ansi –o hello hello.cpp
ceylon:ehsu% ./hello

You might also like