首页 > 代码库 > 22.自学Linux之路:文件系统,分区,格式化
22.自学Linux之路:文件系统,分区,格式化
按名称存取是文件系统存在的一个主要目的
是一个软件,对磁盘上存在的二进制进行管理
为了能在一个磁盘上安装多个系统,引入了分区的概念
track:磁道是有厂商划分好的
sector:扇区
固定角速度的设备
任意磁盘上的任意扇区,读取的平均时间称为平均寻道时间
柱面:
分区:
第0个扇区存放的是磁盘的分区信息,
MBR:Master Boot Record 主引导记录
512byte:
bootloader:记载器,446bytes
每16个字节引导一个分区,
2个字节被填充了2个5A,MBR有效性标记
4个主分区
扩展分区,引用其他额外的分区表
逻辑分区
GPT:大于2TB使用的技术
硬盘:存放位置 /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
fdisk sfdisk parted
VFS:
文件系统:
基本文件系统:Ext3,Ext3,Ext4,Reiserfs,xfs(支持单个巨大的文件),JFS,vfat,NTFS
交换分区:swap
集群文件系统:GFS2,OCFS2
网络文件系统:NFS,smbfs(window是CIFS)
光盘:iso9660
raw:
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 /dev/SOMEDEVICE 查看卷标,
e2label /dev/SOMEDEVICE Label 直接更改卷标
blkid 查看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 关闭虚拟内存
GPT,
SSD
分区:fdisk
格式化:创建文件系统
获取IDE磁盘的相关信息
hdparm
-i 从操作系统读取
-I 直接从硬盘读取
-g 显示硬盘的布局信息
-t 测试硬盘的性能
-T 测试硬盘的性能
/proc/partitions
/proc/meminfo
/proc/filesystems 内核能识别的文件系统类型
挂载:
手动挂载
按需挂载
开机自动挂载
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 文件访问控制列表
挂载点:挂载以后原始数据将被隐藏
1、选择空闲目录
2、必须事先存在
卸载:
1、空闲时可以卸载
umount 设备|挂载点
直接使用mount可以显示当前系统的挂载信息,也可以查看/proc/mounts或者/etc/mtab
光盘:
/dev/cdrom /dev/dvdrom /dev/sr0
[-t iso9660]
查看占有挂载的设备的进程
fuser -v 挂载点
fuser -km 挂载点 强制剔除shell进程
df 磁盘空间使用状态报告
-h:显示易读的信息
-i:显示indoen
-P:全部显示
du 显示文件占用磁盘的情况
-s :整个目录大小
开机自动挂载
/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=”ladel” 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:输出文件
dd if=input_file of=output_file
dd if=input_file of=output_file bs=#[b|k|m|g] count=#
cat /dev/cdrom > /tmp/linux.iso 制作光盘
/dev/zero:吐01的
文件链接
ln 源文件 目标文件
硬链接:
不能跨分区,
指向同一个indone的两个位置
不能对目录创建硬链接
硬链接会改变文件被链接的次数
符号链接:
ln -s
符号链接可以跨分区
符号链接文件跟源文件不同一个inode
可以对目录创建符号链接
符号链接不会改变源文件被链接的次数
dev 第一个表示主设备号 第二个表示次设备号
压缩工具
zip:
gzip:gunzip= gzip -d,zcat
后缀:.gz
-c 指定要压缩的文件
bzip2,bunzip2
-k 保留源文件
后缀 .bz
xz
后缀.xz
-#:指定压缩比 1-9,默认的为6
归档工具:
tar [options] file.tar file1....
-c:创建归档
-x:展开归档
-t:不展开而直接查看被归档的文件
-z:使用gzip压缩
-j:使用bz2压缩
-J:使用xz压缩
22.自学Linux之路:文件系统,分区,格式化