Presentation is loading. Please wait.

Presentation is loading. Please wait.

第三章 UNIX的文件与目录.

Similar presentations


Presentation on theme: "第三章 UNIX的文件与目录."— Presentation transcript:

1 第三章 UNIX的文件与目录

2 一、 文件的概念 文件是: 计算机中的所有信息保存在文件中。 如:通知、程序、文本 数据集合 字符流,或称为字节流
操作系统不对文件进行任何结构化 在UNIX系统中,文件是字节序列

3 二、文件类型 普通文件 文本数据或代码数据 没有内部的格式 目录文件 将所有内容组织成一个表 目录内文件名的列表 特殊文件
代表系统中的设备,在/dev目录中

4 三、路径名 由斜杠/分隔的由目录名组成的一个序列,它指示找到一个文件所必须经历的目录。 两种类型: 全路径(绝对路径):由根目录/开始
相对路径:由当前目录开始

5 路径名举例 . 表示当前目录;. .表示上级(父)目录 例: (参看p43,图4-2) 当前目录是/home/team01
/home/team01/doc/mon_report doc/mon_report . ./tea m03/pgms/suba ./test1

6 四、与目录相关的命令 pwd cd mkdir rmdir ls

7 工作目录 在UNIX系统中,用户总处于某个目录中。正在工作的这个目录叫工作目录或当前目录。

8 1、显示工作目录PWD 列出正在工作的目录(Print Working Directory)pwd命令,用于显示你当前所处的目录名
登录完成后,显示用户主目录的路径名

9 PWD 命令 图例:显示的是用户主目录的路径名。
/home/a1是用户的主目录路径名,也是用户当前工作目录的路径名。从/开始,是一个绝对路径名,表示从根目录开始直到用户主目录的路径。 a1是登录名和用户主目录名

10 定位工作目录中的文件 工作目录是a1,若显示有文件myfirst和一个名为source 的目录,其中有一个文件。a1目录中的文件myfirst的路径名是/usr/a1/myfirst,这是文件的绝对路径名。如果在工作目录中,不需要用完整的路径名指示,而只需要文件名(这里是myfirst)就足够了。

11 定位其他目录中的文件 当文件不在工作目录时,需要指定文件所在的目录。
例如,工作目录是usr。用户source目录中的文件first.c的路径名为:a1/source/first.c。

12 2、改变当前目录change diretcor
格式:$cd dir_name 作用:从一个目录改变到另一个目录。 $cd 不带任何参数时,将把你送回自己的用户主目录中。(即用户登录时自动进入的第一个目录) $cd .. 将把你向上送至当前目录的父目录中。

13 改变当前目录change diretcor
返回用户主目录:如果目录有许多层,而当前目录处在目录结构中比较深的位置时,不用输入太多字符就可以回到用户主目录会非常方便。用户可以用$HOME(保存用户主目录路径名的变量)作为cd命令的目录名。或者仅输入cd,然后按回车键,默认回到用户主目录。

14 举例: (参见p43) $cd home $cd doc $cd $pwd _______ $cd aaa _______

15 3、创建目录(mkdir) 格式:$mkdir dir_name 作用:创建一个子目录,或一次创建多 个子目录。
作用:创建一个子目录,或一次创建多 个子目录。 在每一个新的子目录中,均包含两个标准的项目:.(点) 和 ..(双点)  mkdir 命令带-m选项,可用来创建一个带有特定权限的子目录。

16 Mkdir命令 创建目录 [实例] 回到用户主目录,在memos目录下创建名为divid88的子目录。

17 举例: 1.在用户主目录下创建memos和important: $cd $mkdir memos $pwd _________
$cd memos $pwd __________ $mkdir memos/important $cd memos/important $pwd ___________

18 source first.c 根目录 USR $ cd $ mkdir menmos david myfirst $ pwd
/usr/david $ cd memo $_ david source myfirst first.c REPORT $ cd $ mkdir memos/important 当前目录 Draft_1 memos phones $ cd menmos/important $ pwd /usr/david/memos/important $_ important 123 现在工作目录

19 (续) 注意:1、创建的目录应该不存在; 2、可以在任何一级用mkdir,而不一定要在当前目录下创建。

20 5、删除目录(rmdir) 格式:$rmdir dir_name 作用:删除不需要的目录 说明: 1. dir_name参数必须有
被删除的子目录必须为空子目录。 (即只包含. 和. .)

21 一次操作多个目录 在AIX中,可同时创建多个目录,且可用一个命令删除某个目录及其所有的子目录。 在操作时要使用带-p的命令选项。 举例:
$mkdir –p dir1/dir2/dir3 $rmdir –p dir1/dir2/dir3 有下列二种情况之一时,rmdir命令不起作用: 1.       待删除的目录不是空目录 2.       你对待删除目录没有写的权限

22 一次操作多个目录 -P选项:一行命令可以创建一个完整的目录结构。使用-P选项在当前目录下逐级创建目录。
[注意]:创建的目 录不存在。用不着非得创建当前目录的子目录。只要给出新目录的路径名,可以在任何一级目录运行该命令。

23 举例: 在用户主目录内创建一个三层的目录: $cd $mkdir –p xx/yy/zz

24 first.c 根目录 USR david source myfirst REPORT memos Draft_1 important
phones xx yy zz 123

25 6、显示目录中的各项 (ls) 格式:$ls dir_name (dir_name是可选的) 作用:显示(列表 list)目录命令
选项:-a,-R 举例:$cd, $ls(显示用户主目录中的内容) $ls -a(显示所有文件) 文件名以.开头的文件是隐藏文件 $ls -R(显示所有子目录的内容)

26 列出目录中文件的详细信息(ls) 格式:$ls –l 作用:使用带-l选项的ls命令,能得到目录中的文件的详细信息 显示内容的说明:
字段1显示是文件还是目录;读写权限。 字段2显示了链接数 字段3显示了该文件的拥有者的名称 字段4显示了用户组权限所作用的用户组的名称。 字段5显示了该文件的字节数 字段6显示了该文件被最后修改的时间 字段7显示了该文件或目录的名称

27 -l 以长(long)格式显示文件的七项主要信息, 例如: $ ls -l data total 28
-rwxrw-r-- 1 zhang student Jul :23 file1 -rw-rw zhang student Sep :56 file2 drwxr-xr-x 2 zhang student Sep :39 hist 文件名 最后修改时间 文件大小(字节数) 文件所属用户组 文件属主(所有者) 文件链接数 文件保护模式 文件类型(-:普通 d:目录 c:字符设备 b:块设备 p:管道) 2019年4月20日

28 如果ls 命令列出的文件是设备特殊文件, 则该命令的输 出格式略有不同, 例如: $ ls –l /dev 次设备号
出格式略有不同, 例如: $ ls –l /dev 次设备号 brw-rw root admin 2, Sep :56 disk3 crw-rw-rw- 1 root admin 6, Sep :39 lp 文件名 最后修改时间 主设备号 文件所属用户组 文件属主(所有者) 文件链接数 文件保护模式 文件类型(c:字符设备 b:块设备) 2019年4月20日

29 ls命令的命令选项 -a 功能:列出所有文件,包括隐藏文件(入图所示) -C 功能: 以多列的格式列表,按列排序
-F功能: 如果是目录,文件名后加/;如果是可执行文件,加*表示

30 ls命令的命令选项 -l 功能:按照长格式列表,显示文件的详细信息 -m功能:按页宽列文件,以逗号分隔 -p功能: 如果是目录,文件名后加/
-r功能: 以字母反序列表 -R功能:循环列出子目录的内容 -s功能: 以文件块为单位显示文件大小 -x功能: 以多列的格式列表,按行排序

31 [说明] 1。 每个选项字母前需要加连字符。 2。 命令名和选项之间必须要有空格。 3。 加目录的路径名列出其他目录的文件。
4。 一行命令中可以多于一个选项。

32 (续) 注意: 目录的大小是以512字节为增量的。   名称是存贮在目录之中的,其它显示的信息是存贮在inode表中的

33 7、显示目录条目的信息 使用-i命令选项,inode序号将列在第一列。 使用-d命令选项,将只显示目录条目的信息。
可以使用不同的命令选项来显示不同的时间标记 ls –lc 显示更新时间 ls –l 显示更改时间 ls –lu 显示访问时间

34 显示目录条目的信息 文件类型: - 表示普通文件 d表示目录文件 b表示块设备文件 例如磁盘 c表示字符设备文件 例如打印机

35 五、UNIX 文件系统 文件系统的存储结构 UNIX 系统可以把一个能随机存取的存储介质 (如硬盘、软盘和光盘等)上的存储空间划分成一
2019年4月20日 文件系统的存储结构 UNIX 系统可以把一个能随机存取的存储介质 (如硬盘、软盘和光盘等)上的存储空间划分成一 个至多个区域,每个区域都可以像独立的物理设备 一样单独进行管理和数据存取,这样的存储区域, 即是逻辑设备。在逻辑设备上按照一定的格式进行 划分,就构成了逻辑文件系统,简称文件系统。

36 引导块: 系统上电启动时, 其中的引导程序读入和装 载操作系统. 它不是文件系统的必要组成部分.
2019年4月20日 引导块 超级块 i 节点表 数据存储区 逻辑文件系统的存储结构 引导块: 系统上电启动时, 其中的引导程序读入和装 载操作系统. 它不是文件系统的必要组成部分. 超级块: 存放文件系统的标题信息, 包括文件系统 大小、i节点表大小、数据区的使用状况等. i节点表:其中的每一个表项存放一个文件的静态信 息:大小、类型、属主、索引表、访问权限和修改 日期等. 数据存储区: 实际存放数据的地方. 以块为单位存取

37 # mkfs specialfile blocksize gap blocks
文件系统的建立: # mkfs specialfile blocksize gap blocks specialfile: 要建立文件系统的逻辑设备名 blocksize: 文件系统块的大小, 通常为512字节 gap: 间隔因子, 用于提高读写速度 blocks: 文件系统的大小(块数) 2019年4月20日

38 文件系统的安装和拆卸 建立好的文件系统在使用时, 应挂接到一个目 录下, 这个目录通常为根目录下的一个空目录, 用户
建立好的文件系统在使用时, 应挂接到一个目 录下, 这个目录通常为根目录下的一个空目录, 用户 访问该目录时也就访问到了挂接在该目录下的文件 系统的内容. 这个挂接操作就叫安装. 一个文件系统不用时, 可使其从安装目录上拆卸 下来, 该安装目录断开与该文件系统的任何联系, 由 此保护该文件系统不受任何非法访问. # mount specialfile directoryname 如: mount /dev/hd03 /mnt # umount specialfile(or directoryname) 如: umount /dev/hd03 (umount /mnt)

39 文件系统的逻辑结构 who abc date lex cron ttys cat yacc mail rc ls bc lpd sar cp
2019年4月20日 root boot unix bin usr mnt etc tmp dev who tty01 abc bin lib include spool passwd mem tty02 date lex stdio.h cron tmp 029 libc.a fd0 ttyp1 ttys cat yacc file.h mail ex53 cdrom ttyp2 libm.a rc ls bc hd01 a.out.h lp lpd file. tmp libz.a mount hd02 sar cp dir.h 图例: 目录 普通文件 设备文件

40 在 UNIX 系统中, 所有静态的对象都属于 “文件”的范畴, 其主要目的是规范和简化上 层应用程序的接口. “文件” 和与其相对应的 “进程” 是UNIX 系统中的两个最基本概念.

41 5、目录文件的内容 目录是一种特殊的文件,它仅包含欲访问存放于其中的文件或目录所必需的信息。 目录一般比其它文件占用的空间小。
目录的作用在于将相关的文件组织在一起。 每一个目录条目,包括一个文件名(或子目录名),一个相关的inode(i节点)序数

42 目录结构 上级目录 /data /data/xyz 父目录 子目录 /data/abc 目录项长度: 2 + 14 = 16字节 ..
2019年4月20日 目录结构 上级目录 /data /data/xyz 72 . 2 .. 51 xyz prog 296 abc 父目录 51 . 72 .. 134 file 子目录 /data/abc 1111 333 444444 目录项长度: = 16字节

43 6. 索引节点(inode, i 节点) 磁盘 i 节点表中的一个表项, 存放文件的静态 信息. 各文件之间是以其 i 节点号相互区别的.
2019年4月20日 6. 索引节点(inode, i 节点) 磁盘 i 节点表中的一个表项, 存放文件的静态 信息. 各文件之间是以其 i 节点号相互区别的. .用户访问文件的过程 指定文件名找到相关的inode序数 访问inode表找到文件的位置访问文件中包含的数据 . inode表中包含了指定文件的各种相关信息。 (p42 图4-1)

44 六、与文件相关的操作 cp mv ln Cat (more) rm

45 在短文件名的系统中, 文件名最长为14字符, 在长文 ② 文件名可用字符
1、文件名及其规范 ① 文件名长度 在短文件名的系统中, 文件名最长为14字符, 在长文 件名的系统中, 文件名长度可达512字符. ② 文件名可用字符 (A ~ Z) 大写字母 ( _ ) 下划线 (a ~ z) 小写字母 ( . ) 小数点 (0 ~ 9) 数字 除此之外的所有其它字符(包括空格)不能用于文件名. 以点(.)开始的文件名是隐含文件名, 在列目录操作时通常不 显示出来. UNIX系统对文件名的含义不作任何解释, 文件名(包括 其后缀)的含义由使用者或调用程序来解释. 注意: 在UNIX系统中字母的大小写是有区别的!

46 AIX/Linux的文件名 文件名命名的规则: 文件名中不包括空格
文件名中不包括空格 文件名中不包括shell使用的特殊字符,如* ? > < / ; & ! [ ] | ‘ “ ( )。 不能用+号或-号作为文件名的第一个字符 不能与系统中的命令名相同 对大、小写是不同的。 文件名中最多包括255个字符

47 注意: AIX中没有文件扩展名。 .(点)只作为文件名中的一部分。 使用ls 命令是看不到以.作为文件名的第一个字符的文件的。
举例:myfile、 MFILE、my file JAN_list、my.new.list

48 touch 命令 作用:Touch命令是用于修改文件的访问时间 更改时间(modificated)的。并可以用来创建0字节长度的文件。
1、如果命令参数中指定的文件并不存在,这个文件将被创建; 2、如果命令参数中指定的文件存在,那么这个文件的最后一次更改时间(modificated)将被更新为当前的时间。

49 拷贝文件 (cp) 格式:$cp source target $cp file1 file2 ... Target-dir
作用:复制文件,对文件备分。用户可把文件从某个目录复制到另一个目录  选项: -i:如果目标文件存在,请求确认 -r:复制目录到新的目录 如果目标(target)参数中指定的是一个目录名,那么新的文件可与源文件同名。

50 cp举例: (p55) .单个文件拷贝: (图4-9) $pwd (/home/team01/doc)
$cp /home/team03/pgms/suba programa .多个文件拷贝: (图4-10) $cd /home/team01 $cp doc/programa test1 c . 不同目录之间的拷贝: (图4-11) $cd doc $ cp trio_ltr ../c

51 移动文件或重命名文件(mv) 格式:$move source target 作用:把文件从一个地方移动到别处,或用来更改文件、目录的名字。

52 如果bbb不存在, 则新建bbb, 如果bbb存在, 则用 aaa覆盖bbb. 执行后aaa不存在了. (注意与命令cp 的区别)
e.g. mv file1 file2 ② 如果bbb为一个目录文件名, 则将aaa移动到 bbb目录下, 文件名不变, 仍然为aaa. e.g mv file3 /home/student ③ 如果bbb为一个带路径的普通文件名, 则把 aaa移动到指定的目录下, 并且换名为bbb. e.g mv file4 /home/student2/file4.org 2019年4月20日

53 mv举例: P58 注意:使用mv命令后,并没有增加或减少文件,文件数量不变。唯一的改变是文件名或文件所处的目录改变了。

54 字. 新的文件名与原文件名可以在同一个目录下, 也可以在 不同的目录下. 新老文件名代表同一个文件. 例如: $ ls -l file1
2019年4月20日 链接文件: ln 命令 ln 命令的主要功能是给一个已经存在的文件再取一个名 字. 新的文件名与原文件名可以在同一个目录下, 也可以在 不同的目录下. 新老文件名代表同一个文件. 例如: $ ls -l file1 -rw-r--r liu teacher Sep :32 file1 $ ln file1 file2 $ ls -l file1 file2 -rw-r--r liu teacher Sep :32 file1 -rw-r--r liu teacher Sep :32 file2

55 说明: . 链接前, 文件已有不止一个名字 . 链接后, 文件内容并没有被复制 . 对文件的任何一个名字的操作具有完全相同的效果
. 链接前, 文件已有不止一个名字 . 链接后, 文件内容并没有被复制 . 对文件的任何一个名字的操作具有完全相同的效果 . 删除一个文件名时, 只要剩余文件名个数不为零, 文件继续存在

56 格式:$ln source_file target_file
作用:在现有文件与新文件之间建立新链接,使一个文件具有一个以上的名字 。 说明:.用ln命令可以让一个文件在目录 树中具有两个不同的名称。 .链接后,该文件的属主及文件的 权限设定没有变化。 举例:$ln report rp

57 ln 注意: 1、ln与cp的区别: ln只为文件建立另一个文件名,没有新的 文件产生,而cp是把文件的物理位置进行复制,
有两个分别的文件。 2、ln可以指定一个已经存在的目录名作为新文 件名,这样,用户可以不输入路径就可以在指定目录中访问该文件。 3、ln 的使用会使链接数增加。

58 小结: cp、mv和ln的区别: .cp创建新文件; .mv更改文件名或把文件移到别处; .ln为已经存在的文件建立别名。

59 显示文件内容 (cat,pg,more) 1、cat(concatenate,连结) 格式:$cat filename1 filename2
作用:用来显示、创建或者合并文件 说明:如果输出的内容超过了一屏长度,那么系统直接滚动到最后一屏的内容。你只能阅读最后一屏的内容。 举例:$cat fff (显示fff的内容) $cat f1 f2(分别看f1和f2的内容) 文件超过23行,则只能看到最后23行,用<ctrl-s>暂停, < ctrl-q>恢复。

60 显示文件内容 2、more 格式:$more filename
作用:more命令与pg命令有相同的作用,只是想看下一屏内容时,按<space>键。 举例:$more fff

61 删除文件 (rm) 格式:$rm file1 file2 作用:用rm命令可删除不需要的文件。 指定文件名,删除工作目录里的
文件;指定路径名,删除位于其 他目录的文件。rm直接删除,没 有提示、确认。 选项:-i: 删除文件前,给出确认; -r: 删除指定的目录及目录中的所有文件 和子目录。即删除整个目录结构。 注意:用rm命令删除后无法恢复。

62 本章小结: 系统中存在三个类型的文件: 普通文件 目录文件 特殊文件 AIX的文件系统结构是层次树状的结构
可以使用全路径或相对路径来访问文件。以/开始的路径名一定是全路径。

63 小结(续) 与目录相关的命令: 与文件相关的命令: pwd,cd,mkdir,rmdir和 ls
cp,mv,ln,cat,pg,more,rm


Download ppt "第三章 UNIX的文件与目录."

Similar presentations


Ads by Google