Linux学习日志(六)

文件系统

按名称存取是文件系统存在的一个主要目的
定义: 文件系统是一个软件,对磁盘上存在的二进制进行管理

 MBR:Master Boot Record 主引导记录
512byte:
    bootloader:记载器,4 46bytes
    fat:每16个字节引导一个分区,
    MBR有效性标记:5A

  4个主分区
      3主,1扩展分区,引用其他额外的分区表
  逻辑分区

硬盘:

    存放位置 /dev

硬盘接口:

  IDE(ATA):并口,每个控制器可接两个硬盘,master/slave,133MB/S
    /dev/hd[a-z]
      /dev//hda[1-4]
      逻辑分区5开始
      /dev/hda[5+]
  SCSI:Small Computer System Interface 小型计算机接口
      320mb/s
  SATA(Serial):300Mbps,600Mbps,6Gbps
  SAS:6Gbps
  DMA:Direct Memory Access直接内存访问机制

 USB:
   /dev/sd[a-z]
       [1-4]
       [5+  ]

VFS:

文件系统:

 基本文件系统:Ext3,Ext3,Ext4,Reiserfs,xfs(支持单个巨大的文件),JFS,vfat,NTFS
 交换分区:swap
 集群文件系统:GFS2,OCFS2
 网络文件系统:NFS,smbfs(window是CIFS)
 光盘:iso9660 

raw:

  没有做任何的文件系统  

实现分区工具:

   fdisk sfdisk parted

fdisk

d 删除分区
n:新建一个分区
p:列出已有分区
t:调至分区ID
l:列出内核支持的分区id
w:保存退出
q:不保存退出 
m:帮助

Centos5:partprobe
Centos6:partx kpartx

 kpartx -l /dev/sda
 kpartx -af /dev/sda
 partx -a /dev/sda

mkfs:用来格式化

-t 文件系统 :指定文件系统以后来格式化分区   


 mke2fs -t
 Ext4:mkfs -t ext4 = mkfs.ext4 = mke2fs -t ext4
 Ext3(日志文件系统):mkfs -t ext3 = mkfs.ext3 = mke2fs -t ext3 = mke2fs -j

mke2fs:

   配置文件:/etc/mke2fs.conf
   -t:指定文件类型
   -j:
   -L label: 指定卷标,
   -b{1024|2028|4096}:指定块大小
   -i # :#个字节给指定一个indone
   -N # : 直接指定预留多少个indone
   -I # : 指定Inode大小
   -m # :预留给管理员的空间百分比,默认为5
   -O :指定分区特性

e2label

e2label /dev/SOMEDEVICE 查看卷标,
e2label /dev/SOMEDEVICE  Label 直接更改卷标

blkid

   格式:blkid /dev/SOMEDEVICE
   查看设备的属性,UUID和TYPE

dumpe2fs 查看超级块和是否有碎片

    -h:仅显示超级块中保存的信息

tune2fs:调整mke2fs的信息

      -l:查看超级块中的信息
      -L: 设定卷标
      -m:预留管理员的空间百分比
      -j:如果原来的文件系统为ext2,-j能够将其提升为ext3
      -o:[^]mount-options[,...] 指定默认挂载选项
      -O:[^]feature[,...] 调整分区特性
      tune2fs -o 挂载选项 设备
      tune2fs -o ^设备选项 取消   

fsck:文件系统检测

-t 文件类型 设备
-f 强行检测
-a 自动修复错误
-r 交互式修复错误

e2fsck -t 指定时间

   -y 自动回答为yes
   -f 强行检测

交换分区:

  虚拟内存

mkswap 格式化为虚拟内存

  -L label 指定卷标

swapon 启动虚拟内存

  -a 启动所有的虚拟分区
  -p:指定优先级

swapoff 关闭虚拟内存

获取IDE磁盘的相关信息
hdparm

-i 从操作系统读取
-I 直接从硬盘读取
-g 显示硬盘的布局信息
-t 测试硬盘的性能
-T 测试硬盘的性能

*/proc/partitions 查看挂在信息
/proc/meminfo
/proc/filesystems 内核能识别的文件系统类型*

挂载:

手动挂载 :按需要挂载
按需挂载 : autofs 自动文件系统 有人访问就挂载
开机自动挂载

命令

mount[options] -t 文件类型 -o option 设备 挂载点
 [options] : 命令的选项
   -n:不更新/etc/mtab文件
   --bind:dir1 dir2 将目录挂载到目录上,使得dir2也能访问dir1的文件
   -t fstype
   -r 只读挂载
   -w:读写挂载
   -L lable 以卷标指定,也可以使用LABLE="lable"
   -U UUID:使用UUID挂载,也可以使用 UUID="uuid"

-o options:挂载时启动分区特性

     async:异步I/O
     sync:同步I/O
     noatime/atime 是否更新文件时间戳,不是特别重要的文件,建议noatime
     auto: 是否能够被mount -a 自动挂载所有(/etc/fstab中)的文件自动挂载
     dev/nodev:是否能创建设备文件
     diratime/nodirtime:是否更新目录的时间戳
     exec/noexec:是否允许执行二进制程序
     _netdev:网络设备
     remount:重新挂载
     relatime/norelatime 是否实时更新
     acl 文件访问控制列表

 ##tune2fs -o mount-option  设备 设置属性 
 ##tune2fs -o ^mount-option 设备 取消默认挂载属性

挂载点:挂载以后原始数据将被隐藏

      1、选择空闲目录
      2、必须事先存在

卸载:

    1、空闲时可以卸载 

直接使用mount可以显示当前系统的挂载信息,也可以查看/proc/mounts或者/etc/mtab

光盘:
/dev/cdrom /dev/dvdrom /dev/sr0

 [-t iso9660]

查看占有挂载的设备的进程

     fuser -v 挂载点
     fuser -km 挂载点 强制剔除shell进程

df 磁盘空间使用状态报告

df [options] [device]      
   -h:显示易读的信息
   -i:显示indoen
   -P:全部显示

du 显示文件占用磁盘的情况

  -s :整个目录大小
  -h : 显示易读信息

开机自动挂载

 /etc/rc.d/rc.sysinit:系统初始化脚本
 其中一个功能:挂载/etc/fstab文件中定义的文件系统挂载表


/dev/mapper/vg0-root    /                       ext4    defaults        1 1
UUID=58894bb8-5b23-4f00-baff-0c19d450bfe9 /boot                   ext4    defaults        1 2
/dev/mapper/vg0-usr     /usr                    ext4    defaults        1 2
/dev/mapper/vg0-var     /var                    ext4    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:每隔一天备份
 ##自检次序

               1:首先自检,通常只能被/使用
              2-9:顺序
              0:从不自检

交换分区:

物理内存不够才会使用到交换分区

linux使用内存机制:/proc/sys/vm/swapiness

多大选择:

   大于2G,小于4G =4G
   小于2G =2*物理内存
   8G+:=4G

查看内存空间使用状态

   cat /proc/meninfo
   free 
      -m:显示结果以MB为单位
      -g:显示结果以GB为单

本地回环设备

  使用情况:磁盘没有空间,创建不了新的分区,有空闲的空间可以用,交换分区不够用

dd命令:

   bs:一次读多大的数据量
   count:读取次数
   if:输入文件
   of:输出文件
   oflag=FLAGS 写出数据时的格式 

 #格式:  
   dd if=input_file of=output_file
   dd if=input_file of=output_file bs=#[b|k|m|g] count=#

##/dev/zero:吐01的

文件链接

ln 源文件 目标文件

硬链接:
     不能跨分区,
 指向同一个indone的两个位置
     不能对目录创建硬链接
 硬链接会改变文件被链接的次数

符号链接: ln -s

 符号链接可以跨分区
 符号链接文件跟源文件不同一个inode
 可以对目录创建符号链接
 符号链接不会改变源文件被链接的次数

压缩工具

zip:

  gzip:gunzip= gzip -d,zcat
      后缀:.gz
      -c 将压缩结果送往标准输出,可以使用重定向将其保存在压缩文件,从而保留文件

   bzip2,bunzip2 =bzip2 -d
             -k 保留源文件
          后缀 .bz 
   xz
      后缀.xz

 -#:指定压缩比 1-9,默认的为6

归档工具:

   tar [options] -f file.tar file1....

    -c: 创建归档
    -x:展开归档
    -t:不展开而直接查看被归档的文件
    -z:使用gzip压缩
    -j:使用bz2压缩
    -J:使用xz压缩   

    通常使用 zcf  zxf jcf jxf Jcf Jxf 
     命令总结 hdparm ln,dd,df,du,gzip,gunzip,zcat,bzipw,bunzip2,bzcat,zip,unzip,xz,unxz,xzcat,tar

你可能感兴趣的:(linux,二进制,管理,文件系统,bootloader)