格式化相关命令
cat /proc/filesystems 查看当前内核所支持的文件系统类型
没显示的未必不支持,只要以后内核装载了相应模块就能支持
mkfs 创建文件系统(扩展分区本身无法创建,其下逻辑分区可以创建)
-tFSTYPE 分区
mkfs -t ext2 /dev/sdb5 等于 mkfs.ext2 /dev/sdb5
mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.msdos mkfs.vfat(FAT32)
mke2fs 专门管理ext系列文件系统的命令
-jext3
-b BLOCK_SIZE 默认为1024、2048、4096
-L LABEL 制定分区卷标mke2fs -L MYDATE -m 3 /dev/sdb5
-m # 制定预留给超级用户的块数百分比
-i 4096 多少个字节一个INode,默认为8192,这里给出的数值应该为块大小,2^n倍数
-n # 制定要创建INode的个数
-F 强制创建文件系统(在已经被挂载的时候使用)
-E 制定条带大小(条带=CHUNK/BLOCK)
blkid 查看设备基本相关属性
UUID 硬盘多的时候可以应用,绝对唯一
TYPE 文件系统类型
LABEL 卷标
形如 /dev/sdb5: UUID="88284dcb-082e-41f1-812e-c7852d87632a" TYPE="ext2
e2label 查看卷标或者设定卷标
e2label /dev/sdb5 MYDD
tune2fs 调整文件系统的相关属性(当已经有数据的时候,无损调整)
-j 调整到ext3
-L 设定或者修改卷标
-m # 调整预留百分比,如果mke2fs时候忘了制定-m #
-r 制定预留块数
-o 设定默认挂在选项
acl
-c # 制定挂载次数达到#次之后进行自检,0或-1表示关闭此功能
-i # 每挂载使用多少天后进行自检,0或者-1表示关闭此功能
-l 显示超级中的信息,很关键
dumpe2fs 非常详细,所有信息都列出来
-h 只显超级块信息
fsck 检查并修复Linux文件系统
-t FSTYPE 指定文件系统类型不指可以,它能判断,但指错了就出事了
-a 自动修复不询问,自动完成修复
e2fsck 专门修复ext系列文件系统
-f 强制检测就算没有问题也检查一遍
-p 默认选项是-p,也是自动修复,为了兼容fsck,也提供了-a
-a 自动修复
RHEL 6 以后也能兼容 不过2变为4
挂载相关命令
注释:挂载可以将新的文件系统关联至当前根文件系统
mount 设备 挂载点(目录)
设备包括 设备文件/dev/sdb5
卷标LABEL=“”
UUIDUUID=“”
挂载点(目录)
此目录没有被其他进程使用
目录得事先存在
目录中的原有的文件将会暂时隐藏
挂在完成后,要通过挂载点访问对应文件系统上的文件
Usage:
mount [options][-o options] DEVICE MOUNT_POINT
-a 表示/etc/fstab文件中定义的所有文件系统
-n 默认情况下,mount命令每改在一个设备,都会把挂载的设备信息保存至/etc/mtab文件
-n 表示挂在设备时,不写入此文件
-t FSTYPE制定正在挂载设备上的文件系统类型,默认不写会它会调用blkid命令获取类型
-r 只读挂在挂载光盘时常用此选项
-w 读写挂在默认是读写挂载
-o 制定额外的挂在选项,也制定文件熊
async 异步写入没有直接保存至硬盘中默认不写就是异步
atime 频繁访问就会磁盘产生磁盘IO
noatime
auto 自动挂载
exec 限制二进制程序自动运行
netdev 访问不到就跳过,否则别人机器不开机,你系统就启动不起来
remount 重新挂载当前文件系统,卸载+挂载
ro 挂载为只读
rw 读写挂载
sync 同步写入
suid 不安全的做法,不要让外来设备启用suid
nosuid
mount /dev/sdb5 /mnt/test 读写
mount -o remount,ro /dev/sdb5 重新挂载为只读
卸载相关命令
注释:卸载将某文件系统从当前根文件系统的关联关系移除
umount 设备 or 挂载点
挂载的设备没有被使用
练习
1、调整其预留百分比为3% tune2fs -m 3 -L DATA /dev/sdb5 2、以重新挂载的方式挂载此文件系统为不更新访问时间戳,并验证其效果 stat /backup/inittab cat /backup/inittab stat /backup/inittab 有变化 mount -o remount,noatime /backup cat /backup/inittab stat /backup/inittab 无变化 3、对此文件系统强行做一次检测 e2fsck -f /dev/sdb5 4、删除复制而来的所有文件,并将此文件系统重新挂载为同步(sync),而后再次复制/etc目录 mount -o remount,ro,sync /dev/sdb5 比异步慢太多了
虚拟内存
虚拟地址,线性地址能实现在每个进程看来自己都拥有出内核占用内存以外的所有内存。
内核自动维护着一张内存映射表,并且把每个进程使用的内存映射到真正物理内存并记录位置。
每个进程都认为自己可以使用除内核占用内存以外的所有内存(虚拟地址),可真实物理内存有限。
当真实物理内存填满又有新的进程请求以后,内核自动把那些很久没相应的进程占用的内存移至硬盘模拟的swap中。
把移动至swap进程占用的物理内存空间赋予给新请求。
当被移至swap的进程发起请求时候,内核会重复之前操作,找出很久每相应的进程移至swap中,并把地址赋予新请求。
所以说一个进程被移至swap之后,下次请求使用的物理地址可能不一样,但进程感觉不到,只是不同物理地址的相同数据和大小
允许了内存过载使用。
pageout = swapin
pagein = swapout
buffers&&cached
都是为了衔接两个速度不同的设备,只是衔接方式目录不相同,加速操作系统进程。
buffers为了避免过慢的设备遭到冲击
元数据 /var/log/message 查找过程的缓存 内存对应文件路径
cached重复使用数据
数据 /var/log/message message数据块保存在内存中page
进程使用直接找内存,保存也保存在内存中
进程关闭同步内存数据对硬盘相关
创建swap分区
首先要用fdisk 调整分区类型为82
mkswap /dev/sdb5
-L LABEL
swapon /dev/sdb5 启用交换分区
-a 启用所有定义在/etc/fstab文件中的交换设备
swapoff /dev/sdb5关闭交换分区
当磁盘已经没有空闲分区可以创建交换分区,但某些分区还有很多空间可以使用的时候,如何创建交换分区?当前主机上交换分区已经不够用了,应该怎么办?
回环设备
loopback,使用软件模拟实现硬件
cp和dd的区别
cp 以文件为单位先通过VFS接口道内存,再把文件复制到相应位置
dd 底层的数据流直接复制01代码
dd if=SRCof=DES
dd if=/etc/inittab of=/path/to/somefile
bs=1024字节
count一共复制多少这样的字节
备份MBR(一个硬盘最开始出的512字节)
dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count1
还原MBR
dd if=/mnt/usb/mbr.backup of=/dev/dsa bs=512 count1
制作磁盘镜像
cat /dev/cdrom > /root/rehel5.iso
创建镜像文件1G大小,并变为swap分区使用
dd if=/dev/zero of=/var/swapfile bs=1M count=1024 创建1G大小的镜像文件
mkswap /var/swapfile 将此文件变为swap类型(如果磁盘分区需要使用fdisk 调整分区类型为82),这里不需要。
swapon /var/swapfile 将此文件添加进swap中
这个性能更差,不过江湖救急可以使用,哈哈。
/dev/null 数据黑洞
/dev/zero 0输出器
dd if=/dev/zero of=/var/swapfile bs=1M count=1024
seek 跳过已经创建文件
dd if=/dev/zero of=/var/swapfile2 seek=1023 bs=1M count=1M
创建一个1024M文件,只不过前面1023M是假的,跳过去。
ls -lh /var/swapfile2 显示1G
du -h /var/swapfile2 显示1.1M
mount命令挂载ios镜像
mount -o loop /tmp/rhci-5.8-1.iso /media/
-o loop 挂载本地回环设备
文件系统的配置文件 /etc/fstab 自动挂载
OS在初始化时会自动挂在此文件中定义的每一个文件系统(格式如下)
挂载设备 /dev/sdb5
挂载点 /mnt/test
文件系统类型 ext3
挂载选项 defaults
转储频率(每多少天做一次完全备份) 0
文件系统检测次序(只有根可以为1,0表示不检查) 0
fuser 验正进程正在使用的文件或套接字
-v 查看某文件正在运行的进程
-k 结束正在访问的文件进程(用户)
-m 结束正在访问此挂载点的进程(用户)
fuser -km /back/ 终止正在访问此挂载点的所有进程
练习
1、创建一个5G的分区,文件系统为ext3,卷标为MYDATA,块大小为1024,预留管理空间为磁盘3%,开机后可以自动挂在至/data目录,并且自动挂载的设备要使用卷标引进引用 mke2fs -j -m 3 -L MYDATA /dev/sdbx 2、创建一个本地回环文件/var/swaptemp/swapfile来用于swap,要求大小为512MB,卷标为SWAP-FILE,且开机自动启用此交换设备。 mkdir /var/swaptemp dd if/dev/zero of=/var/swaptemp/swapfile bs=1M count=512 mkswap -L SWAP-FILE /var/swaptemp/swapfile swapon /var/swapfile2 3、上述第一问,如何让其自动挂载的 同时启用ACL功能; /etc/fstab LABEL='MYDATA'/data ext3defaults,acl00
注意:(高级设备可以使用裸设备)重新创建文件系统会损坏原有数据
本文出自 “星矢” 博客,转载请与作者联系!