标签:linux
块:系统按逻辑把磁盘存放数据的区域分成很多个块,每一个块的大小可以是 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
本文出自 “笨鸟先辉” 博客,请务必保留此出处http://benniaoxianhui.blog.51cto.com/10463960/1679207
标签:linux
原文地址:http://benniaoxianhui.blog.51cto.com/10463960/1679207