码迷,mamicode.com
首页 > 其他好文 > 详细

文件系统管理详解

时间:2014-09-08 11:00:47      阅读:637      评论:0      收藏:0      [点我收藏+]

标签:文件系统

文件系统: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   

  /                       ext4    

defaults        1 1

UUID=958ea5da-eafc-4311-8609-1e97fe11e6f9 

/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:

自检次序:

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;

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

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



本文出自 “开开心心每一天” 博客,请务必保留此出处http://as007012.blog.51cto.com/6215447/1549812

文件系统管理详解

标签:文件系统

原文地址:http://as007012.blog.51cto.com/6215447/1549812

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!