0
点赞
收藏
分享

微信扫一扫

Linux文件系统(1)

5.1UNIX文件系统概念

UNIX文件的概念:字节序列,字节流,设备的文件

1)普通文件

包括文本、程序、二进制、数据文件等。普通一般的逻辑结构有:堆;顺序文件;索引顺序文件;索引文件;直接(散列)文件

$od –cb filename   按每字符以8进制显示文件内容

2)目录文件

目录文件包含若干目录项,如:“.”、“..”,目录项内容:目录文件名,索引节点号

特点:整个UNIX文件系统只有一个根节点,且要通过安装来实现。


3)特殊文件

UNIX将涉及系统硬件资源的内容称做“特殊文件”,(设备文件化)

特点:

◎文件和设备的I/O统一处理;

◎命令解释执行时文件名和设备名有同样的语法和语义;

◎设备和普通文件处于同样的保护机制下。

分三类:

管道文件(有名称管道,无名称管道);(P)

块设备(一般以512字节为块大小);(b)

字符设备(c)。

另外:-:普通;d:目录;|:链接



4)文件许可机制

用ls –l 可以查看时:

-rwxr-xr-x 1 zhang group 72 sep 27 06:11 test

文件列表的前面9个字符即文件许可机制

注意:对目录的读:指可在命令执行时列出文件中的登记项,执行:当命令要分析路径名时,可检索到该路径名。

 chmod命令可以改变文件许可权,它和.profile文件中的umask的作用正好相反,它告诉系统在创建文件时不给予什么存取许可。(linux /etc/bashrc)

一般文本文件默认的许可权为:rw-r--r--

可执行文件和目录文件的许可权为:-rwxr-xr-x  


umask  一般设定为022(002)


创建文件默认最大权限为666  

默认创建的文件没有可执行权限x位。与umask    如果umask的部分位或全部位为奇数,在对应为奇数的文件权限位计算结果分别再加1就是最终文件权限值。  

创建目录默认最大权限777

  默认创建的目录属主是有x权限,即允许用户进入。  对于目录来说umask的设置是在假定文件拥有八进制777权限上进行。


5.2UNIX文件系统设计

UNIX中最出色的部分,结构简单,管理规范,使用灵活

5.2.1文件管理系统结构

     

    用户可见层

    从文件到文件记录  

    文件I/O控制,如i节点

    完成主存与辅存之间数据交换

    与外设通信  


文件逻辑结构  

逻辑I/O管理  

基本I/O管理  

基本文件系统  

字符设备驱动  块设备驱动  


Linux系统目录呈树形结构,文件系统只有一个根目录(通常用“/”表示),在根目录下面包含有下级子目录或文件的信息;子目录中又可含有更下级的子目录或者文件的信息。由于这种结构有点像树枝状,因此我们也把这种目录配置方式称为“目录树(directory tree)”,如图5.3。

Linux文件目录系统



图5.3 目录结构



5.3物理卷和逻辑卷

1)物理卷和物理分区

每个独立的硬盘称为一个物理卷,需要mount,umount,(/dev/disk0,/dev/disk1),磁盘块即物理分区,大小512B~4KB,磁盘容量以块计。

2)逻辑卷和逻辑分区

一个文件系统即一个逻辑卷,文件系统按逻辑卷构造,可以是一个或多个物理卷中分区的集合,逻辑分区与物理分区大小一致,有镜像时,一个逻辑卷可以对应多个物理卷。




3)卷组

    由一个或多个物理卷及其对应的逻辑卷构成,卷组是最大的存储单位,卷组描述区存放在卷组的前部,记载有关物理卷、逻辑卷的大小、个数、对应关系等




硬盘1

硬盘2

硬盘n

1    2   3                                n    n+1

逻辑分区






物理卷





卷组,最多32个物理卷



逻辑卷,最多256个


存储设备被格式化文件系统后,有block和inode两部分。

block是用来存放数据的,常为4kb,连续八个扇区组成一个block。扇区是磁盘上的最小存储单位,大小为512字节。

inode包含有文件的元信息,文件的字节数、文件拥有者的User ID、文件的Group ID、文件的读/写/执行权限、文件的时间戳、 链接数、 文件数据block的位置 。


inode


【例5-1】用stat命令查看文件test.sh的inode信息:

[root@localhost ~]# stat test.sh

 File: `test.sh'

 Size: 195    Blocks: 8    IO Block: 4096   regular file

Device: 802h/2050d Inode: 398165      Links: 1

Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2017-12-20 08:36:31.416803161 -0800

Modify: 2017-12-20 08:35:51.022804347 -0800

Change: 2017-12-20 08:36:20.330804697 -0800



【例5-2】用df命令查看每个硬盘分区的inode总数和已经使用的数量。

[root@localhost ~]# df -i

Filesystem  Inodes  IUsed   IFree IUse% Mounted on

/dev/sda2      1164592 100783 1063809    9% /

tmpfs           125514      7  125507      1% /dev/shm

/dev/sda1        76912     38   76874     1% /boot




举报

相关推荐

0 条评论