文件系统:MBR: Master Boot Record, 主引导记录

512bytes: 
 bootloader: 446bytes
 fat: 64bytes, 16bytes, 4
 MBR有效性标记:5A 
4:主分区
3主,1扩展分区:引用额外的分区表:
 逻辑分区
硬盘:/dev/
硬盘接口:
 IDE(ATA): 并口,每个控制器可接两个
硬盘,master/slave,133MB/s
 /dev/hd[a-z]
 /dev/hda
 /dev/hda[1-4]
 /dev/hda[5+]
 SCSI: Small Computer System 
Interface
 320MB/S
 SATA(Serial): 300Mbps, 600Mbps, 
6Gbps
 SAS:6Gbps
 USB:
 /dev/sd[a-z]
 [1-4]
 [5+]
/bin, /sbin
 /usr/bin, /usr/sbin, 
/usr/local/bin, /usr/local/sbin
/lib, /lib64, /usr/lib, /usr/lib64
/etc/
/media, /mnt
/dev
/proc, /sys
/home, /root
/var
/opt, /misc
/srv
/tmp
/boot
/usr
fdisk, sfdisk, parted
VFS:
 文件系统:
 基本文件系统:Ext2, Ext3, 
Ext4, Reiserfs, xfs, JFS, vfat, NTFS
 交换分区:swap
 集群文件系统:GFS2, OCFS2
 网络文件系统:NFS, smbfs
(CIFS)
 光盘:iso9660
 raw: 
fdisk /dev/sda
        ?:支持的命令列表
 d: 删除
 n: 新建
 p: 列出
 t: 调整分区ID
 l: 列出内核支持的分区ID
 w: 保存退出
 q: 不保存退出
cat /proc/partitions
CentOS 5: partprobe 
CentOS 6: partx, kpartx
 kpartx -l /dev/sda
 kpartx -af /dev/sda
 partx -a /dev/sda
Linux: ext2,3,4
mkfs: 
 -t fstype /dev/somedevice
# mkfs -t ext2 /dev/sda3
# mkfs.ext2 
# mke2fs 
 -t 
Ext4: mkfs -t ext4 = mkfs.ext4 = mke2fs -t 
ext4 
Ext3: mkfs -t ext3 = mkfs.ext3 = mke2fs -t 
ext3 = mke2fs -j
Ext2: 
mke2fs: 
 配置文件:/etc/mke2fs.conf
 -t {ext2|ext3|ext4}默认创建的是ext2
 -j : 相当于-t ext3
 -L Label:卷标
 -b {1024|2048|4096}:指定块大小(一定是512b的整数倍)
 -i #: #个字节给预留一个inode  (inode ratio);多少容量1个inode。
 -N #: 直接指定预留多少个Inode
 -I #:Inode大小
 -m #:预留管理员的空间百分比,默认为5
        -O:指定分区特性
e2label 
 e2label /dev/SOMEDEVICE: 查看卷标
 e2label /dev/SOMEDEVICE  Label: 设定卷标
blkid /dev/SOMEDEVICE: 查看设备的属性,UUID和TYPE
dumpe2fs 
 -h: 仅查看超级块中保存的信息
tune2fs
 -l: 查看超级块中的信息
 -L label: 设定卷标
 -m: 预留管理员的空间百分比,默认为5
 -j: 如果原来的文件系统为ext2, -j能够将其提升为ext3
 -o [^]mount-options[,...]:设定其默认挂载选项
 -O [^]feature[,...] :调整分区特性Filesystem features,^脱字符表示取消某种特性。(设定或清除了sparse_super,uninit_bg,filetype,resize_inode文件特性一定要运行e2fsck命令。)
fsck: 
 -t fstype 
 -a: 自动修复错误
 -r: 交互式修复错误
e2fsck:(功能更加强大)
 -f: 强制检测
 -y: 对问题自动回答为yes
交换分区:
 虚拟内存
 mkswap 
 -L label
 swapon  /dev/sda1
 -a: 
 -p #: 指定优先级 
 swapoff /dev/sda1
 -a
文件系统挂载卸载及相关工具介绍:
GPT
DMA: Direct Memory Access
总结:fdisk, mke2fs, mkfs, blkid, e2label, 
dumpe2fs, tune2fs, fsck, e2fsck, mkswap, 
swapon, swapoff
GPT, 
SSD
分区:fdisk, 
格式化:创建文件系统
hdparm 获取磁盘硬件信息
 -i 
 -I
 -g
 -t
 -T
/proc/partitions.
/proc/meminfo
/proc/filesystems
挂载:
 手动挂载:
 按需挂载:
 开机自动挂载:
mount [options] [-t fstype] [-o option] 设备 挂载点
 [options]: 命令的选项
 -o options: 挂载时启用分区特性
 挂载点:原始数据将被暂时隐藏;
 1、选择空闲路径;
 2、事先得存在;
 卸载:
 1、空闲时可以被卸载;
mount: 直接使用,可显示当前系统所有已挂载的设备
 /proc/mounts, /etc/mtab
常用选项:
 -t fstype
 -r: 只读挂载
 -w: 读写
 -L lable名称: 以卷标指定,或LABLE=“label”
 -U UUID号:以UUID指定挂载设备,或UUID=“UUID”
 -a: 自动挂载所有(/etc/fstab文件中)支持自动挂载的设备
-o options
 async: 异步I/O
 sync: 同步I/O
 noatime/atime: 建议noatime(不更新文件目录访问时间戳)
 auto/noauto: 是否能够被mount -a选项自动挂载;
 diratime/nodiratime: 是否更新目录的访问时间戳;
 exec/noexec:是否允许执行其中的二进制程序;
 _netdev: 
 remount: 重新挂载
例:mount -o remount,ro,acl  /dev/sda1
        acl: 启用facl
    # tune2fs -o mount-option 设备
    # tune2fs -o ^mount-option 取消
光盘:
 /dev/cdrom, /dev/dvd, /dev/sr0
 [-t iso9660]
查看占用挂载的设备的进程并强行踢掉进程:
 fuser -v 挂载点
 fuser -km 挂载点

umount 设备|挂载点
 
df: 磁盘空间使用状态报告
 -h: 以易读的方式显示
 -i: inode
 -P: POSIX,有些设备文件名过长显示时会换行
 df [options] [device]
du: 评估文件占用磁盘空间的情况
 -s只查看单个参数占用磁盘空间情况。
 -h
开机自动挂载:
 /etc/rc.d/rc.sysinit:系统初始化脚本
 其中一个功能:挂载/etc/fstab文件中定义的文件系统挂载表
#
# /etc/fstab
# Created by anaconda on Wed Feb 12 
09:48:07 2014
#
# 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
#
/dev/mapper/vg0-root    
 
defaults        1 1
UUID=958ea5da-eafc-4311-8609-1e97fe11e6f9 
/boot                   ext4    defaults    
    1 2
/dev/mapper/vg0-usr    
 
defaults        1 2
/dev/mapper/vg0-var     
 
defaults        1 2
/dev/mapper/vg0-swap    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
要挂载的设备:设备文件、LABEL=, UUID=
挂载点:swap没有挂载点,挂载点为swap
文件系统类型
挂载选项:多个选项间使用逗号分隔; 
转储频率:
 0:从不备份
 1:每日备份
 2:
自检次序:
 0: 不自检
 1:首先自检,通常只能被/使用;
 2: 
交换分区:
 Linux使用内存机制:/proc/sys/vm/swapiness
            多大为好:
 2G,4G = 4G
 2G-,= 2*物理内存
 8G+: = 4G
 mkswap, swapon, swapoff
查看内存空间使用状态:
 # cat /proc/meminfo
    # free
 -m: 显示结果以MB为单位
 -g: 显示结果以GB为单位 
dd命令:
 dd if=input_file of=output_file  bs=#[b|k|m|g] count=#
制作镜像:
 dd if=/dev/cdrom of=/tmp/linux.iso
 cat /dev/cdrom > /tmp/linux.iso 
 dd if=/dev/sda of=/tmp/myfile  bs=512 count=1
 dd if=/dev/zero of=/dev/sdb bs=500 
count=1
 /dev/zero, /dev/null
总结:mount, umount, fuser, free, du, df, dd

文件系统深入介绍

链接文件:

ln [-s] SRC LINKFILE

硬链接:

硬链接不能跨分区; 

不能对目录创建硬链接;

硬链接会改变文件被链接的次数;

硬链接与原文件指向同一个inode

符号链接:

符号链接可以跨分区; 

符号链接文件跟原文件不同一个inode;

可以对目录创建符号链接;

符号链接不会改变原文件被链接的次数;




转载于:https://blog.51cto.com/as007012/1549812