Presentation on theme: "1 Introduction to UNIX Ke Liu"— Presentation transcript:
1 Introduction to UNIX Ke Liu http://www.cs.binghamton.edu/~kliu/cs350/ Kliu1@binghamton.edu
2 Topics. Logging in. Unix Shells and useful shell commands. File System in Unix. Program, Process and Process control. Inter-process communication. Compiling and debugging C programs. Editors.
3 UNIX UNIX is multi-user and multi-tasking operating system. Multi-tasking: Multiple processes can run concurrently. Example, different users can read mails, copy files, and print all at once.
4 Logging In Enter login name and password ! System password file: /etc/passwd (usually). You can change password using the command: passwd.
5 Shell After a successful login, the shell program is run. The default shell of bingsuns: tcsh bingsun2% ps PID TTY TIME CMD 2159 pts/2 0:00 tcsh Shell is a command line interpreter that reads user commands and executes them.
6 Unix Shells Common Shells: Bourne shell, the C shell, and the Korn shell. The shell on bingsuns is tcsh (tc shell). Users can switch between shells, using the commands bash, csh, ksh, sh. Control D (^d) to return back to original shell, or just use the command: exit.
7 Some shell commands Most Important command: man (manual pages). Help: unix commands, C functions. Usage: man Try “man man” ! Example: man ls, man passwd, man printf.
8 Some shell commands (cont’) pwd: working directory (/u0/users/2/kliu1). ls: list contents of directory mkdir : make directory rmdir : remove an empty directory rm –r : remove a directory with all the contents cd : change directory, ~/ means your home directory cp : copy command.
9 Some shell commands (cont’) chmod : change mode of a file/directory ls –l : long list with details 9 permission bits: d r w x r w x r w x 3 categories: user/group/all. Permissions: read/write/execute (r/w/x). E.g.: mode= 644 means r w _ r_ _ r _ _ command: chmod 644 first 3 bits for user. Next group. Next all others.
10 Some shell commands (cont’) rm : remove files e.g.: rm –fr directory/filename mv : change the name of a file Pipes: Connect the stdout of one command with the stdin of another command e.g.: ls -l | more or ls –l | less
11 File System Hierarchical arrangement of files and directories. Top level: root or / e.g.: cd /. Current directory,.. One level higher directory e.g.: cd. No change for it is current directory or cd.. Change to parent directory.
12 File System (cont’) Pathname: absolute and relative. Absolute pathname: /u0/users/2/kliu1 Relative pathname: abc.
13 Editors. Different editors: emacs, pico, vi emacs pico vi
14 The easiest editor: pico or nano pico Full screen editor Help on the bottom of the screen The nano is an extension to the pico
15 Basic operations in pico Ctrl + v : to move page down Ctrl + y : to move page up Ctrl + o : to save the current buffer Ctrl + x : to exit with or without saving Ctrl + g : to get help Ctrl + r : to open a file Ctrl + w : to find a string in the current buffer Ctrl + c : to get the current position in the buffer
16 Program & Process Program is an executable file that resides on the disk. Process is an executing instance of a program. A Unix process is identified by a unique non-negative integer called the process ID. Check process status using the “ps” command.
17 Foreground/background processes A program run using the ampersand operator “&” creates a background process. E.g.: bingsun2% back & otherwise it creates a foreground process. E.g.: bingsun2% back
18 Foreground/background processes Only 1 foreground process for each session. Multiple background processes. Where are background processes used? All system daemons, long user processes, etc. e.g. printer-daemon process or mailer-daemon process. These processes are always running in background. Pine is foreground process.
19 Process Status bingsun2% back &  16488 the process id assigned by system bingsun2% ps PID TTY TIME CMD 1973 pts/39 0:01 tcsh 16488 pts/39 0:00 back
20 How to stop a process? Foreground processes can generally be stopped by pressing CONTROL C (^C). Background processes can be stopped using the kill command. Usage: kill SIGNAL kill -9 (-9 means no blocked) Or kill. If a foreground process is not stopping by ^C, you can open another session and use the kill command.