学习日记-磁盘与文件系统管理

按名称存取是文件系统存在的一个主要目的
是一个软件,对磁盘上存在的二进制进行管理
为了能在一个磁盘上安装多个系统,引入了分区的概念

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:用来格式化

扫描二维码关注公众号,回复: 3036257 查看本文章
  -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

猜你喜欢

转载自blog.csdn.net/weixin_36209467/article/details/82191976