您的位置:首页 > 运维架构 > Linux

linux文件系统——读书笔记

2014-10-21 22:42 323 查看
一、文件系统组成

partition一般只支持一种文件系统类型。partition最前面的位置为superblock的位置,存储文件系统的大小和使用情况。

linux文件系统:文件以inode+block的方式保存。数据存放区域: inode
table 与 block area ;元数据包括: superblock、 block bitmap 与 inode bitmap 等。

• inode文件属性:文件原数据,包括文件属性和内容。具体包括:(owner/group);(read/write/excute);(type);建立或状态改变的时间(ctime)、最近一次的读取时间(atime)、最近修改的时间(mtime);容量;(flag);内容的指向
(pointer);

• Block :数据储存的最小单位。Block 是记录『文件内容数据』的区域,逻辑区块block是在
partition 进行 filesystem 的格式化时指定的最小存储单位。

• superblock 存放卷标名、block和inode总量、使用数量、大小、文件系统开始的位置。superblock
的作用是储存像是文件系统的大小、空的和填满的区块,以及他各自的总数和其它诸如此类的信息等等,

• Group Description:block 由由何处开始;

• Block bitmap: block 是否被使用;

• Inode bitmap:inode 是否被使用;

• Inode table:inode 数据存放区;

• Data Blocks:block 数据存放区。

二、文件属性

1、普通文件 (regular file ):第一个属性为 [ - ],如 [-rwxrwxrwx ]。

o 纯文字文件(ASCII):可以直接读到的数据。

o 二进制文件(binary):系统仅认识且可以执行二进制文件

o 数据格式文件(data):特殊格式的文件

2、目录 (directory):第一个属性为 [ d ],例如 [drwxrwxrwx]。

3、连结档 (link):快捷方式。第一个属性为 [ l ], 例如 [lrwxrwxrwx] ;

4、设备与装置文件 (device):与系统周边及储存等相关的一些文件, 通常都集中在 /dev 这个目录之下。

o 区块 (block) 设备档 :储存数据以提供系统存取的接口设备,如一号硬盘的代码是 /dev/hda1。第一个属性为 [
b ];

o 字符 (character) 设备档 :串行端口的接口设备, 如键盘、鼠标等。第一个属性为 [ c ]。

5、资料接口文件 (sockets):数据接口文件,通常被用在网络上的数据。第一个属性为 [ s ], 常在 /var/run 目录中。

6、数据输送文件 (FIFO, pipe): 目的在解决多个程序同时存取一个文件所造成的错误问题。第一个属性为 [p] 。

三、linux中常见目录内容

Filesystem Hierarchy Standard (FHS) 标准:规范定义出最上层 (/) 及次层 (/usr, /var) 的目录内容应该要放置的文件。

根目录 root (/)
开机的时候系统第一个挂载的 partition ,所有开机过程会用到的文件都要放置在这个 partition 当中。包括/etc, /bin, /dev, /lib, /sbin 。

/bin, /usr/bin, /usr/local/bin
使用者可执行的二进制文件目录

/boot Linux 系统开机会用到的文件。 如vmlinuz 为 Linux 的 Kernel 。默认内核存也放于/boot。

/dev 任何装置与接口设备以文件的型态存在于此目录中。 主要分为接口设备 (character device),例如键盘、鼠标等;以及储存设备 (block device), 例如硬盘、光盘等。

/etc 系统主要的设定文件,如账号密码文件、 各种服务的启始档等。

• /etc/init.d/:所有服务的预设启动 script 都是放在这里的,例如要启动或者关闭 iptables : /etc/init.d/iptables start /etc/init.d/iptables stop

• /etc/xinetd.d/: super daemon 管理的各项服务的设定文件目录。

• /etc/X11:与 X Window 有关,尤其是 xorg.conf 或 XF86Config 这两个 X Server 的配置文件。

•开机时所要用到的各项设定值 (/etc/sysconfig/*)

/lib, /usr/lib, /usr/local/lib
函式库放置的目录。

/lost+found
系统不正常产生错误时,会将一些遗失的片段放置于此目录下, 通常会自动出现在某 partition 最顶层的目录下。

/mnt /media
预设挂载点文件

/opt 这是给主机额外安装软件所摆放的目录。

/proc 虚拟文件系统。包含正在运行的内核信息数据都在内存当中, 如系统核心、形成信息、接口设备的状态及网络状态等。目录下的数据都是在内存当中, 所以本身不占任何硬盘空间。例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等。

/sbin, /usr/sbin, /usr/local/sbin
系统管理员用的执行指令,如: fdisk, mke2fs, fsck, mkswap, mount 等等。

/srv 服务所需要取用的数据目录。如WWW 服务器需要的网页资料就可以放置在 /srv/www 里面。

/usr 包含系统的主要程序、 图形接口所需要的文件、额外的函式库、本机端所自行安装的软件,以及共享的目录与文件等等。

• /usr/bin, /usr/sbin:一般身份使用者与系统管理员可执行的文件放置目录;

• /usr/include:c/c++等程序语言的档头 (header) 与包含档(include)放置处, 当我们以 tarball 方式 (*.tar.gz 的方式安装软件) 安装某些数据时会使用

• /usr/lib:各应用软件的函式库文件放置目录;

• /usr/local:本机端自行安装的软件预设放置的目录。也适用于 /opt 目录。

•/usr/share:共享文件放置的目录,如 /usr/share/doc:系统说明文件; /usr/share/man:manpage 的文件目录;

• /usr/src:Linux 系统相关的程序代码放置目录,例如/usr/src/linux 为核心原始码!

• /usr/X11R6:系统内的 X Window System 所需的执行档

/var

系统执行过程中, 常态性变动的文件放置的目录。如cache 或者log file。

• /var/cache:程序在运作过程当中的一些暂存盘;

• /var/lib:程序本身执行的过程中,需要使用到的数据文件放置的目录, 举例来说, locate 这个数据库与 MySQL 及 rpm 等数据库系统,都写在这个目录内。

• /var/log:登录文件放置的目录。

四、其它

mount

mount 挂载文件系统

mount -t 文件系统类型 【参数】 设备 挂载点

umount 【参数】 设备/挂载点

链接:

hard:

有两个目录记录了连接文件的关连数据

symbolic

建立一个独立的文件, 这个文件会让数据的读取指向他 link 的那个文件内容,与 Windows 的快捷方式相似,所建立的文件为一个独立的新文件,会占用 inode 与 block

ln [-sf] 来源文件 目标文件

常用命令:

stat指令可对inode进行检查

查看ext2 文件系统信息 dumpe2fs

df 查看目前的磁盘最大容许容量、已经使用掉的容量、 目前所在目录的已使用容量

du :目前磁盘的文件容量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: