1 / 55

Welcome to Unix

Welcome to Unix. Crafted by the CSUA at Berkeley http://csua.berkeley.edu. Redistribution. The authors (nor anyone else) provides no warranty or claim of accuracy of this document. Use at your own risk.

sarila
Download Presentation

Welcome to Unix

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Welcome to Unix Crafted by the CSUA at Berkeley http://csua.berkeley.edu

  2. 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.

  3. Outline I. getting help II. the file system III. the shell IV. safe computer sex V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X

  4. What is it and where do you get it? • An operating system used on everything from servers to embedded systems. • To you, probably a prompt: ~> type stuff here

  5. If you know only one thing, know how to RTFM. ~>man command • gives you help on that command.

  6. Outline I. getting help II. the file system III. the shell IV. safe computer sex V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X

  7. Files and Directories:Naming something gives you power over it.

  8. Absolute Addressing

  9. Addressing relative to your home dir.

  10. Addressing relative to your current dir.

  11. 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

  12. getting recursive • remove a directory and its contents: rm -r <directory> • copy a directory and its contents: cp -r <directory>

  13. 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 >ls -l .cshrc.local -rwxr-xr-- 1 darin csua 2988 May 19 00:48 .cshrc.local*

  14. executing • “executing” a file means running it as a program. • “executing” a directory means setting your current directory to it using cd.

  15. Changing File Permissions • make a file readable to your friends: chmod 770 <filename> • change who owns a file: chown <user> <filename> • change to which group the file belongs: chgrp <group> <filename>

  16. 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 lrwxr-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.

  17. Outline I. getting help II. the file system III. the shell IV. safe computer sex V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X

  18. 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. • default shell at ghost server is “bash”

  19. 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?

  20. (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.

  21. 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>)

  22. 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<tab>” 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”

  23. 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 “bash <file>” to run the script. • cat /etc/passwd | cat -n | cut -f1,5 | head -100

  24. 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. • “~/.profile”

  25. 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. • screen –ls • screen –r • screen –help

  26. Outline I. getting help II. the file system III. the shell IV. safe computer sex V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X

  27. Your Options • Abstinence (switch majors, unplug your computer) • monogamy (use only one computer, do not use network) • protection (also known as encryption)

  28. 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.

  29. 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.

  30. using secure copy: scp • copy local to remote scp <source file> user@machine:<path> • copy remote to local scp user@machine:<path> <source file>

  31. Outline I. getting help II. the file system III. the shell IV. safe computer sex V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X

  32. the program mail • “mail”: useful for sending: >mail darin@csua Subject: hello Cc: hi there this is a message .

  33. 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.

  34. 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).

  35. Outline I. getting help II. the file system III. the shell IV. safe computer sex V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X

  36. 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 

  37. 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

  38. emacs • Always has one major mode running, potentially several minor modes. • stands for editing macros - designed by and for lisp programmers.

  39. Outline I. getting help II. the file system III. the shell IV. safe computer sex V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X

  40. 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

  41. 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.

  42. > vers >> • By default, who >f will overwrite the file f. • Use who >>f to append to f rather than overwriting it.

  43. 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

  44. The output of one program can be the input to another. who | sort • The output of who is sorted and shown on your terminal screen.

  45. grep • grep shows only those lines containing its search pattern. • To see all lines in a file containing ‘bob’: grep ‘bob’ < file1

  46. 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

  47. Outline I. getting help II. the file system III. the shell IV. safe computer sex V. email options VI. and lesser editors VII. input and output redirection VIII.printing IX. process management X. X

  48. To start a process in the background, use “&”. • example: big_program > output & • big_program will not have input!

  49. managing jobs • To suspend the currently active program, use <control-z>. • To return to the program you just suspended, type “fg” • To put the program you just suspended in the background, type “bg”

  50. To see a list of your programs running, type “ps”. >ps PID TTY TIME CMD 866 pts/1 00:00:00 tcsh 872 pts/1 00:00:00 ps

More Related