570 likes | 641 Views
Welcome to Unix. Redistribution. The authors (nor anyone else) provides no warranty or claim of accuracy of this document. Use at your own risk. You may use this document in whole or part according to the terms of the GPL. See http://www.gnu.org/copyleft/gpl.html for details. Outline.
E N D
Redistribution • The authors (nor anyone else) provides no warranty or claim of accuracy of this document. Use at your own risk. • You may use this document in whole or part according to the terms of the GPL. See http://www.gnu.org/copyleft/gpl.html for details.
Outline I. getting help II. the file system III. the shell V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X
What is it and where do you get it? • An operating system used on everything from servers to embedded systems. • Most of the Network users first login to Unix machine before they really access to routers and switches
Where do you get Help ~>man command • gives you help on that command. • tells you all man pages that contain keyword. • Of course .. Google or Wiki
Outline I. getting help II. the file system III. the shell V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X
Files and Directories:Naming something gives you power over it.
File system commands • pwd - report your current directory • cd <to where> - change your current directory • ls <directory> -list contents of directory • cp <old file> <new file> - copy • mv <old file> <new file> - move (or rename) • rm <file> -delete a file • mkdir <new directory name> -make a directory • rmdir <directory> -remove an empty directory
getting recursive • remove a directory and its contents: rm -r <directory> • copy a directory and its contents: cp -r <directory>
File permissions. • There are 3 kinds of people in the world: you (user), your friends (group) and everyone else (other). • Each sort of person may or may not be able to read, write, or execute a file. >ls -l .forward -rw-r--r-- 1 darin csua 23 Jan 23 2002 .forward Chown >ls -l .cshrc.local -rwxr-xr-- 1 darin csua 2988 May 19 00:48 .cshrc.local*
executing • “executing” a file means running it as a program. • “executing” a directory means setting your current directory to it using cd.
Changing File Permissions • make a file readable to your friends: chmod g+r <filename> • change who owns a file: chown <user> <filename> • change to which group the file belongs: chgrp <group> <filename>
touch • look at the full listing again: >ls -l .forward -rw-r--r-- 1 darin csua 23 Jan 23 2002 .forward • Each file has a date stamp of when it was modified. • Use touch to set the timestamp to the current clock. touch <filename> • Touch creates the file if it didn’t exist beforehand. • You can only touch a file to which you can write.
Symbolic Links • use ln -s <old file> <second name>to create a symbolic link to a file. >ls -l .forward* -rw-r--r-- 1 darin csua .forward drwxr-xr-x 1 darin csua .forward.link@ -> .forward • The first “l” tells you that it’s a symbolic link. • Symbolic links can be used as if it were its target.
Outline I. getting help II. the file system III. the shell V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X
what’s a shell? • The shell is the program that runs when you log in. It prints the prompt and reads what you type, invokes programs, etc. • your window to the Unix world. • use “chsh <new shell>” to change your shell
File Globbing • some commands can work on many files at once: ~> rm file1 file2 file27 • Use * to match any number of unknown characters ~> rm file* • Use ? to match one unknown character. ~> rm file??
(un)aliasing • create shortcuts for yourself ~>alias ll “ls -la” Use alias with no arguments to discover current aliases ~>alias rm rm -i ll ls -la • Type “unalias rm” to remove alias.
shell variables, echo (tcsh) ~>setenv BOB “joe” (tcsh) ~>printenv BOB joe (tcsh) ~>echo $BOB joe
PATH: a very important shell variable >echo $PATH /home/d/da/darin/bin:/opt/local/bin:/opt/local/bin/pbmutils:/usr/bin:/usr/sbin:/opt/SUNWspro/bin:/usr/ccs/bin:/opt/local/X11/bin:/usr/dt/bin:/usr/openwin/bin:/opt/local/gnu/bin:/opt/local/games/bin:/usr/ucb:./ • If a program (like ls) is in one directory found in your path, then typing it (~>ls <enter>) will execute it. • Otherwise you can type the full absolute address to execute a program (~>/usr/bin/ls <enter>)
finding things in your PATH. • Type “which <command>” to find the location of the program which would be run when you type <command>. • If you don’t remember if it was chgrp or chgroup, type “ch<control-d>” to get a list of commands that starts with ch. • when all else fails, use “find” to find a file. ~>find <start dir> -name “*.doc”
Other useful pre-defined shell variables • HOST what computer you’re logged into • PAGER program used display man pages • PWD current directory • GROUP what group you’re in • USER your login
Shell scripts. • If you have a bunch of commands you’d like to automate, you can put them on separate lines of a file. Then type “source <file>” to run the script. • If the first line of your script looks like #!<program name> then you can make the script executable. When it executes, it uses <program name> to interpret the contents of the script.
Login scripts • Most people have a script that executes when they log in. It is commonly used to set up one’s PATH and aliases. • Ask someone to help you start your own login script.
screen is your friend • You can use the program “screen” to run several shells from one window. • create a new shell by pressing <ctrl-a> c • switch shells by pressing <ctrl-a> <number> • use “<ctrl-a> d” to detach a session and come back to it later.
Outline I. getting help II. the file system III. the shell V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X
Your Options • Abstinence (switch majors, unplug your computer) • monogamy (use only one computer, do not use network) • protection (also known as encryption)
What not to use. • telnet, ftp, rlogin • all your data (including your password) is transmitted plain text over the network. • from library machines you can use the java ssh client from a web browser.
using ssh keys • use “ssh-keygen” to generate a public/private set of keys. You keep the private key and append the public key to authorized_keys. • You can now log in using either your password or the private key file.
using secure copy: scp • copy local to remote scp <source file> user@machine:<path> • copy remote to local scp user@machine:<path> <source file>
Outline I. getting help II. the file system III. the shell V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X
the program mail • “mail”: useful for sending: >mail darin@csua Subject: hello Cc: hi there this is a message .
other console based options • elm - quick and simple, easy to use, but doesn’t handle attachments very well. • pine - more complete. the “standard” • mutt - most modern/complex.
accessing mail remotely • netscape, outlook, eudora, and others can get at your mail using POP or IMAP. • POP takes the messages off the server to your local computer. • IMAP only reads headers, but leaves mail how it is on the server. Works well if you wish to use console based email. • ALWAYS use SSL (encryption).
Outline I. getting help II. the file system III. the shell V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X
vi • is an editor available on all decent Unix systems. Developed at Berkeley. • Has two modes: command and insert. In insert mode you can type normally. • Press escape to get into command mode. In command mode each letter is a command. hjkl
pico - the pine composer • the simplest visual editor available on most Unix systems. • all possible commands displayed at bottom of screen. (control-somethings) • no real surprises
Outline I. getting help II. the file system III. the shell V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X
STD* • All terminal programs have: • standard output, which is usually your screen • standard input, which is usually your keyboard • standard error, which is also the screen
redirect output to a file with > • If you type who at the prompt, you will get a list of who is logged into the system. • If you type who >f, a file named f will be created and the standard output of who will be placed in that file instead of to your screen.
> vers >> • By default, who >f will overwrite the file f. • Use who >>f to append to f rather than overwriting it.
redirecting input from a file with < • The program sort will sort its standard input and then print it on standard out. • To sort the lines of file1 and display: sort < file1 • To sort the lines of file1 and save in file2: sort < file1 > file2
The output of one program can be the input to another. who | sort >file1 • The output of who is sorted and shown on your terminal screen.
grep • grep shows only those lines containing its search pattern. • To see all lines in a file containing ‘bob’: grep ‘Dropped Packet’ < file1 >file2
The cat command • the arguments to cat are concatenated together and displayed on stdout. To view a file: cat file1 • if no arguments, cat puts on stdout whatever you type on stdin, so this does the same thing: cat < file1
Outline I. getting help II. the file system III. the shell V. email options VI. and lesser editors VII. input and output redirection VIII. process management • Other Useful commands
how to print a .ps file • syntax: lp -D<printer> <filename> • example: lp -Dlw330 myfile.ps