Vous êtes sur la page 1sur 20

Introduction to UNIX

Basic knowledge on Unix OS

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

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.

Logging In
Enter login name and password ! System password file: /etc/passwd (usually). You can change password using the command: passwd.

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

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

Some shell commands


Most Important command: man (manual pages). Help: unix commands, C functions. Usage: man <command/function> Try man man ! Example: man ls, man passwd, man printf.
7

Some shell commands (cont)


pwd: working directory (/u0/users/2/kliu1). ls: list contents of directory mkdir <dir-name>: make directory rmdir <dir-name>: remove an empty directory rm r <dir-name>: remove a directory with all the contents cd <directory>: change directory, ~/ means your home directory cp <source> <target>: copy command.
8

Some shell commands (cont)


chmod <mode> <filename>: change mode of a file/directory ls l <directory or filename>: 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 <filename> first 3 bits for user. Next group. Next all others.
9

Some shell commands (cont)


rm <option> <filename>: remove files e.g.: rm fr directory/filename mv <old> <new>: 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
10

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.

11

File System (cont)


Pathname: absolute and relative. Absolute pathname: /u0/users/2/kliu1 Relative pathname: abc.

12

Editors.
Different editors: emacs, pico, vi emacs <filename> pico <filename> vi <filename>

13

The easiest editor: pico or nano


pico <filename> Full screen editor Help on the bottom of the screen The nano is an extension to the pico

14

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
15

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

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
17

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

Process Status
bingsun2% back & [1] 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
19

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 <process id list> kill -9 <process id list> (-9 means no blocked) Or kill <process id list>. If a foreground process is not stopping by ^C, you can open another session and use the kill command.
20

Vous aimerez peut-être aussi