• 块:系统按逻辑把磁盘存放数据的区域分成很多个块,每一个块的大小可以是 1024 ,2048 ,4096 (字节)设备文件不会占磁盘块,每一个块都有一个inode号

  • 超级块super block 储存块的数据:

  • 1.有多少个块组

  • 2.每一个块组中包含多少个块

  • 3.块的大小

  • 4.空闲的磁盘块,已用的磁盘块,已用inode,空闲inode

  • 任何分区的第一个块都会被系统预留下来:多系统时会用到,用于加载引导分区上的系统

  • 一个分区中包含有:boot block(分区的第一个块)--block group0--block group1--block group2....

  • block group 中包含:super block --- GDI(块组描述表) ---data block bitmap(块位图) --- inode bitmap(inode位图) --- inode table(inode 表) --- data block

  • GDI块组描述表:每一个块组的块组名,起始块,结束块,结束块编号

  • 目录映射表:

  • inode   rec_len   name_len   file-type   name

  • 0   21      12         1            2         .

  • 12  22      12         2            2         ..

  • 磁盘引用格式

  • mode

  • owner-info

  • timestamps

  • (一级引用)diroct block-----------data  直接引用 指针有限

  • (二级引用)indiroct block-----------------块组-----------{data  data}

  • (三级引用)doublc indiroct--------块组-----{块组 块组}-------{data data data data}    (大文件常用,同样也限制了单个最大文件)   间接引用

  • triplc indiroct

  • 文件系统管理:

  • 重新创建文件系统会损坏原有文件

  • 查看当前内核支持的文件系统类型:cat /proc/filesystems

  • mkfs:make file system

  • mkfs -t fstype /dev/sda#

  • 管理ext系列文件:

  • mke2fs -j ext3 /dev/sda#  直接创建为ext3文件系统(mke2fs -j /dev/sda# )   -b:指定block size 默认为4096字节可以用1024  2048 4096   -L:指定分区卷标  -m #:指定预留给root用户的块数百分比(不用接百分号)  -i:用于指定多少字节的空间创建一个inode,默认为8192 这里给出的数值应该为块大小的2n倍  -N #:指定创建inode个数  -F:强制创建文件系统(用于正在挂载使用的分区)  -E:用户指定额外文件系统属性

  • blkid:查看磁盘设备的相关属性 blkid 设备名(uuid:统一的全局的唯一的标识符)

  • eslabel:用于查看或定义卷标  定义卷标:e2label 设备名 卷标名

  • tune2fs:用于调整文件系统的相关属性 , -j ext3 :将ext2升级为ext3 不损坏原有数据,但不能降级 (ext2和ext3的区比:ext3中加入了日志文件系统)  -L:设定或修改卷标  -m #:调整预留百分比  -r #:指定预留块数  -O:设定默认挂载选项  -c #:设定挂载次数,达到#次后进行自检,0或-1关闭此功能  -i #:没挂载多少天后进行自检,0或-1关闭此功能  -l:显示超级块中的信息

  • dumpe2fs:显示文件属性信息 -h:只显示超级块信息

  • fsck:检查并修复文件系统 -t fstype:指定文件系统类型  -a:自动修复(不询问,自动完成)

  • e2fsck:专门检查并修复ext2 ext3   -f:强制检查  -p:自动修复 也可以-u

  • 挂载:将新的文件系统关联至当前根文件系统

  • 卸载:将文件系统从当前根文件系统的关联关系移除

  • mount:mount不加选项为 显示当前系统已挂载的设备及挂载点,mount [options] [-o options] device  mount_point  -a:表示挂载/etc/fstab文件中定义的所有文件系统  -n:默认情况下,mount命令每挂载一个设备都会把挂载的信息保存到/etc/mtab中,使用-n就不把信息写入此文件,-t fstype:指定正在挂载设备上的文件系统的类型  不使用此选项时mount会调用blkid命令获取对应文件系统类型  -r:文件系统,只读(挂载光盘常用)  -w:读写挂载  -o:指定额外挂载选项

  • 挂载  mount  设备名(设备文件、卷标或UUID)  挂载点(目录)

  • 目录要求:1.此目录设备没有被其他进程使用 2.目录必须存在 3.目录中的原有文件会暂时隐藏(卸载后可以看见)

  • 挂载完成后要通过挂载点访问对应文件系统上的文件

  • umount:卸载某文件系统  umount 设备名(设备文件、卷标或UUID) 或者  挂载点(目录) (挂载的设备没有进程使用)

  • remout:重新挂载当前文件系统,ro:只读挂载  rw:读写挂载   -o remount,ro /dev/sda#

  • free :查看当前系统上的物理内存和交换空间的使用情况的   -m 以M为单位显示交换空间信息

  • 创建交换分区:

  • 1.调整分区类型:fdisk 命令中调整为82分区类型

  • 2.mkswap /dev/sda#(创建交换分区)

  • 3.swapon -a /dev/sda# 打开挂载 (-a:启用所有定义在/etc/fstab文件中的交换设备) swapoff /dev/sda#关闭挂载

  • 回环设备:

  • loopback,使用软件来模拟实现硬件

  • mount命令通过回环设备可以挂iso镜像

  • mount -o loop ~/centos6.ios /media/ (-o loop 本地回环设备)

  • dd if=源文件  of=数据目标  bs=1024(指定大小可以以M为单位)  count=2(指定个数)

  • 可用于备份MBR:

  • dd if=/dev/sda of=/mnt/usb/bf.backup bs=512 count=1

  • 还原MBR:

  • dd if=/mnt/usb/bf.backup of=/dev/sda bs=512 count=1

  • 制作光盘镜像:cat /dev/cdrom > ~/centos6.iso

  • 不用分区,利用文件增加swap交换空间的大小:

  • 1.dd /dev/zero of=/var/swfile/ bs=1M count=1024 创建一个1G大小的文件

  • 2.mkswap /var/swfile

  • 3.swapon /var/swfile

  • ( dd 后面也可以跟 seek=1023 表示跳过1023M建立后的空间大小属假的,可以用du来查看)

  • 文件系统的配置文件/etc/fstab:系统启动时自动挂载此文件中定义的每一个文件系统

  • 要挂载的设备(UUID或设备名)  挂载点  文件系统类型  挂载选项  转存屏率  自检次序

  • 挂载选项:默认为defaulfs

  • 转存屏率:每多少天做一次完全备份 1:每天都要做备份 2:每隔两天做一次完全备份 0:不备份

  • 自检次序:只有根为1,其他可以同时为2  0:表示不检查

  • fuser:验证进程正在使用的文件或套接字文件 -v:查看某文件上正在运行的进程  -k -m file :终止正在访问此挂载点的所有进程

  • 压缩  解压缩

  • 压缩格式:.gz  .bz2  .xz  .zip

  • 压缩算法不同,压缩的比也会不同

  • gzip bzip2 xz 都只能压缩文件不能压缩目录默认会源删除文件

  • gzip:gzip file1  file2  -d:相当于gunzip  -#:指定压缩等级(1-9),默认为6

  • 解压缩:gunzip file1 file2(也会删除源文件)

  • zcat file.gz:不解压的情况下查看文件的内容

  • bzip2:比gzip有着更大的压缩比,使用格式与gzip近似,-k :可以保留源文件 也支持 -d -#  bunzip:解压 bzcat:不解压,查看

  • xz file1 ...:也支持-d -# -k unxz xzcat

  • 即归档又压缩:

  • zip  unzip  都不删除源文件

  • zip  压缩后的文件名  源文件

  • archive:归档 并不意味着压缩

  • tar:归档工具,不压缩 -c:创建归档文件 -f:操作的归档文件 -x:还原归档 -cf file -xf ... 默认不删除源文件  --xattrs:归档同时保留其扩展属性信息 -tf:查看归档中的文件 xz 压缩 **.tar文件  -zcf:即归档也压缩(调用gzip压缩)  -zxf:解压缩,展开归档  -jcf:调用bzip2压缩  -jxf:解压缩(bzip2)  -Jcf:调用xz压缩  -Jxf:解压缩(xz)  -jtf:查看  --exclude filename:在打包或者压缩时,不将filename文件包括在内

  • read:交互 -p :提示信息 -t等待时间

  • while循环:

  • 适用于循环次数未知的场景,while cowditiow;do

  • statement

  • ....

  • done