按名称存取是文件系统存在的一个主要目的
是一个软件,对磁盘上存在的二进制进行管理
为了能在一个磁盘上安装多个系统,引入了分区的概念
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}:指定块大小默认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: 文件类型 设备
-a: 自动修复错误
-r: 交互式修复错误
e2fsck:
-f: 强制前侧
-y: 对问题自动回答为yes
交换分区:
虚拟内存:把内存中不用的数据放在磁盘上的一个位置,这个位置叫做交换分区,该分区的和内存用同样的文件系统
mkswap
-L label
swapon:启用交换分区
-a:打开所有
-p #:指定优先级
swapoff
-a
总结:fdisk,mke2fs ,mkfs, blkid,e2lable,dumpe2fs,tune2fs,fsck,e2fsck,mkswap,swapon,swapoff
分区:fdisk
格式化:创建文件系统
获取IDE磁盘的相关信息
haparm
-i 从操作系统读取
-I 直接从硬盘读取
-g 显示硬盘的布局信息
-t 测试硬盘的性能
-T 测试硬盘的性能
/proc/partitions
/proc/meminfo
/proc/filesystems 内核能识别的文件系统类型
挂载:
手动挂载
按需挂载
开机自动挂载
mount [options] [-t fstype ] [-o option] 设备 挂载点
[option]:命令的特性
[-t fstype ]:指定文件系统,不指定就用默认
-o options:挂载时启用分区特性,不指定就用默认
不带任何选项可显示当前挂载信息,来读一以下文件类似
/proc/mounts , /etc/matb
常用选项:
-t: fstype
-r: 只读挂载
-w:读写挂载
-L: lable 以卷标指定,也可以使用LABLE="lable"
-U: UUID:使用UUID挂载,也可以使用 UUID="uuid"
-o options
async:异步I/O
sunc:同步I/O
noatime/atime:是否更新时间戳
auto: 是否能够被mount -a 自动挂载所有(/etc/fstab中)的文件自动挂载
dev/nodev:是否能创建设备文件
diratime/nodirtime:是否更新目录的时间戳
exec/noexec:是否允许执行二进制程序
_netdev:网络设备,网络未准备好,就不一直挂载
remount:重新挂载
relatime/norelatime 是否实时更新
acl:启用facl(文件访问控制列表)
ro:只读
rw:读写
#tune2fs -o mount-option 设备
#tune2fs -o ^mount-option取消
例如:
tune2fs -o acl
tune2fs -o ^acl
光盘:
/dev/cdrom /dev/dvdrom /dev/sr0
[-t iso9660]
挂载点,原始数据将会暂时隐藏
1. 选项放空闲路径
2. 事先的存在
卸载:
1.空闲时可以被卸载
查看占有挂载的设备的进程
fuser -v 挂载点 查看当前在使用该挂载点的用户
fuser -km 挂载点 强制剔除使用的用户
umount 设备|挂载点
df:磁盘空间的使用状态
df [OPTION]… [FILE]…
-h:显示易读的信息
-i:显示indoen
-P:全部显示
du: 查看文件占用磁盘的大小
-s:显示文件大小之和
-h: 易读的
开机自动挂载
/etc/rc.d/rc.sysinit:系统初始化脚本
在这脚本中有一段是:挂载/etc/fstab文件中定义的文件系统挂载表
#
# /etc/fstab
# Created by anaconda on Tue Aug 21 13:24:56 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=14be1fcf-c506-4366-a019-9dda9deb9d95 / ext4 defaults 1 1
UUID=fe4d1685-cb59-4ceb-bce2-58b2888b9d7e /boot ext4 defaults 1 2
UUID=80a74dbd-eb95-42b0-a619-a8a952e426b3 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
各自段的含义
1.要挂载的设备:设备文件,LANG=,UUID:
2.挂载点:swap没有挂载点,挂载点为swap
3.文件系统类型
4.挂载选项:多个选项间使用逗号分割
5.转储频率 :0:从不备份,1;每日备份,2,两日备份
6.自检次序 1:首先自检,通常为根使用 0:从不自检
mount -a 会挂载这个目录未被挂载的设备
交换分区:
Linux使用内存机制:/proc/sys/vm/swapiness
能不用就不用,会降低性能
大小:物理内存2G到4G = 4G
物理内存小于2G = 2*物理内存
物理内存大于8G = 4G
查看内存空间使用状态
1.cat /proc/meminfo
2.free
free:
-m: 显示M为单位
-g:显示为G为单位
把文件当磁盘来用,这样的文件Linux叫本地回环设备
dd命令:类似cp命令的功能本质不同(cp会调用文件系统VFS,先把内存中的数据读出来,然后在磁盘上创建一个新的文件,在数据存进去。而dd是绕过文件系统,直接把文件,复制到新的文件重)
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 制作光
备份mba:
dd if=/dev/sda of=/dev/myfile bs=512 count=1
dev/zero 一直向外吐0
dev/null 一直接受数据
dd if=/dev/zero of=/dev/sda bs=400 count=1会破坏bootloder
dd if=/dev/zero of=/dev/sda bs=500 count=1会破坏bootloder 和 分区信息
[root@localhost 4.4.4]# dd if=/etc/issue of=/etc/issue.net
0+1 records in
0+1 records out
47 bytes (47 B) copied, 0.000704286 s, 66.7 kB/s
[root@localhost 4.4.4]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
[root@localhost 4.4.4]# cat /etc/issue.net
CentOS release 6.5 (Final)
Kernel \r on an \
总结:mount , umount , fuser, free, du, df. dd
文件链接
ln 源文件 目标文件
硬链接:
不能跨分区,
指向同一个indone的两个位置
不能对目录创建硬链接
硬链接会改变文件被链接的次数
符号链接:
ln -s
符号链接可以跨分区
符号链接文件跟源文件不同一个inode
可以对目录创建符号链接
符号链接不会改变源文件被链接的次数
压缩工具:
1. gzip,gunzip=gzip -d, zcat查看压缩文件内容
后缀:.gz
-c:将压缩结果送到标准是输出,可以使用重定向将其保存为压缩文件‘
2.bzip2, bunzip=bzip2 -d,bzcat 查看压缩文件内容
-k 压缩后保留原文件
3.xz,unxz = xz-d xzcat 查看压缩文件内容
后缀 .xz
4.zip unzip 可以压缩目录
-#:指定到1-9
归档工具:
tar [option] -f file.tar file ….
-f:指定文件
-c:创建归档
-x:展开归档
-t:不展开而直接查看被归档文件
-v:显示信息过程
-z:调用gzip -zcf -zxf
-j:调用bzip2 -jcf -jxf
-J:调用xz -Jcf -Jxf