码迷,mamicode.com
首页 > 系统相关 > 详细

Linux学习之路5-磁盘管理及文件系统管理

时间:2015-09-07 07:09:27      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:linux   文件系统   磁盘管理   

磁盘管理及文件系统管理


Linux磁盘管理

 

分区工具fdisk (最多支持一个硬盘划分15个分区)

     管理子命令:

     n 新建 p 显示分区 t 更改分区类型 d 删除分区 l分区类型说明 w 保存退出

     q 放弃保存退出 m 获取帮助

注意:创建完成之后,查看内核是否已经识别新的分区:

         # cat /proc/partitions

      如果没有识别,可以使用以下命令让系统识别:

     CentOS 5上使用: partprobe [DEVICE],例如pratprobe /dev/sdb1

     CentOS 6,7上用: partx   kpartx

             partx命令:partxDEVICE

                 -a DEVICE  激活所有分区

                 -a -n M:N DEVICE 激活指定

                     M

                     M:

                     :N

             kpartx命令:

             kpartx -af DEVICE

 

文件系统管理

 

linux文件系统包括:ext2(非日志型),ext3(日志型),ext4(日志型),reiserfs, xfs, btrfs(日志型,最新), swap(交换分区)

光盘文件系统:iso9660

Windows文件系统:fat32(vfat), ntfs

Unix: ffs, ufs, jfs, jfs2

网络文件系统:nfs, cifs

集群文件系统:ocfs2, gfs2

分布式文件系统:ceph,moosefs, mogilefs, hdfs,gfs, glusterfs

创建文件系统:

 

mkfs (实际上它根据不同的文件类型,对应/sbin下的mkfs.ext2,mkfs.ext4等其他格式,根据-t来进行调用)

         mkfs -t type DEVICE

         例如: mkfs –t ext4 /dev/sdb1 =mkfs.ext4/dev/sdb1

 

mke2fs(ext系列文件系统的专用管理工具):

             mke2fs -t {ext2|ext3|ext4} DEVICE

                 -b BLOCK: 1024, 2048, 4096

                 -L ‘LABEL‘: 设定卷标

         例如:mke2fs -t ext4 -L ‘TEST’-b 2048 -m 5/dev/sdb2

 

         blkid命令:获取文件系统类型、UUID、卷标

             例:blkid 或 blkid /dev/sdb2

 

文件系统属性查看及调整工具:

e2label卷标显示、更改

             例:e2label /dev/sdb2 显示卷标

                 e2label /dev/sdb2 TEST2  更改卷标为TEST2

 

tune2fs (显示ext系列文件系统的属性,或调整其属性)

         参数:  -l 显示整个文件系统信息,包括超级块信息

                 -L 修改卷标

                 -m 调整预留给管理员管理的百分比空间

                 -j ext2转换成ext3

                 -O:文件系统属性的启动或关闭 (已加载组件的启动或关闭)

                 -o:文件系统默认挂载选项的启用或关闭(组件是否加载)

                 -c max-mount-counts设置强制自检的挂载次数,如果开启,每挂载一次mount count就会加1,超过次数就会强制自检

                 -i [d|m|w] 设置强制自检的时间间隔[d天m月w周]

例:tune2fs -O ^has_journal /dev/sdb2 关闭日志功能

             tune2fs -O ^has_journal /dev/sdb2 启动日志功能

             tune2fs -c 30 /dev/hda1 设置强制检查前文件系统可以挂载的次数

             tune2fs -c -l /dev/hda1 关闭强制检查挂载次数限制。  #有些分区本身默认就是-1,也就是不检测

             tune2fs -i 10 /dev/hda1 10天后检查

             tune2fs -i 1d /dev/hda1 1天后检查

             tune2fs -i 3w /dev/hda1 3周后检查

             tune2fs -i 6m /dev/hda1 半年后检查

             tune2fs -i 0 /dev/hda1 禁用时间检查

             tune2fs -j /dev/hda1 添加日志功能,将ext2转换成ext3文件系统

             tune2fs -r 40000 /dev/hda1 调整/dev/hda1分区的保留空间为40000个磁盘块

             判断是ext2还是ext3:

             tune2fs –l/dev/sdb1 | grep features

             看Filesystem features:has_journal

             是否有has_journal,有则是ext3文件系统

  

dumpe2fs

             例:dumpe2fs /dev/sdb2

                 dumpe2fs -h /dev/sdb2 加-h仅显示超级块信息

 

文件系统检测

 

fsck(实际上它根据不同的文件类型,对应/sbin下的fsck.ext2,fsck.ext4等其他格式,根据-t来进行调用)

         fsck -t type

         fsck.type

             -a: 自动修复错误

             -r: 交互式修复错误

             -f: 强制检测

         例:fsck -t ext4 -a -f /dev/sdb2

 

e2fsck:ext系列文件系统专用的检测修复工具;

         -y: 自动回答为“yes”

         -f:force

         例:e2fsck -f /dev/sdb2

 

文件系统挂载:

mount挂载:

     mount:通过读取/etc/mtab文件来显示当前系统所有已经挂载的设备;

     mount -a:挂载/etc/fstab文件中的所有支持自动挂载的文件系统;

     mount [options] [-o options] DEVICE MOUNT_POINT

         [options]:命令选项

         [-o options]:挂载选项

         DEVICE: 要挂载的设备

             (1) 设备文件:/dev/sda5

             (2) 卷标:-L ‘LABEL‘

             (3) UUID:-U ‘UUID‘

             (4) 伪文件系统名称

         MOUNT_POINT: 挂载点

 

         常用选项:

             -t type:文件系统类型

             -r: 以“只读”方式挂载此文件系统

             -w: 以“读写”方式挂载此文件系统

             -n:每个文件系统在挂载时都会自动更新/etc/mtab文件,-n用于禁止此功能;

                 此时,如果想查看挂载的所有文件系统:cat/proc/mounts

             -a: 自动挂载所有支持自动挂载的设备;

             -B:绑定目录至另一个目录上;

 

         -o 挂载选项:

             async:异步模式

             sync: 同步模式

             atime/noatime:是否更新访问时间戳;

             diratime/nodiratime:是否更新目录的访问时间戳;

             auto/noauto: 是否允许此设备被自动挂载;

             exec/noexec:是否允许执行此文件系统上应用程序;

             dev/nodev:是否支持在此设备上使用设备文件;

             suid/nosuid

             remount:重新挂载

             ro

             rw

             user/nouser: 是否允许普通用户挂载此设备;

             acl:是否支持此设备上使用facl;

             defaults:rw, suid,dev, exec, auto, nouser, and async

 

例:

fat32的分区

mount -ocodepage=936,iocharset=cp936 /dev/hda7 /mnt/cdrom

(mount -t vfat-o iocharset=cp936 /dev/hda7 /mnt/cdrom)

 ntfs的分区

mount -oiocharset=cp936 /dev/hda7 /mnt/cdrom

 iso文件

mount -o loop/abc.iso /mnt/cdrom

软盘

mount /dev/fd0/mnt/floppy

 USB闪存

mount /dev/sda1/mnt/cdrom

 

挂载所有/etc/fstab内容 mount -a

镜像文件:

mount fileNamemountPoint -o loop,fileName是镜像文件名(*.iso,*.img),其它的不用说了,跟上面一样。用例:如我有一个a.iso光盘镜像文件,mount a.iso a -o loop,这样进入目录a你就能浏览a.iso的内容了,*.img文件的用法一样。

 

umount:卸载命令

         # umount DEVICE

         # umount MOUNT_POINT

         例:umount/dev/sdb1 或 umount /mnt/aa

如果卸载时提示该文件系统正在使用中,可用fuser查看是谁在用,还可以用-km把它强行结束

         例:fuser -v /mnt/aa 查看谁正在使用这个挂载了设备的目录

             fuser -km /mnt/aa 强制结束使用着的进程,结束后就可以umount卸载

技术分享

 

文件系统相关挂载配置文件:/etc/fstab

         要挂载的设备:

             设备文件、LABEL=、UUID=、伪文件系统名称

         挂载选项:

             defaults(包含rw, suid, dev, exec, auto, nouser, andasync)

         转储频率:

             0: 不转储

             1: 每天转储

             2: 每隔一天转储

         自检次序:

             0:不自检

             1:首先自检,通常只有/才为1

             2

 

交换分区swap:

         mkswap:创建交换分区

         语法:mkswap [option] DEVICE

             -L ‘LABEL‘ 

             例:mkswap -L ‘swap1’ /dev/sdb2

        

         swapon:启用交换分区

         语法:swapon [option] [DEVICE]

             -a: 激活所有交换分区

             -p PRIORITY: 设定其优先级;你可以在0到32767中间选一个数字给他。或是在/etc/fstab 里面加上 pri=[value] ([value]就是0~32767中间一个数字),然后你就可以很方便的直接使用 swapon -a 来启动他们,而且有优先权设定。

             例:swapon -p 2 /dev/sdb2

 

         swapoff:禁用交换分区

         swapoff [option] [DEVICE]

         例:swapoff /dev/sdb2

 

   用文件做交换分区:

         dd if=/dev/zero of=/mnt/a.swap bs=1Mcount=100

         mkswap /mnt/a.swap

         swapon /mnt/a.swap

文件系统空间占用信息查看:

         df: disk free

         -h: human-readable 以易读方式展现

         -i: inode数量

         -P: 以Posix兼容的格式输出

         例:df -h 或 df -ih 或直接df

         du: disk usage

         -h: human-readable以易读方式展现

         -s: summary 统计总的容量

         例:du -h /root 分别统计/root里各个目录的大小,或 du -hs /root 这样就会把root这个目录的总容量算出来了


本文出自 “天真小同志” 博客,请务必保留此出处http://dengxi.blog.51cto.com/4804263/1692039

Linux学习之路5-磁盘管理及文件系统管理

标签:linux   文件系统   磁盘管理   

原文地址:http://dengxi.blog.51cto.com/4804263/1692039

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