第一单元、AIX操作系统介绍
• UNIX操作系统简介
• AIX系统简介
• AIX系统的用户界面(包括CDE)
• AIX操作系统的基本命令
操作系统的概念
• 什么是UNIX
• Novell公司的商标
• 多任务、多用户的操作系统
• 相关操作系统及其应用程序工具、编译程序的总称
• 功能丰富的可扩展、开放的计算环境
• 操作系统功能简介
• UNIX操作系统
• UNIX的历史
• UNIX和标准
• UNIX的哲学
操作系统的功能
UNIX的历史
早期
AT&T贝尔实验室
系统V的最新版本
Berkely软件发布
UNIX的BSD版本
UNIX和标准
大型主机和工作站上的UNIX
Intel平台上的UNIX
UNIX源代码版本
修改UNIX
UNIX的哲学
• 简单、通用的命令
• 用管道连接不同的命令
• 通用、可选择的接口风格
• 无文件类型
AIX操作系统简介
AIX = ADVANCED INTERACTIVE EXECUTIVE
高级的交互式执行系统。
AIX系统的结构
AIX SYSTEM STRUCTURE hardware
kernel
shell
applications
AIX操作系统的主要特点
• 一个基于众多工业标准的系统
• 先进的内核
• 强大的通讯能力
AIX系统性能
IBM致力于提供一个总体吞吐量均衡的系统。
AIX的几个重要技术
SMIT-SYSTEM MANAGEMENT INTERFACE TOOL
系统管理界面工具
LVM-LOGICAL VOLUME MANAGER
逻辑卷管理器:逻辑卷管理器是在应用与硬件
之间进行管理的软件层次。
JFS-JOURNAL FILE SYSTEM
日志文件系统:借鉴了数据库保护数据的技术,
以日记的形式记录文件中的变化。
AIX系统的引导过程
ROM 只读存贮器,初始化/自检(检索引导设备)
装载引导块(IPL)boot loaded
AIX kernel
系统初始化程序引导 /etc/init
getty
login
ksh
/etc/init
tab
/etc/passwd
/etc/security/pas
swd
$ home/.profile
引导块程序装入引导程序
(内核、文件系统设备配置数据)
AIX系统的用户界面
AIX 通用桌面环境(COMMON DESKTOP ENVIRONMENT)
X窗口系统(AIX WINDOWS),简称X
命令行(SHELL)
AIX 通用桌面环境
AIX WINDOWS
命令行
AIX Version 4
(C) Copyrights by IBM and by others 1982,1996.
Login: root
root’s Password:
#
登录AIX 通用桌面环境
AIX 通用桌面环境登录屏幕
使用HELP来熟悉AIX CDE
A
I
X
通
用
桌
面
环
境
帮
助
窗
口
访问AIX 通用桌面环境帮助标题
A
I
X
通
用
桌
面
环
境
帮
助
管
理
器
CDE的文件管理器
CDE的应用程序管理器
AIX操作系统的基本命令
AIX系统的命令包括AIX自带的命令和用户编写的命令。
基本格式:
命令(command),选项(option),参数(argument)
注意:命令选项和参数均有间隔(一个空格),而且
顺序不能颠倒。
系统的进入和退出
login:输入用户名(例如:user1),登录进入系统
password: 输入用户口令
出现命令行提示符 $ 或 # ,即可输入操作系统命令
退出系统:<ctrl+d>; exit; logout
建立/修改口令
# passwd
passwd: —输入旧口令
new passwd: —输入新口令
re-enter new passwd: —重新输入新口令
基本命令
login/logout wc
passwd cal
ls who
date man
cat mail
lp lpstat
本单元小结
• UNIX操作系统简介
• AIX系统简介
• AIX系统的用户界面(包括CDE)
• AIX操作系统的基本命令
实验一、使用系统
实验目的:熟悉AIX命令语法和基本命令
实验内容:
登录一个AIX系统并修改口令
运行基本命令
使用键盘的控制键控制命令行的输出
使用man帮助
使用CDE图形界面环境
第二单元、AIX的系统管理界面
--SMIT
SMIT - SYSTEM MANAGEMENT INTERFACE TOOL
AIX提供图形和字符用户界面的SMIT管理工具
SMIT的启动与使用
SMIT命令的命令参数和命令语法如下:
SYNTEX smit [-options][fastpath]
SMIT的用户界面
SMIT图形用户界面
使用SMIT的例子(一)
使用SMIT的例子(二)
使用SMIT的例子(三)
使用SMIT的例子(四)
使用SMIT的例子(五)
使用SMIT的例子(六)
本单元小结
• SMIT的优点和调用
• SMIT菜单的字符界面
• SMIT菜单的图形界面
实验二、SMIT的使用
实验目的:熟悉SMIT命令语法和基本使用
实验内容:
使用SMIT菜单创建一个用户组
修改用户的属性
第三单元、AIX文件系统
• AIX系统中的文件名
• 文件类型
• 传统的文件名
• 文件系统概述
• AIX文件树
• 文件操作命令
• 文件保护和访问许可
• 管理文件系统
文件系统三要素
文件: 文件(file)是一个数据字节序列。
目录: 目录是文件系统中一个单元,它包含有文件。
文件系统: 文件系统就是一组文件的组织结构。
AIX支持三种类型的文件系统
•日志文件系统jfs(JOURNAL FILESYSTEM)
•网络文件系统nfs(NETWORK FILESYSTEM)
•CD只读文件系统cdrfs(CD READ-ONLY FILE SYSTEM)
AIX系统中的文件名
文件名是一个描述
最大256个数字和字符
建议使用10个
中间不要有空格
不要以“+”或“—”号等开始
要与系统命令区别开
大小写敏感
以 .(点)开始的文件为隐含文件
不要使用SHELL元字符,如*?<>/;&等
传统的文件名
• 文件名.c C语言原代码
• 文件名.h “包含”文件,用于c语言的头数据
• 文件名.f FORTRAN原码
• 文件名.p PASCAL原码
• 文件名.s 汇编原码
• 文件名.o 目标文件代码
• · 当前路径
• ·· 父路径
文件系统概述
/
etcsbinhomedev usr
ipo
ttya
hd4
memo
user3user2
dats prodoc
user1
.profi
le
file1
file2
.profil
e
letter
exrcexrc
myscript
myfile
Mount—挂接的概念
/
etcsbinhomeusrdev
根文件系统
挂接到home目录下
/
/
user3user2
doc
user1
leexrc
myscript
pro
.profi
le
file1
file2
exrc
文
件
系
统
II
文
件
系
统
I
多个文件系统的优点
• 控制敏感数据
• 性能
• 不需要对整个硬盘进行备份恢复
安装到文件上(一)
未安装前
myscript
/
home
usr3
dats pro
usr2usr1
.profi
leexrc
file 1
file 2
/
rep doc
.profi
le exrc
安装到文件上(二)
安装后
/
home
usr3
rep doc
usr2usr1
.profi
le
myscript
exrc
AIX文件树
• ROOT 文件系统
• /usr 文件系统
• /var 文件系统
• /home文件系统
• /export 目录
• /etc 目录
ROOT文件系统
bin
dev
etc
export
lib*
sbin
tmp
usr
var
/ home
dump
exec
home
share
swap
/ root
/ helpers
ROOT FILE
SYSTEM
/usr文件系统
/us
r/
bin
ccs
lib
include
lpp
sbin
mbin
share
tmp*
ucb
sharable
*symbolic
links
/
dict
info
man
lib
THE /usr FILE TREE
/var文件系统
tmp/
spool/
preserve/
ncs->/etc/ncs
yp/
sa/
ras/
cron/
sulog
sw/
streams/
/var/ ifor/
adm/
perf/
docsearch/
dt/
locks/
msgs/
news/
acct/
SRC/
wtmp
netls->/usr/lib/netls/conf/var/
/home文件系统(目录)
/home/
.profile
guest/
imnadm/
webadm/
test/ .profile
aaa...
/export 目录
./export/root 目录
./export/exec 目录
./export/swap 目录
/etc目录
/etc/
services
acct/
passwd
inittab
hosts
dt/
aliases
security/
文件操作命令
pwd mkdir
cd rmdir
mv cat
cp rm
find
文件保护和访问许可
rwx rwx rwx
用户主 同组人 其它用户
r=read
w=write
x=execute
改变文件的权限
命令格式: $ chmod mode filename
• 符号特征
• 用数字方式改变访问权限
访问许可权限小结
命令 源目录 源文件 目标目录
cd x N/A N/A
ls,li r N/A N/A
mkdir x,w N/A N/A
rmdir x,w N/A N/A
cat,pg x r N/A
mv x,w None x,w
cp x r x,w
rm x,w None N/A
管理文件系统
• 管理文件系统的日常工作
• 管理文件系统的常用命令
• 维护文件系统的常用命令
本单元小结
• 文件的命名
• 文件的基本操作
• 文件系统的基本介绍
• 文件和目录的权限
实验三、AIX文件操作
实验目的:熟悉文件和目录的操作命令
熟悉文件和目录的权限概念和相关操作
实验内容:
复制、移动、删除文件,查看文件内容
生成、删除、查看目录内容
修改文件、目录权限,了解产生的影响
第四单元、AIX的编辑器介绍
vi编辑模式
进入vi并创建文件
基本vi命令
vi的特殊选项(高级应用)
CDE环境中的文本编辑器:
屏幕编辑程序 vi
进入vi并创建文件
进入编辑程序
退出vi
基本vi命令
下面将解释几种vi命令,它们包括:
如何移动光标
插入文本
更改和替换文本
撤销对文本的更改
删除文本
复制和移动文件
重复命令
如何移动光标
H 将光标向左移动一个字符 ←
J 将光标向下移动一行 ↓
K 将光标向上移动一行 ↑
L 将光标向右移动一个字符 →
输入文本
a. 在光标的右边添加文本
i. 在光标的左边插入文本
o. 在光标的下面重建新行
A. 在光标所在行的末尾添加文本
I. 在光标所在行的开头插入文本
O. 在光标所在行的上一行创建新行
删除文本
• 在输入方式下可用Backspace键一次删除一个字符
• 在命令方式下进行文本的删除和编辑工作
更改文本
• 更改一个词
• 更改一行
• 更改一行的部分内容
• 替换字符
• 替换一个字符
• 断开或合并行
移动文本和复制
• 移动行
• 复制行
• 用寄存器拷贝或移动文本
vi几个常用功能
• 查找
• 废除最近的命令
• 行号开关
vi的特殊选项(高级应用)
• 恢复由于中断而丢失的文件
• 将一个文件插入另一个文件中
• 编辑多重文件
• 编辑一系列文件
• 在文件之间复制行
• 设置vi参数
• 从毁坏处恢复
小结--基本vi命令汇总
• 光标命令
• 插入字符和行
• 更改文本
• 删除文本
• 复制和移动文本
• 设置行号
• 设置区分大小写
• 查找一行
• 查找和替换
• 清除屏幕
• 保存和退出
CDE的文本编辑器
实验四、编辑器的使用
实验目的:熟悉并掌握文本编辑器的使用
实验内容:
生成、编辑、保存文件
在编辑器中移动光标
增加、删除、修改对象
第五单元、进程的概念及命令
• 进程的概念
• 进程的创建
• 进程的控制
• 管理进程
• 撤消进程
• 系统进程
进程的概念
• 一个进程是一项作业
• 一个正在运行的程序就是一个进程的例子
• 查看一个正在运行的进程ID可用:
•$ echo $$
进程的创建
sh
shparent
child parent
child
date
PID PPID
201 1
206 201
207 206
进程的控制
前台进程
sh
sort
后台进程
&
sh
sort
变量和进程
• 变量是一个进程环境的一部分
• 进程不能访问或修改另一进程环境中的变量
• export命令可使父进程中的变量设置在子进程
中有效
• 子进程中改变变量设置不会影响父进程中此变
量的设置
管理进程
使用“ps”命令来报告进程的状态
使用“nice”命令修改进程优先级
$ ps -ef
UID PID PPID …… tty …… command
user1 201 1 …… 005 …… sh
user1 206 201 …… 005 …… sh
user1 210 206 …… 005 …… ps -ef
撤消进程
命令格式:$ kill 进程id
例:$ ps - ef
……PID PPID …… tty …… command
46 1 …… 005 …… sh
56 46 …… 005 …… sort bigfile >out &
61 46 …… 005 …… ps -ef
$ kill 56
系统进程
runacct
(program)
croll
(daemon)
croutab
进程小结
三大类进程:
在终端上执行的交互式进程
批处理进程
守护进程
进程的属性
实验五、进程的操作
实验目的:熟悉进程操作和控制
实验内容:
查看进程状态
控制进程
第六单元、SHELL 环境及编程
• SHELL的功能简介
• 重定向(Redirection)、PIPES—管道、tee—分叉
• Shell中使用的泛用符
• Shell变量
• 三种shell 的比较及Korn shell的优势
• 环境文件和用户初始文件
• Shell命令文件的调用
SHELL简介
Shell是一个命令解释器:
它读取用户输入的指令行,解释并执行。
Shell是一个功能很强的程序语言:
它提供了条件式执行与流程控制等。
重定向(Redirection)
• 重定向——标准输入
• 重定向——标准输出
• 重定向——标准出错
• 重定向的组合
重定向——标准输入
命令格式: $ command < filename
重定向可以用于使标准输入取自其它地方,而不
是键盘。
重定向——标准输出
命令格式:$ command > filename
重定向可以用于使标准输出引向其它地方,而不
是屏幕。
重定向——标准出错
命令格式:$ command 2> filename
重定向可以用于使标准出错引向其它地方,而
不是屏幕。
重定向的组合
标准输入,标准输出和标准出错可按任意次序和组
合进行重新定向。
$command <infile >outfile 2> errfile
$command >>apndfile 2>> errfile <infile
PIPES—管道
把一串命令分开的竖直符号“|”就是管道
命令格式:
$ command | command
tee—分叉
分叉命令读取标准输入,把命令的输出送往标准
输出和一个文件,例如:
$ ls | tee
Shell中使用的泛用符
泛用符是指那些对shell具有一些特殊含义的字
符,例如:
>,<,!,*,?,[,],$,&,{,}
Shell变量
• 用Shell变量确定你的环境
• 利用 set 命令
• 子集
• export 命令
• 变量的替换
三种shell 的比较
标准 bourne shell 由stephen bourne 开发
korn shell 由 david korn 开发
c shell,由 bill joy 开发
Korn shell的优势
• history命令 - 命令的重入
• 单行 vi 屏幕编辑
• 给命令加别名
环境文件和用户初始文件
• 环境文件
• 常见的系统定义变量
• 用户初始文件
什么是 Shell 编程
hardware
applications
shell
kernel
在UNIX系统中 Shell 所处的位置
Shell的功能
Program
Execution
shell
Variable and
Filename
Substitution
Interpreted
Programming
Language
Environment
Control
Pipeline
Hookup
I/O
Redirection
如图所示,shell具有六种功能
Shell命令文件的调用
调用shell脚本
$ sh script1
(从键盘读命令)
script1sh
sh
cmd(从脚本读命令)
(从脚本运
行命令)
予先定义的专用变量
有些变量是由shell 设定的,而不是用户设置的,
例如:
$$ 进程 id (PID)
$0 保留给shell 命令文件名
$# 传递给shell 的定位参数数目
$* 传递给shell 的所有定位参数
$? 上次的返回码
$! 上次的后台进程 id
定位参数 $1 - $9
可以由用户设置的预定义变量,korn shell 允许
多于九个定位参数。
参数可以作为命令行上的参变量传递给 shell 命
令文件,在命令文件中用 $n 来引用,其中“n”
是它们在行中的位置。
shift命令
Shell能识别定位参数 0-9 利用 shift 命令可引
用第九个以外的参数。
Shift命令将参变量0-9左移,同时将参变量数目
($#) 减一。
read命令
执行read命令时,shell从标准输入读取一行,
并把读入的第一个字赋值给第一个变量,第二
个字给第二个变量,依次类推。如果行中的字
多于所列的变量,则多余的字均赋予最后一个
变量。
返回码
命令或命令组会给父进程返回一个值。
按规定,返回 0 意味着成功,非 0 值则意味着出错。
变量 $? 将包含有这个值。
若命令文件中有提供值n 的exit命令,则返回值n。
test命令
test命令可用来比较整数、字符串和测试文件状态
sed 命令
sed 命令用于编辑一个文件,其命令格式:
sed command file
cut 命令
cut 命令用于将文件中指定域的内容输出至标
准终端或标准输出,其命令格式为:
cut - cchars file
grep 命令
grep命令允许在一个或多个文件中查找特定的字串
命令格式为:
grep pattern files
if - then -else 条件语句
• 条件判断语句是程序设计语言中十分重要的语句。
• 该语句的含义是当某一条件满足时,执行指定的
一组命令。
• if 语句检查前面命令执行的返回状态。
while 循环语句
循环执行一些命令,处理一批数据。
while 循环语句中,当某一条件为真时,执行
指定的命令。
case条件语句
case 命令将输入值与多个存在值相比较,当发现匹配项
后即执行一个或多个相应的要求,其基本命令格式如下:
case value in
part 1 ) command ;; …………
part 2 ) command ;; …………
command ;;
…………
part n ) command ;; …………
command ;;
esac
for 循环语句
getprice
#display price from pricelist file for
# each item entered on the command line
for item in $*
do
grep $item pricelist
done
expr 命令
expr (expression 1) operator (expression 2 )
operators: + - \ * / % (余数)
例如:$ expr 3 + 2 \ * 5
13
Shell小结
本章主要讲述如下内容:
Shell 怎样在用户和 UNIX 之间工作
Shell 的特点
使用 Shell
实验六、Shell的使用
实验目的:熟悉基本的Shell操作
定义并使用Shell变量设置
实验内容:
使用重定向和管道,在Shell命令应用中
设置Shell的环境变量
第七单元、实例讲解
内容和目标:
在本章中,我们将举一个具体的实例,在这个例
子中将结合前几章所学习的内容提出一些具体要求,并
做相应的解答讲解。
希望学员通过本章的学习能对在具体现实应用中
的命令使用有一个更深刻的理解。
实例学习(一)
你为一家办公设备公司工作。你的老板Chris通
知你处理一个存货清单的文件。
Chris要求你在自己的HOME目录下建一个存货清
单目录--‘inventory’,这个目录要求:你可以在
此目录下生成修改文件;和你一个组的用户可以读此
目录下文件;其余用户无法访问此目录。
生成有正确权限设置的存货清单目录。
实例学习(二)
Chris告诉你,存货清单的文件存放在/home/chris
目录下的某处。Chris要求你找到‘’文件并
把它复制到你新生成的目录下,同时确认和你同一组
的用户不能在你的目录下更新这个文件。
找到‘’文件并复制到 ‘inventory’目
录,然后检查权限以使同组用户不能往此文件中写入。
实例学习(三)
现在你已经有了这个文件,Chris希望你整理这个
文件。这个文件很大,并且你想在整理这个文件时还能
使用你的终端,所以你希望整理工作在后台运行。你还
希望完整地保存初始文件,所以新文件名为
‘’。
在后台对此文件进行排序,并且把输出重定向到新文件。
实例学习(四)
当你刚开始排序工作,Chris打电话回来。要求必须按
字母表进行反向排序,当你完成工作时把结果MAIL给他。
这时已经快下班,你也准备回家了。所以你想找出先前
的排序进程并结束它,而不是等它做完。然后你就可以
开始新的排序工作,并且退出系统回家。等第二天再来
把结果发出去。
关闭现行排序进程,启动新的后台排序进程以使你
退出登入后工作可以继续进行下去。当你第二天来时,
把文件MAIL给Chris。
实例学习(五)
Chris又打电话来,说他实际上希望你做的是从此文
件中找出所有包含‘paper’单词的行。这将给他一份公
司销售的纸类产品的列表。这次结果不用MAIL给他,而
是打印一份出来。
在‘’文件中查寻所有包含‘paper’单词
的行,并且使用管道把输出结果送至打印机。确认打印
机的状态以查询打印是否已完成。
实例学习(六)
Chris打电话来说你工作完成得很好,你已不再需
要有关存货清单的文件和目录。他让你删除它们,因
为保留多分拷贝会浪费系统的存储空间。你知道你的
所有存货清单文件都存放在一个目录下,所以你可以
使用“*”统配符去删除所有文件。为防止此目录下还
有其他文件,在删除文件前需确认。你还需要删除
“inventory”目录。
使用“*”统配符交互式地删除存货清单文件,然
后删除“inventory”目录。