文件系统
按名称存取是文件系统存在的一个主要目的
定义: 文件系统是一个软件,对磁盘上存在的二进制进行管理
MBR:Master Boot Record 主引导记录
512byte:
bootloader:记载器,4 46bytes
fat:每16个字节引导一个分区,
MBR有效性标记:5A
4个主分区
3主,1扩展分区,引用其他额外的分区表
逻辑分区
硬盘:
存放位置 /dev
硬盘接口:
IDE(ATA):并口,每个控制器可接两个硬盘,master/slave,133MB/S
/dev/hd[a-z]
/dev//hda[1-4]
逻辑分区5开始
/dev/hda[5+]
SCSI:Small Computer System Interface 小型计算机接口
320mb/s
SATA(Serial):300Mbps,600Mbps,6Gbps
SAS:6Gbps
DMA:Direct Memory Access直接内存访问机制
USB:
/dev/sd[a-z]
[1-4]
[5+ ]
VFS:
文件系统:
基本文件系统:Ext3,Ext3,Ext4,Reiserfs,xfs(支持单个巨大的文件),JFS,vfat,NTFS
交换分区:swap
集群文件系统:GFS2,OCFS2
网络文件系统:NFS,smbfs(window是CIFS)
光盘:iso9660
raw:
没有做任何的文件系统
实现分区工具:
fdisk sfdisk parted
fdisk
d 删除分区
n:新建一个分区
p:列出已有分区
t:调至分区ID
l:列出内核支持的分区id
w:保存退出
q:不保存退出
m:帮助
Centos5:partprobe
Centos6:partx kpartx
kpartx -l /dev/sda
kpartx -af /dev/sda
partx -a /dev/sda
mkfs:用来格式化
-t 文件系统 :指定文件系统以后来格式化分区
mke2fs -t
Ext4:mkfs -t ext4 = mkfs.ext4 = mke2fs -t ext4
Ext3(日志文件系统):mkfs -t ext3 = mkfs.ext3 = mke2fs -t ext3 = mke2fs -j
mke2fs:
配置文件:/etc/mke2fs.conf
-t:指定文件类型
-j:
-L label: 指定卷标,
-b{1024|2028|4096}:指定块大小
-i # :#个字节给指定一个indone
-N # : 直接指定预留多少个indone
-I # : 指定Inode大小
-m # :预留给管理员的空间百分比,默认为5
-O :指定分区特性
e2label
e2label /dev/SOMEDEVICE 查看卷标,
e2label /dev/SOMEDEVICE Label 直接更改卷标
blkid
格式:blkid /dev/SOMEDEVICE
查看设备的属性,UUID和TYPE
dumpe2fs 查看超级块和是否有碎片
-h:仅显示超级块中保存的信息
tune2fs:调整mke2fs的信息
-l:查看超级块中的信息
-L: 设定卷标
-m:预留管理员的空间百分比
-j:如果原来的文件系统为ext2,-j能够将其提升为ext3
-o:[^]mount-options[,...] 指定默认挂载选项
-O:[^]feature[,...] 调整分区特性
tune2fs -o 挂载选项 设备
tune2fs -o ^设备选项 取消
fsck:文件系统检测
-t 文件类型 设备
-f 强行检测
-a 自动修复错误
-r 交互式修复错误
e2fsck -t 指定时间
-y 自动回答为yes
-f 强行检测
交换分区:
虚拟内存
mkswap 格式化为虚拟内存
-L label 指定卷标
swapon 启动虚拟内存
-a 启动所有的虚拟分区
-p:指定优先级
swapoff 关闭虚拟内存
获取IDE磁盘的相关信息
hdparm
-i 从操作系统读取
-I 直接从硬盘读取
-g 显示硬盘的布局信息
-t 测试硬盘的性能
-T 测试硬盘的性能
*/proc/partitions 查看挂在信息
/proc/meminfo
/proc/filesystems 内核能识别的文件系统类型*
挂载:
手动挂载 :按需要挂载
按需挂载 : autofs 自动文件系统 有人访问就挂载
开机自动挂载
命令
mount[options] -t 文件类型 -o option 设备 挂载点
[options] : 命令的选项
-n:不更新/etc/mtab文件
--bind:dir1 dir2 将目录挂载到目录上,使得dir2也能访问dir1的文件
-t fstype
-r 只读挂载
-w:读写挂载
-L lable 以卷标指定,也可以使用LABLE="lable"
-U UUID:使用UUID挂载,也可以使用 UUID="uuid"
-o options:挂载时启动分区特性
async:异步I/O
sync:同步I/O
noatime/atime 是否更新文件时间戳,不是特别重要的文件,建议noatime
auto: 是否能够被mount -a 自动挂载所有(/etc/fstab中)的文件自动挂载
dev/nodev:是否能创建设备文件
diratime/nodirtime:是否更新目录的时间戳
exec/noexec:是否允许执行二进制程序
_netdev:网络设备
remount:重新挂载
relatime/norelatime 是否实时更新
acl 文件访问控制列表
##tune2fs -o mount-option 设备 设置属性
##tune2fs -o ^mount-option 设备 取消默认挂载属性
挂载点:挂载以后原始数据将被隐藏
1、选择空闲目录
2、必须事先存在
卸载:
1、空闲时可以卸载
直接使用mount可以显示当前系统的挂载信息,也可以查看/proc/mounts或者/etc/mtab
光盘:
/dev/cdrom /dev/dvdrom /dev/sr0
[-t iso9660]
查看占有挂载的设备的进程
fuser -v 挂载点
fuser -km 挂载点 强制剔除shell进程
df 磁盘空间使用状态报告
df [options] [device]
-h:显示易读的信息
-i:显示indoen
-P:全部显示
du 显示文件占用磁盘的情况
-s :整个目录大小
-h : 显示易读信息
开机自动挂载
/etc/rc.d/rc.sysinit:系统初始化脚本
其中一个功能:挂载/etc/fstab文件中定义的文件系统挂载表
/dev/mapper/vg0-root / ext4 defaults 1 1
UUID=58894bb8-5b23-4f00-baff-0c19d450bfe9 /boot ext4 defaults 1 2
/dev/mapper/vg0-usr /usr ext4 defaults 1 2
/dev/mapper/vg0-var /var ext4 defaults 1 2
/dev/mapper/vg0-swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
##要挂载的设备:设备文件,LABEL=“” UUID
##挂载点: swap没有挂载点,挂载点为swap
##文件系统类型
##挂载选项:多个选项间使用逗号分隔
##转储频率:
0:从不备份
1:每日备份 2:每隔一天备份
##自检次序
1:首先自检,通常只能被/使用
2-9:顺序
0:从不自检
交换分区:
物理内存不够才会使用到交换分区
linux使用内存机制:/proc/sys/vm/swapiness
多大选择:
大于2G,小于4G =4G
小于2G =2*物理内存
8G+:=4G
查看内存空间使用状态
cat /proc/meninfo
free
-m:显示结果以MB为单位
-g:显示结果以GB为单
本地回环设备
使用情况:磁盘没有空间,创建不了新的分区,有空闲的空间可以用,交换分区不够用
dd命令:
bs:一次读多大的数据量
count:读取次数
if:输入文件
of:输出文件
oflag=FLAGS 写出数据时的格式
#格式:
dd if=input_file of=output_file
dd if=input_file of=output_file bs=#[b|k|m|g] count=#
##/dev/zero:吐01的
文件链接
ln 源文件 目标文件
硬链接:
不能跨分区,
指向同一个indone的两个位置
不能对目录创建硬链接
硬链接会改变文件被链接的次数
符号链接: ln -s
符号链接可以跨分区
符号链接文件跟源文件不同一个inode
可以对目录创建符号链接
符号链接不会改变源文件被链接的次数
压缩工具
zip:
gzip:gunzip= gzip -d,zcat
后缀:.gz
-c 将压缩结果送往标准输出,可以使用重定向将其保存在压缩文件,从而保留文件
bzip2,bunzip2 =bzip2 -d
-k 保留源文件
后缀 .bz
xz
后缀.xz
-#:指定压缩比 1-9,默认的为6
归档工具:
tar [options] -f file.tar file1....
-c: 创建归档
-x:展开归档
-t:不展开而直接查看被归档的文件
-z:使用gzip压缩
-j:使用bz2压缩
-J:使用xz压缩
通常使用 zcf zxf jcf jxf Jcf Jxf
命令总结 hdparm ln,dd,df,du,gzip,gunzip,zcat,bzipw,bunzip2,bzcat,zip,unzip,xz,unxz,xzcat,tar