U盘、光盘、软盘、硬件、磁带
磁盘的逻辑边界
低级格式化-->划分磁道,扇区等
partition:分区,创建独立的文件系统
0盘面,0磁道,0扇区 512Byte 主引导记录,独立于操作系统之外
划分为3个片段
前446Byte:BootLoader,一段程序,引导加载器
接下来64Byte
每16Byte;标志一个分区
最后2Byte:Magic Number
标志MBR是否有效
存储在RAM中的一段程序代码,完成电脑的自检,
开机时BIOS会被映射到内存中,之后系CPU会根据BIOS设置的启动顺序,读
取设备的MBR,BootLoder会到对应的分区中寻找操作系统内核,并帮助CPU将
操作系统内核读入内存,在内核读入内存并解压之,BootLoader将控制权交给
内核,之后内核运行自身
MBR:最多创建4个分区(主+扩展<=4),扩展只能有1个
扩展分区,指针,指向其他的分区
磁盘分区:按照柱面分区
磁盘的读写延迟:磁头移动到数据所在的柱面的磁道上,或者磁头移动到相应的
磁道上,而并没有指向相应的扇区(盘片没转到数据所在的位置)会发生读写的延迟
衡量磁盘的优劣的重要指标--平均寻道时间
一般转速越快,自盘越好
硬盘的盘芯是真空的,否则会因为空气中的灰尘中的影响
笔记本 5400rpm(转/分)
台式机 7200rpm
工业级scsi 10K-15K级别
磁头与盘面的距离微米级别的
磁道越靠外,访问速率越高(角速度一样,弧长不同)
C盘通常是在比较外侧的磁道上
0磁道在最外侧
磁盘无法得知文件的开始与结束,需要给予磁盘逻辑的文件边界,即磁盘分区
在分区上创建文件系统,文件系统并不是直接在分区上的,文件系统中的数据在分区上
文件系统相当于是一个软件,将分区划分成两部分,一部分叫做元数据(metadata)存储区,用于文件索引,
一部分为数据存储区,而数据存储区又逻辑的划分成一个一个存储单元,叫做块
元数据区域中有一块叫做块位图,用于集中存放块是否使用过的标记,每一个块用1bit表示
元数据 相当于一条一条的条目
用于存放元数据的空间大小需要与数据区域的大小相对应,如果
元数据区域存满了(条目存满了),则数据区也无法存入新的数据
扫描元数据(inode),也需要inode位图(bitmap),位图中的数据相应位置的元数据条目是一一对应的,标志其是否空闲
元数据中的条目叫做inode
每一条inode,拥有全局唯一的编号
inode (index node)索引节点,它用来存放档案及目录的基本信息,记录的信息有编号,权限,
属主,属组,时间戳,大小以及存储的磁盘块信息等,就是没有文件名
inode 存放的磁盘块信息 间接指向与直接指向 间接指向,多级指针,指向磁盘块位置
inode 记录的文件数据至少有底下这些:
inode 的数量与大小也是在格式化时就已经固定了,初次之外的特色
FAT32 最大文件4G
根的位置存放的内核,系统启动时,内核自己读取,根是自引用的
磁盘块分为数据区区域和目录块 文件名存储在目录快,分为两部分,一部分为inode号,另一部分为目录下的文件名,称为dentry 目录项
dentry是一个纯粹的内存结构,由文件系统在提供文件访问的过程中在内存中直接建立
由于目录树是由根目录开始读起,因此系统透过挂载的信息可以找到挂载点的 inode 号码(通常一个 filesystem 的最顶层 inode 号码会由 2 号开始),此时就能够得到根目录的 inode 内容,并依据该 inode 读取根目录的 block 内的文件名数据,再一层一层的往下读到正确的档名。
对于目录文件,其inode记录中存储的是目录的inode号、目录的属性元数据和目录文件的block指针,这里面没有存储目录自身文件名的信息
在目录文件的数据块中存储了其下的文件名、目录名、目录本身的相对名称"."和上级目录的相对名称"..",还存储了指向inode table中这些文件名对应的inode号的指针(并非直接存储inode号码)、目录项长度rec_len、文件名长度name_len和文件类型file_type。注意到除了文件本身的inode记录了文件类型,其所在的目录的数据块也记录了文件类型。由于rec_len只能是4的倍数,所以需要使用"\0"来填充name_len不够凑满4倍数的部分。
目录的data block中并没有直接存储目录中文件的inode号,它存储的是指向inode table中对应文件inode号的指针
/var/log/message
找到根对应的inode(自查找)-->根所对应的磁盘块-->var文件对应的inode号码-->元数据区var文件的inode号对应的条目
-->var文件的磁盘块-->log文件的inode的号码-->元数据区log文件的inode号相对应的条目-->log文件所对应的的磁盘块
-->message文件的inode号码-->元数据区域message文件的inode号对应的条目-->message文件的磁盘块-->访问数据
快速查找:建立缓存(dentry cache)
/bak/test.txt 10K 磁盘块2K
首先扫描inode位图,寻找空闲的inode,用作bak文件的inode-->占用inode编号-->inode对应的磁盘块-->找到磁盘的目录区域-->新建条目,文件名为text.txt,inode号为
之前找到的bak文件的inode-->扫描块位图-->寻找空闲的磁盘块,存储文件
为了避免出现较多的磁盘碎片,会分配较多的磁盘块用于存储文件,多余的磁盘块会归为空闲状态
删除磁盘块目录区域的文件名,对应的inode号不需删除-->块位图中,相应的位置标记为空闲状态
磁盘块的数据区,存储的数据没有删除-->块位图中,相应的位置标记为空闲-->存储新数据时,覆盖掉此前的数据
文件粉碎:找一大堆随机数据,覆盖掉该该磁盘块中原有的的数据
复制文件 比较慢
创建新文件,并填充原有的数据的过程
剪贴 比较快
在同一个文件系统中,数据的路径改变,将其目录项放到另一个目录项中,而inode与磁盘块、数据没有发生变化
如果要跨分区,比较慢
在新分区建立一个文件,把老分区文件数据复制过去,在老分区上删除文件
逻辑组\(块组 block group\)
全局描述信息,描述块组
每一个块组内部,有空闲块,inode位图等
硬链接 指向同一个inode的不同文件,这些文件具有相同的inode号,称为硬链接
符号链接(软连接) inode区域中没有存储块编号,而存储了另外一个文件的路径(字符串) 大小:字符串的大小 常见权限777
1、不能对目录文件做硬链接,只能对文件进行硬链接
2、不能在不同的文件系统之间做硬链接。就是说,链接文件和被链接文件必须位于同一个文件系统中。
3、创建硬链接,会增加文件被链接的次数
1、可以应用于目录
2、可以跨文件系统
3、不会增加文件被链接的次数
4、其大小为指向的路径所包含的字符个数
1、符号链接确实是一个新文件,它具有不同的I节点号;硬链接并没有建立新文件
2、删除源文件或目录,只删除了数据,不会删除链接。一旦以同样文件名创建了源文件,链接将继续指向该文件的新数据。
3、在目录长列表中,符号链接作为一种特殊的文件类型显示出来,其第一个字母是l。
4、符号链接的大小是其链接文件的路径名中的字节数。
5、当用ln -s命令列出文件时,可以看到符号链接名后有一个箭头指向源文件或目录
实例:
ls -l
第2个字段 数字表示文件被硬连接的次数
如果大于2,删除文件,并不会真正的删除,只有<=1时,才能彻底删除
ls -i
显示inode号
ln[-s -v] SOU DES
源文件:指定连接的源文件。如果使用-s选项创建符号连接,则“源文件”可以是文件或者目录。创建硬连接时,则“源文件”参数只能是文件;
目标文件:指定源文件的目标连接文件。
不加参数,创建硬链接
-s或——symbolic:对源文件建立符号连接,而非硬连接;
-v或——verbose:显示指令执行过程;
*用ln -s命令建立符号链接时,源文件最好用绝对路径名。这样可以在任何工作目录下进
行符号链接。而当源文件用相对路径时,如果当前的工作路径与要创建的符号链接文件所
在路径不同,就不能进行链接。
查看使用空间的,对文件和目录在磁盘使用的空间进行查看
-s或--summarize 仅显示总计,只列出最后加总的值。
-h或--human-readable 以K,M,G为单位
用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。
可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
-h或--human-readable:以可读性较高的方式来显示信息;
-i或--inodes:显示inode的信息;
-P或--portability:使用POSIX的输出格式;
占据磁盘块的文件:目录文件或者普通文件
pipe、设备文件等不占据磁盘块
b 块设备 按块为单位,可以实现随机访问的设备
c 字符设备 按字符为单位 线性设备
块设备(b)
硬盘
字符设备
硬盘、键盘
设备文件没有大小,而有主设备号与次设备号,并不占用磁盘空间
主设备号与次设备号存储在inode中,没有占据存储数据的磁盘块的大小
主设备号\(major number\)
标示设备类型
次设备号\(minor number\)
标识同一种类型的不同设备
系统通过主设备号与次设备号引用设备
mknod [OPTION(参数)]... NAME(文件名) TYPE(文件类型) [MAJOR(主设备号) MINOR(次设备号)]
-m:设置权限模式,默认为644
硬盘设备的设备文件名
IDE,ATA: hd
SATA: sd
SCSI: sd
USB:sd
a,b,c,...来区分同一类型的下的不同的设备
IDE:
一个IDE口接两块硬盘
第一个IDE口:主 hda ,从 sdb
第二个IDE口:主 hdc ,从 hdd
USB,SATA
内核识别的顺序
sda,sdb,sdc...
以IDE为例
hda1:第一个主分区或者扩展分区
hda2,hda3,hda4
逻辑分区
hda5,hda5....
文件系统属于内核的功能,但是创建文件系统需要用户结合内核来完成
ext2(无日志功能)
ext3
ext4
xfs(企业级64位文件系统)
reiserfs(反删除功能很好)
btrfs(centos 7上)
光盘:
网络文件系统:
集群文件系统:
内核级分布式文件系统:
windows的文件系统:
伪文件系统:
unix的文件系统:
交换文件系统:
用户空间的分布式文件系统:
高级格式化:创建文件系统 mkfs -t ext3
mkdir支持在不同文件的文件系统上创建文件
低级格式化
格式化分区的过程其实就是创建文件系
一个分区是一个文件系统
独立出来的文件,目录是在根下,但是用于存储的位置是在相应的磁盘的分区
如:独立出来 /var 将/dev/sda2挂在载到它的下面
-l:列出指定的外围设备的分区表状况;
Boot列 *表示操作系统存在的位置
查看当前系统识别几块硬盘
fdisk -l [/dev/to/some_device_file]
fidisk /dev/sda 交互式命令
`p:显示当前硬件的分区,包括未保存的
`
n:创建新分区
e:拓展分区
p:主分区
d:删除一个分区
w:保存并退出
q:不保存退出
t:修改分区类型
L:在t下查看支持的分区类型
l:显示所有支持的分区类型
fdisk操作完成后,内核没有读取到修改的数据(/proc/oartitons没有记录),需要是内核重新读取分区表
partprobe:使内核重新读取分区表(RedHat 5.x 上经常使用,6.x版本中常用partx)
所有的进程一般都运行在用户空间,操作模式为用户模式,没有特权
ring0,ring1,ring2,ring3
内核一般运行在ring0上,即内核空间
用户进程运行在ring3上,即用户空间
ring1与ring2没有使用
虚拟文件系统 Linux有VFS的存在所以支持众多不同的文件系统
不同的软件的操作统一到VFS,在作用到相应的文件系统
VFS属于内核模块
VFS 作为文件系统接口的根层。VFS 记录当前支持的文件系统以及当前挂装的文件系统。
可以使用一组注册函数在 Linux 中动态地添加或删除文件系统。内核保存当前支持的文件系统的列表,可以通过 /proc 文件系统在用户空间中查看这个列表。这个虚拟文件还显示当前与这些文件系统相关联的设备。在 Linux 中添加新文件系统的方法是调用register_filesystem
。这个函数的参数定义一个文件系统结构(file_system_type
)的引用,这个结构定义文件系统的名称、一组属性和两个超级块函数。也可以注销文件系统。
在注册新的文件系统时,会把这个文件系统和它的相关信息添加到 file_systems 列表中(见图 2 和 linux/include/linux/mount.h)。这个列表定义可以支持的文件系统。在命令行上输入cat /proc/filesystems
,就可以查看这个列表。
VFS 中维护的另一个结构是挂装的文件系统(见图 3)。这个结构提供当前挂装的文件系统(见 linux/include/linux/fs.h)。它链接下面讨论的超级块结构。
Linux为所有的设备文件都提供了统一的操作函数接口,方法是使用数据结构struct file_operations。
这个数据结构中包括许多操作函数的指针,如open()、close()、read()和write()等,但由于外设 的种
类较多,操作方式各不相同。Struct file_operations结构体中的成员为一系列的接口函数,如用于读/写
的read/write函数和用于控制的ioctl等。 打开一个文件就是调用这个文件file_operations中的open操作。
不同类型的文件有不同的file_operations成员函数,如普通的磁盘数据文件, 接口函数完成磁盘数据块读写操作;
而对于各种设备文件,则最终调用各自驱动程序中的I/O函数进行具体设备的操作。这样,应用程序根本不必考虑操作
的是设备还是普通文件,可一律当作文件处理,具有非常清晰统一的I/O接口。所以file_operations是文件层次的I/O接口。
ext2 文件系统(也称为第二扩展文件系统)旨在克服早期 Linux 版本中使用的 Minix 文件系统的缺点。多年来,该文件系统一直广泛应用于 Linux。但 ext2 中没有日志,现在基本上已被 ext3 和最新的 ext4 所取代。
ext3 文件系统向标准 ext2 文件系统添加了日志功能,因此是一个非常稳定的文件系统的一个演化发展。它在大多数情况下提供合理的性能并且仍旧在改进。由于它在可靠的 ext2 文件系统上添加了日志功能,因此可以将现有 ext2 文件系统转换为 ext3 文件系统,并且在必要时还可以转换回来。
ext4 文件系统是作为 ext3 的扩展来启动的,它通过增加存储限制和提高性能来满足更大文件系统的需求。为了保留 ext3 的稳定性,在2006 年 6 月,该扩展被拆分成一个新的文件系统,即 ext4。ext4 文件系统在 2008 年 12 月正式发布,包含在 2.6.28 内核中。不同于 ext3 的一些更改包括:
ext4文件系统的最大特点是在ext3的基础上使用区(extent,或称为段)的概念来管理。一个extent尽可能的包含物理上连续的一堆block。inode寻址方面也一样使用区段树的方式进行了改进。
默认情况下,EXT4不再使用EXT3的block mapping分配方式 ,而改为Extent方式分配。
(1). 关于EXT4的结构特征
EXT4在总体结构上与EXT3相似,大的分配方向都是基于相同大小的块组,每个块组内分配固定数量的inode、可能的superblock(或备份)及GDT。
EXT4的inode 结构做了重大改变,为增加新的信息,大小由EXT3的128字节增加到默认的256字节,同时inode寻址索引不再使用EXT3的"12个直接寻址块+1个一级间接寻址块+1个二级间接寻址块+1个三级间接寻址块"的索引模式,而改为4个Extent片断流,每个片断流设定片断的起始block号及连续的block数量(有可能直接指向数据区,也有可能指向索引块区)。
(2). EXT4删除数据的结构更改。
EXT4删除数据后,会依次释放文件系统bitmap空间位、更新目录结构、释放inode空间位。
(3). ext4使用多block分配方式。
在存储数据时,ext3中的block分配器一次只能分配4KB大小的Block数量,而且每存储一个block前就标记一次bmap。假如存储1G的文件,blocksize是4KB,那么每存储完一个Block就将调用一次block分配器,即调用的次数为1024*1024/4KB=262144次,标记bmap的次数也为1024*1024/4=262144次。
多个块在逻辑上划分为一组,称为块组
每一个块组有对应的块位图与inode位图
磁盘扫描时,以块组为单位进行扫描
每个block的大小在创建文件系统时可以人为指定,不指定也有默认值,block(块大小):512*2^n
元数据区域(Inode区域)
Inode(每个Inode都有一个编号)
数据区域 (block区域)
bitmap(Inode位图,单块实现记录,即在块组中寻找一个块记录下相关信息)
blockmap(块位图,单块实现记录,即在块组中寻找一个块记录下相关信息)
位于元数据区域,保存整个分区的全局信息
如果超级块损坏,整个分区就挂了,所以允许有多个备份
保存的内容
1、块组的数量
2、块组中快的数量
3、块大小
4、空闲磁盘块与已用磁盘块
5、空闲inode与已用inode
.....
保存当前系统上块组的名称,块组中块的数量,以及每一个块组的开始磁盘块与结束磁盘块等信息
允许备份
ext文件系统每一个块组信息使用32字节描述,这32个字节称为块组描述符,所有块组的块组描述符组成块组描述符表GDT(group descriptor table)。
虽然每个块组都需要块组描述符来记录块组的信息和属性元数据,但是不是每个块组中都存放了块组描述符。ext文件系统的存储方式是:将它们组成一个GDT,并将该GDT存放于某些块组中,存放GDT的块组和存放superblock和备份superblock的块相同,也就是说它们是同时出现在某一个块组中的。
假如block大小为4KB的文件系统划分了143个块组,每个块组描述符32字节,那么GDT就需要143*32=4576字节即两个block来存放。这两个GDT block中记录了所有块组的块组信息,且存放GDT的块组中的GDT都是完全相同的。
数据所占用的block由文件对应inode记录中的block指针找到,不同的文件类型,数据block中存储的内容是不一样的。以下是Linux中不同类型文件的存储方式。
文件名不是存储在其自身的inode中,而是存储在其所在目录的data block中。
Block
*MBR与任何分区无关,是一个扇区
*boot block 用于多操作系统的情况下,操作系统的boot loader的存放位置
*直接磁盘块指针、间接磁盘快指针、二级间接磁盘块指针、三级间接磁盘快指针
inode数量于磁盘块数量有一定的比例关系
etx3被称为日志文件系统(journal file system)
数据区、元数据区、日志区
加快文件系统修复的速度
/proc/filesystems:当前系统支持的文件系统类型
-t FSTYPE <文件系统类型>:指定要建立何种文件系统
mkfs -t ext2 就等于 mkfs.ext2
专门管理ext系列文件
用于创建磁盘分区上的“etc2/etc3”文件系统。
-j:创建ext3类型的文件分区
-b BLOCK\_SIZE:制指定块大小,默认为4096,可用取值有1024,2048,4096
-L LABEL<标签>:设置文件系统的标签名称,指定分区的卷标
例子: mk2fs -L MYDATA /dev/sda2
-m \#<百分比值>:指定给管理员保留块数的百分比,预设为5%,后面直接跟数字即可
-i \#<字节>:指定"字节/inode"的比例,即多少个字节创建一个inode,默认为8192,这里给的数字因该为512\*2^n
-N:指定要建立的inode数目
-F:不管指定的设备为何,强制执行mke2fs
-E: 用户指定额外文件系统属性
查询或查看磁盘设备的相关属性
blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型、LABEL、UUID等信息进行查询。
要使用这个命令必须安装e2fsprogs软件包。
用于查看或定义卷标
e2label 设备文件 卷标:设定卷标
tune2fs:调整文件系统的相关属性
-j:不损坏原有数据的情况下,为“ext2”文件系统添加日志功能,将其转换为“ext3”文件系统
-L LABLE:设置文件系统卷标
-m \#:调整预留块的百分比
-r:设置文件系统保留块的大小
-o:设置或清除文件系统加载的特性或选项
acl
-c \#:指定挂载的次数达到\#次之后,进行自检,0或者-1表示关闭此功能
-i \#:指定挂载多少天后进行自检
-l:显示文件超级块的信息
Filesystem state: 为clean表示没有要修复的文件,若为dusty
显示文件属性信息,适用于ext2或者ext3
-h:仅显示超级块信息
检查并修复Linux文件系统
-t FSTYPE:指定文件系统类型
-a:自动修复
专用于修复ext2/ext3文件系统
-f:强制检查
-p:自动检测
挂载:将新的文件系统关联至当前根文件系统
卸载:将某文件系统与当前根文件系统的关联关系移除
设备
设备文件: /dev/sda5
卷标:LABEL=""
uuid:UUID=""
挂载点:目录
要求
1、目录存在
2、目录没有被其他进程使用
3、目录中原有的文件会被暂时隐藏
挂载完成后,要通过挂载点访问对应文件系统上的文件
mount [options] [-o options] DEVICES MOUNT_POINT
-a:表示挂载/etc/fstab文件中定义的所有文件系统
-n:默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息
保存至/etc/mtab文;使用-n选项意味着挂在设备时,不把信息写如此文件
-t FSTYPE: 指定正在挂载设备上的文件系统的类型,不使用此选项时,mount会调用
blkid命令获取对应的文件系统类型
-r:只读挂载,挂载光盘时常用此选项
-w:读写挂载
-o:指定额外的挂载选项,即指定文件文件系统的属性
remount:重新挂在当前文件系统
sync:同步
umount:卸载某文件系统
umount 设备
umount 挂载点
卸载注意事项
挂载的设备没有进程在使用
X86架构:
物理地址 (physical address): 放在寻址总线上的地址
虚拟地址 (virtual address): CPU启动保护模式后,程序运行在虚拟地址空间中。注意,并不是所有的“程序”都是运行在虚拟地址中。CPU在启动的时候是运行在实模式的,
Bootloader以及内核在初始化页表之前并不使用虚拟地址,而是直接使用物理地址的。
32bit寻址
每个进程有4G虚拟地址可用,分为两段,其中1G被系统使用,其他的被进程使用,虚拟地址
映射到物理地址的页框(page frane) 或者硬盘空间(swap)
交换内存:
根据系统需要,将主存中的某个作业部分或者全部移动到外存,而把外存中的某个移动到
相应的主存储区,并使其运行
页框(page frame)--内存管理的概念,CPU中添加了能自动把虚拟内存(即逻辑地址)地址转化为物理内存地址的电路,为了简化这种电路,
就把RAM划分为长度为4KB或8KB的块,这种块就叫页框。
80286CPU以后,引入了虚拟地址(线性地址)
CPU:time slice(时间片)
查看内存(mem与swap)使用状况
-m:以MB显示
-L LABEL
swapon /dev/sda5 启用
-a:将/etc/fstab文件中所有设置为swap的设备,启动为交换区
swapoff /dev/sda5 关闭
使用软件来模拟实现硬件
允许用户以一个普通磁盘文件虚拟一个块设备
设想一个磁盘设备,对它的所有读写操作都将被重定向到读写一个名为 disk-image 的
普通文件而非操作实际磁盘或分区的轨道和扇区。(当然,disk-image 必须存在于一个
实际的磁盘上,而这个磁盘必须比虚拟的磁盘容量更大。)回环设备允许你这样使用一个普通文件。
回环设备以 /dev/loop0、/dev/loop1 等命名。每个设备可虚拟一个块设备。注意只有超级用户才有权限设置回环设备。
用于复制文件并对原文件的内容进行转换和格式化处理
if 代表输入文件。如果不指定if,默认就会从stdin中读取输入
of 代表输出文件。如果不指定of,默认就会将stdout作为默认输出
bs 代表字节为单位的块大小。
count 代表被复制的块数。
seek=<区块数>:创建数据文件时,跳过的空间大小
例子:
dd if=/etc/inittab of=/tmp/inittab
cp复制文件以文件为单位进行复制,dd则直接复制底层的数据流
cp:将文件内容先拷贝到内存,然后写入到目标位置,通过VFS
dd:直接复制01代码
复制一块磁盘的MBR到usb设备,实现备份
dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1
写回MBR
dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1
cat /dev/cdrom ->/root/rhel5.iso
制作光盘镜像
/dev/zero 该设备无穷尽地提供0(是ASCII 0 就是NULL),可用它来初始化文件
/dev/null 它是空设备,也称为位桶(bit bucket)。任何写入它的输出都会被抛弃
用于在一个文件或者设备上建立交换分区。
在建立完之后要使用sawpon命令开始使用这个交换区
创建lookback dev 用于swap
dd if=/dev/zero of=/var/swapfile bc=1M count=1024
mkswap /var/swapfile
swapon /var/swapfile
dd if=/dev/zero of=/var/swapfile2 seek=1023 bc=1M count=1024
使用ls -lh查看,文件大小为1G,而使用du -sh查看时,大小只有1.1M
该设备文件被虚拟的,大小由实际填充的数据而定,可增长
mount,可以挂载iso镜像
mount DEVICES MOUNT_POINT
-o loop:挂载本地回环设备,可用来挂载iso镜像
例子:
wget ftp://172.16.0.2//pub/rhci-5.8.1.ios /root
mount -o loop /root/rhci-5.8.1.ios /media
文件系统的配置文件
os初始化时会自动挂载此文件中定义的文件系统
各列含义
1、file system:用来指定你要挂载的文件系统的设备名称或块信息,也可以是远程的文件系统
可以使用设备名,UUID或者LABEL来指定
2、mount point:挂载点,也就是自己找一个或创建一个dir(目录),然后把文件系统挂到这个目录上,然后就可以从这个目录中访问要挂载文件系统。
对于swap分区,这个域应该填写:none,表示没有挂载点。
3、type:用来指定文件系统的类型。
4、options:用来填写设置选项,各个选项用逗号隔开,默认选项defaults
5、dump(转储频率):多长时间进行一次完全备份
此处为1的话,表示每隔一天进行一次完全备份,以此类推;为0的话,表示不备份
6、pass:用来指定如何使用fsck来检查硬盘顺序,一般而言只有根才能为1,0表示不检查
例子
/dev/sda /mnt/test ext2 defaults 0 0
mount -a 挂载在/etc/fstab文件中的所有文件系统
用于报告进程使用的文件和网络套接字,列出了本地进程的进程号,那些本地进程使用file,参数指定的本地或远程文件。
对于阻塞特别设备,此命令列出了使用该设备上任何文件的进程。
-v:
-k:杀死访问指定文件的所有进程
-m:指定一个被加载的文件系统或一个被加载的块设备
fuser -km MOUNT_POINT 终止正在访问次挂载点的所有进程