UNIX文件系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UNIX文件系统
UNIX操作系统简介
,讲稿,
UNIX操作系统概述
, UNIX操作系统
UNIX是较早广泛使用的操作系统之一,它的第一版于1969年在Bell实验室产生,1975
年对外公布,1976年以后在Bell实验室外广泛使用。
应用范围应用到几乎所有16位及以上的计算机上,包括微机、工作站、小型机、多
处理机和大型机等等。
UNIX特点
(1) 多任务、多用户
(2) 并行处理能力
(3) 管道
(4) 安全保护机制
(5) 功能强大的shell
(6) 强大的网络支持
(7) 系统源代码用C语言写成,移植性强
(8) 出售源代码,软件厂家自己增删
UNIX流派举例
SCO UNIX PC兼容机
Digital Unix Dec Alpha机
Sun UNIX Sun工作站
AIX IBM机
, UNIX系统组成
UNIX操作系统结构由三大部分组成:
(1) kernel(内核)
(2) shell(外壳)
(3) 工具及应用程序
1
工具及应用程序
shell
kernel
硬件
UNIX Kernel 提供四个基本功能:进程、文件系统、通信、系统启动。
UNIX Shell 是UNIX的命令解释器,共有三种:
(1) Bourne Shell sh
(2) Korn Shell ksh
(3) C-Shell csh
一般系统默认为Bourne Shell, 本文以此shell为例。
, UNIX的几个名词
用户名(user) UNIX是多用户操作系统,它允许多个用户同时使用。
每个用户拥有用户名、登录口令以及操作特权。
用户每次使用UNIX时必须先登录:输入用户名和口令。
一般用户的UNIX操作系统提示符一般为”$”。
工作组(group) 几个用户可以组成一组,同组内的用户可以共享信息。
root用户 UNIX的超级用户,拥有其他用户没有的特权。
root用户的UNIX操作系统提示符一般为”#”。
进程(process) 是正在执行的程序。
UNIX允许多个进程同时存在,每个进程都有唯一代号称为进程标识符(pid)。
设备(device) 或称设备文件,代表某个硬件。
UNIX对硬件的存取操作都是通过设备文件来完成的。
交换区(swap area)
2
UNIX常用操作
本节主要介绍UNIX常用操作。
, UNIX常用操作
登录在出现”login:”提示符下输入用户名,出现”password:”后输入口令,出现UNIX
提示符
$
以后就可输入UNIX命令。
退出登录在UNIX提示符下,按exit或Ctrl+d。
其它常用命令
解释 UNIX命令
帮助 man
查看日期 date
显示日历 cal
显示大字banner “ABCD”
计算器 bc
修改口令 passwd
查看谁在使用 who
查看我是谁 who am I
查看用户信息 finger uid
特殊键在UNIX命令操作中有一些特殊键,列表如下:
结束键盘输入或退出当前shell Ctrl + d
中断键,停止当前动作回到shell Del
暂停屏幕输出 Ctrl+s
继续屏幕输出 Ctrl+q
kill键,删除光标所在行的所有字符 Ctrl+u
结束当前的操作状态(如vi) Esc
3
UNIX文件系统
, UNIX文件系统分类
UNIX操作系统可由多个可以动态安装及拆卸的文件系统组成。
UNIX文件系统主要分为两大类:根文件系统和附加文件系统。
根文件系统(the root file system) 每一个UNIX操作系统在其主硬盘上至少含有一个文件系统,它包含构成操作系统的程序和目录,一般由“/”符号来表示。
附加文件系统除根文件系统外的其它文件系统,如/u文件系统,AFS文件系统等。
以后如无特别声明,本文都是针对根文件系统来进行说明的。
, UNIX文件类型
在UNIX中文件共分为四种:
1) 一般文件(ordinary file),分为: (1) 文本文件
(2) 二进制文件
2) 目录文件(directory)
3) 特殊文件(special file),分为: (1) 块设备文件
(2) 字符设备文件
4) 符号链接文件(symbolic links)
文件类型标识在用”ls -l”命令显示文件目录时的用下列符号表示不同的文件类型:
- 普通文件
d 目录文件
b 块设备文件
c 字符设备文件
p 管道设备
l 符号链接文件
举例:
$ ls -l
-rwxr-xr-- 2 wjm newservice 321 Oct 17 09:33 file1
drwxr-xr-x 2 wjm newservice 96 Oct 17 09:40 dir1
, UNIX树型目录结构
4
UNIX操作系统采用树型带勾连的目录结构,如下图所示。
在这种结构中,一个文件的名字是由根目录到该文件的路径上的所有节点名按顺序构成的,相互之间用“/”分开。
如文件prog的全路径名为:/usr/smith/prog,根目录用“/”表示。
根文件系统常用目录根文件系统的常用目录举例如下表:
/
bin lib usr dev etc
smith sybase
prog d install
大部分可执行的unix命令和共用程序 /bin
设备文件,如/dev/cd0 /dev
系统管理命令和数据文件 /etc
C程序库 /lib
存放用户的家目录和用户共用程序或文件 /usr
临时工作目录,存放一些临时文件 /tmp
家目录 UNIX在创建用户名时,自动在/usr目录下创建与用户名同名的子目录,如/usr/smith子目录,这个子目录成为此用户的家目录(Home Directory)。
家目录中有一个文件比较特殊:”.profile”(或”.login”)文件。
'当以该家目录的用户名登录UNIX时,会自动执行”.profile”文件。
它有点类似于DOS的AUTOEXEC.BAT文件。
.profile是B/K shell的启动文件,而.login是C shell的启动文件。
”.profile”文件中常有一行:
PATH=$HOME:$HOME/bin 其中,PATH类似DOS的PATH,而$HOME表示家目录。
, UNIX文件名称
UNIX文件名称
最大长度为255字节;
5
大小写敏感
无专用扩展名(UNIX文件名可出现多个小数点,并无特殊含义)。
UNIX特殊文件名
表示根目录 /
表示当前目录 .
表示当前目录的父目录 ..
.字符串表示隐含文件,如”.profile”文件
文件名通配符
, 任一个字符,如”abc?”
任何字符,如”ab*10”表示以ab开头和以10结尾的名字 *
, UNIX文件的i节点(选讲)
UNIX的一个文件可以有多个名称,这是与DOS文件有本质区别的。
UNIX的目录表中每条记录只包含两项:i节点号和目录名。
在UNIX文件系统硬盘中有一专门区域存放i节点(inode), i节点(inode - index node)存放有文件存储块的所有指针以及索引节点的勾连数i-nlink。
i-nlink表示该文件有多少个路径名。
如下图所示:
目录
0221 result
0412 orders
4397 forecast
0123 personal
#0221 #0412 #4397 #0123
i节点 i-nlink:1 i-nlink:1 i-nlink:2 i-nlink:1
… … …
文件
存储块
UNIX查找文件的过程是这样的:先根据文件名在目录表中找到该文件的inode 号码,然后根据inode号找到inode,最后根据inode中的文件块指针找到文件内容。
由此可见,UNIX文件是有inode唯一决定的,文件名只是它的外部标识。
如果目录表中的两条记录的inode号码相同,这说明这两个文件名对应同一个文件。
下图说明了一个文件有三个文件名:name1、name2和name3。
目录A 目录B
0223 name1
0223 name3
0223 name2
6
inode #0223
i-nlink:3 i节点
… 文件存储块
, UNIX文件存取权限
文件的存取权限 UNIX文件的存取有三种权限:
权限普通文件的存取权限目录的存取权限
具有读取文件的权利能读取文件名称 r
具有写入文件的权利能建立和删除文件,可以改变文件名 w
具有执行文件的权利能使用该目录下的文件(如cd命令)搜索文件等 x
能够存取文件的用户类型有三种类型的用户可以存取文件:
用户类型说明
文件的拥有者 owner
文件所在的工作组 group
其他用户(非owner和非group) other
每种类型的用户都有三种文件存取权限:r、w、x。
文件存取权限的显示可以通过”ls -l”命令显示,如:
$ ls -l file1
显示如下:
-rwxr-xr-- 2 wjm newservice 321 Oct 17 09:33 file1
上行第2-4字符”rwx”表示此文件属主wjm对此文件的权利为”可读、可写、可执行”, 上行第5-7字符”r-x” 表示此工作组newservice内的用户对此文件的权利为”可读、不可写、可执行”,上行第8-10字符”r--” 表示其他用户对此文件的权利为”可读、不可写、不可执行”
文件存取权限的修改用chmod命令修改文件的存取权限,chmod命令的格式如下:
格式1: chmod sym bolic_mode file…
格式2: chmod absolute_mode file…
7
这里只介绍符号模式(symbolic_mode), 符号模式的命令格式如下:
chmod [who] op permision file…
who项表示用户类型,它的内容为以下一项或多项:
拥有者(user --- owner) u
与拥有者同一组的用户(group) g
其他人(other) o
所有人(all) a
op项表示动作:
表示要加上permission指定的权利 +
表示要取消permission指定的权利 -
permission项为存取权限,它的内容为以下一项或多项:
表示可读 r
表示可写 w
表示可执行 x
举例:
chmod u+w test report
chmod u-x abc.c
chmod u+rwx myfile1
chmod ugo+rwx myfile2
改变文件属主及文件所在组改变文件属主的格式如下:
chown 属主名文件名
必须对文件具有write权利才可改变文件的拥有者。
改变文件所在组的格式如下:
chgrp 组名文件名
必须是文件的拥有者或supervisor才能改变文件组别的归属。
举例:
chown wjm test1
chgrp newservice test1
8
, UNIX重定向与管道
UNIX重定向将文件的标准输出重新定向输出到文件,或将数据文件作为另一程序的
标准输入内容。
如:
ls -l>file1
ls>>file1
UNIX管道将一文件的输出作为另一文件的输入。
如:
ls|more
ps -ef|grep smith
, UNIX文件系统常用命令
UNIX命UNIX命令举例类似DOS命令
令
显示当前目录 pwd cd pwd
改变目录 cd /usr cd c:\usr cd
进入家目录 cd cd
创建目录 mkdir abc md abc mkdir
删除空目录 rmdir abc rd abc rmdir
删除目录及其内容 rm -r abc deltree abc rm -r
显示目录内容 ls abc dir abc ls
ls -l abc(文件长列表)
ls -a abc(所有类型文件)
ls -d * (不进子目录)
显示文本文件内容 cat file1.c type file1.c cat
一次一屏显示文本 more file1.c more
文件内容
拷贝文件 cp file1 file2 copy file1 file2 cp
移动(重命名)文件 mv call.test call.list mv move call.tst call.lst ren call.test bbb
删除文件 rm call.list del call.lst rm
9
vi编辑器的最基本用法
vi编辑器是UNIX的强有力的文本文件编辑工具,利用它可以建立、修改文本文件。
vi编辑器常用的两种状态方式
1) 文本输入方式用于文本的输入
2) 命令方式用于输入控制命令
vi编辑器的进入
vi 文件名
自动进入命令方式。
文本输入方式的进入
将在光标所在位置之后插入文本(append) a
将在光标所在行末插入文本 A
将在光标所在位置之前插入文本(insert) i
将在光标所在行的第一个非空字符前插入文本 I
将在光标所在行的下一行开始插入文本(open) o
将在光标所在行的上一行开始插入文本 O
光标位置移动(两种方式均适用)
左移 h
下移 j
上移 k
右移 l
文本输入方式的退出
按ESC键进入命令方式 ESC
删除更改操作
在命令方式下运行。
删除光标所在字符 x
删除光标所在行 dd
10
退出vi编辑器
在命令方式下运行。
不管在什么状态,最好在运行下面命令前,先按以下ESC 键,以防出错。
存盘退出 :wq
不存盘退出 :q
不存盘强制退出 :q!
只存盘不退出 :w
利用find命令查找文件
find命令会在指定目录及其子目录下查找符合条件的特定文件。
此命令的最大用处是当忘了文件的正确所在,而想找到该文件。
命令格式
find 目录名条件
目录名 --- 欲开始寻找的目录所在。
find会寻找此目录及其子目录。
可以有多个目录名称,只要目录与目录之间用空格分开即可。
条件 --- 欲搜索文件的条件,可包含文件名称、拥有者、最后修改时间等等。
条件列表说明
指定要被寻找的文件或目录名称, -name name
可用通配符,如, -name …*.c?
将符合条件的路径打印出来 -print
寻找占用n个block的文件 -size n
以文件类型作为寻找条件。
文件类型x如下: -type x
d --- 目录(directory), f --- 文件(file),
b --- 块(block),
c -- 字符(character),
p --- 管道(pipe)
寻找属于user所拥有的文件, -user user
user可为用户名或uid号
寻找工作组为group的所有文件, -group group
group可为组名称或gid号
寻找链接数等于n的所有文件 -links n
寻找n天之前曾被存取的文件 -atim n
寻找n天之前曾被修改的文件 -mtime n
用寻找到的文件作为执行command的对象, -exec command {}\;
{}内存欲执行command时所需的参数
11
条件的逻辑运算符:
逻辑运逻辑举例说明
算符意义
~非~-name …*.c? 所有不以.c为扩展名的文件
或所有大于10block或链接数为3的文件 -size +10 -o -links 3 -o 与大于10block且链接数为3的文件 -size +10 -links 3
基本用法举例
在/temp目录下查找文件名以abc开始的文件 find /temp -name “abc*” -print
在当前目录下查找文件名为test的文件 find . -name test -print
grep命令基本用法
grep在整个文本文件中寻找特定字符串,并将所有出现该字符串的行打印。
命令格式
grep 字符串文件名
举例
在temp中查找abcd字符串 grep abcd temp
在temp中查找”This is a book”字符串grep “This is a book” temp 利用cmp命令比较文件
cmp可比较两个文件,这两个文件可以是文本文件也可以是非文本文件。
cmp
命令会显示两个文件第一次数据不同的位置。
若两个文件内容相同,则不显示任何信息。
命令格式
cmp [-ls] 文件名1 文件名2
参数说明
显示每个不同之处不同字节的内容 -l
只显示cmp命令的返回值(相同为0,不相同为1) -s
举例
比较temp1和temp2两个文件的内容 cmp temp1 temp2
12
UNIX常用维护操作
常用UNIX维护命令
解释 UNIX命令
查看磁盘自由空间 df -v
查看磁盘使用情况 du [文件名]
显示进程 ps -u [用户名]
ps -ef
杀掉进程 kill [pid号]
kill -9 [pid号]
开机以SCO UNIX为例。
SCO UNIX的开机过程如下:
(1) 打开SCO UNIX主机电源
(2) 出现boot:后打回车
(3) 按Ctrl+d进入多用户模式,输入root的密码后进入单用户模式
(4) 输入日期时间
(5) 出现”login:”表示SCO_UNIX开机成功,以后可以进行登录
关机 UNIX主机的关机过程为,在root用户下键入:
# shutdown -g0 -y
表示立即关机。
由多用户模式进入单用户模式,执行如下命令:
# shutdown -g0 -y su
停止失控进程
(1) 在未锁死的终端以root登录
(2) 用”ps -ef”命令找到失控进程pid号
(3) kill pid号,若杀不掉,再运行”kill -9 pid号”
(4) 若还杀不调,则shutdown
掉电故障系统意外掉电,会造成如下问题:
(1) 文件系统被破坏,造成文件丢失
(2) 高速缓存中的数据未写到磁盘而使数据丢失解决:开机后系统会提示是否检查/dev/root文件系统,输入y检查并修复文件系统。
13
系统管理命令
# sysadmsh
执行大多数系统管理命令,如增加用户、文件系统等。
在网络上登录和拷贝
UNIX的默认网络协议为TCP/IP, 本节介绍在网络上的计算机(如在PC上WINDOWS操作系统下)登录UNIX操作系统以及与UNIX交换文件的工具。
telnet 可以远程登录UNIX的常用软件。
运行:
telnet 129.6.114.201
就会提示用户输入用户名和口令,然后在输入终端类型,以后即进入UNIX系统,出现UNIX提示符。
在PC兼容机上的windows下运行telnet时,终端类型最好为xterm。
ftp 是一工具软件,也是一种协议,称为文件传输协议(File Transfer Protocol),它可以在两系统间传递文件。
ftp的运行格式举例: ftp 129.6.114.201
出现ftp提示符:
ftp>
ftp的常用命令为:
, 命令帮助
binary 二进制方式
ascii 文本方式
cd directory 改变远程目录
dir 显示远程当前目录
lcd 改变本地目录
put 将本地文件拷贝到远程 file1 [file2]file1file2 get 将远程文件拷贝到本地 file1 [fine2]file1file2 mput files 将本地多个文件files拷贝到远程
mget files 将远程多个文件files拷贝到本地
close 关闭远程连接
quit 退出ftp
如
C:\FTP>ftp 129.6.114.201
14
输入用户名和口令
ftp> binary
ftp> put abc
ftp> close
ftp> quit
C:\FTP>
15
16。