- 块:系统按逻辑把磁盘存放数据的区域分成很多个块,每一个块的大小可以是 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
时间: 2024-12-08 19:49:58