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

9.1 总结、练习

时间:2015-09-06 18:26:23      阅读:364      评论:0      收藏:0      [点我收藏+]

标签:总结   练习   

1、复习本次课程所讲的内容;

创建文件系统

mke2fs  [option] ……  DEVICE

mke2fs 

-t    {ext2|ext3|ext4}

-b   {1024|2048|4096}

-L  ‘LABEL’

-j     =  mke2fs -t ext3 开启日志功能

 

文件系统属性查看及调整工具(ext系统)

e2label  查看或设置卷标

e2label DEVICE  [label]



tune2fs   

显示ext系统文件系统的属性,或调整其属性

-l    显示超级块中的信息(显示整个文件的属性及布局等相关信息)

-L   ‘label’  设置卷标

-m  #   调整预留给管理员的管理空间百分比(默认5%)

-j   ext2--> ext3提升,不损害数据

-O   开启过关闭文件系统属性(关闭使用:^属性)   对应: filesystem features  中的属性

-o   文件系统默认挂在选项的启用过关闭    对应:defaultmount options

 

dumpe2fs

-h  仅显示超级块信息

 

文件系统检测工具

fsck  filesystem check  使用方法类似mkfs

-t  type  

fsck.type

    -a  自动修复错误

    -r   交互式修复错误

    -f   强制检测



e2fsck   针对ext文件系统专用检测修复工具

-y    自动回答为“yes”

-f    force  强制检测



文件系统的挂载和使用

kernel-->rootfs(分区)    内核加载根分区

rootfs分区包含:

bin,sbin,etc,lib,lib64,dev,tmp,porc,sys

文件系统挂载

挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,此目录作为其他文件系统访问的入口

卸载:解除关联关系

 

mount命令

mount  [options]  [-o optoins] DEVICE  MOUNT_POINT

    options  命令选项

    -o optiongs 挂载选项

DEVICE  可以直接写设备文件 /dev/sda# 、卷标-L "abel"   、-U   “UUID"

常用选项:

-t  type

-r   以只读方式挂载

-w   以读写方式挂载

-n   跟个文件系统在挂载时都会自动更新/etc/mtab文件 -n用于进制此功能    

        如果想查看所有挂载的文件系统:cat /porc/mounts

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

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

 

-o  [options]   挂载选项

async   异步模式

sync    同步模式

atime/noatime  (文件atime更新非常频繁,可以关闭掉noatime)

exec/noexec  是否运行执行此文件系统上应用程序

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

suid/nosuid   允许/禁止使用suid

remount    重新挂载

ro   只读挂载

rw   读写挂载

use/nouser  是否允许普通挂载此设备

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



卸载命令

umount  DEVICE

umount   mount_point

 

查看正在访问指定挂载点的进程

fuser -v mount_point

 

终止所有正在访问指定的挂载点的进程

fuser -km mount_point

 

swap 交换分区

free  查看内存和swap使用情况

-m  以MB为单位

-g   以GB为单位

 

创建交换分区:

mkswap  [option] DEVICE   

        -L  LABEL

 

启用交换分区

swapon [option] [device]

-a  激活所有交换分区

-p   priority  设定其优先级

 

禁用交换分区

swap  [option]  [DEVICE]

 

文件系统大、小查看

df   disk free

-h  人性化自动换算大小单位

-i    inode数量

-P  以posix兼容格式输出

 

du   disk usage

-h    human-readable

-s    summary

 

 

文件系统挂载配置文件   /etc/fstab

要挂载的设备或伪文件系统    挂载点  文件系统类型   挂载选项  转储频率   自检次序

 

 

挂载选项defaults即可

转储频频率  0不转储   1每天转储   2每一隔天转储      设置0即可

自检次序   0不自检    1首先自检(通常只有/才为1)    设置为0即可

 

 

文件系统上的链接文件

硬连接

两个路径指向同一个inode,不能对目录进行,不能跨分区进行,删除硬连接至少删除其中一个访问路径,直至删除最后一个才被彻底删除

 

软连接

相当于快捷方式,可以针对目录进行,可以跨分区,对文件创建软连接不会增加其引用计数,删除原文件,软连接也就没有什么用了

 

设置链接

ln  [option]  SRC  DEST

-s   symbolic  link  软连接

-v   verbose

不加选项为硬连接

 

2、总结整理磁盘管理及文件系统管理中设计的各种命令的使用,并附注一定的示例;

fdisk 命令

[root@localhost ~]# fdisk /dev/sda


WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to

         switch off the mode (command ‘c‘) and change display units to

         sectors (command ‘u‘).


Command (m for help): m

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition

   l   list known partition types

   m   print this menu

   n   add a new partition

   o   create a new empty DOS partition table

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition‘s system id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit

   x   extra functionality (experts only)


Command (m for help): 


其实fdisk常用的参数:m帮助  n新建分区  d删除分区  p列出个分区  l列出支持的分区类型  t修改分区id  q不保存退出  w保存退出


partx 讲分区加载到内核(如果分区后没有被内核识别),可以cat /proc/partitions 

[root@localhost ~]# cat /proc/partitions 
major minor  #blocks  name

   8        0   83886080 sda
   8        1     204800 sda1
   8        2   20971520 sda2
   8        3   20971520 sda3
   8        4          1 sda4
   8        5    1048576 sda5
   8       16   41943040 sdb
[root@localhost ~]# partx -a -n 1 /dev/sdb
[root@localhost ~]# cat /proc/partitions 
major minor  #blocks  name

   8        0   83886080 sda
   8        1     204800 sda1
   8        2   20971520 sda2
   8        3   20971520 sda3
   8        4          1 sda4
   8        5    1048576 sda5
   8       16   41943040 sdb
   8       17    5253223 sdb1

上面是我们创建了一个/dev/sdb1分区(内核自动识别,手动删除掉以后演示),或者使用[root@localhost ~]# kpartx -af /dev/sdb 


格式化文件系统、设置卷标

mkfs  或者  mkfs.type

其实mkfs -t ext4就是调用mkfs.ext4

在做实验的过程中遇到了错误:

[root@localhost ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
/dev/sdb1 is apparently in use by the system; will not make a filesystem here!

解决方法:

[root@localhost ~]# dmsetup status
sdb1: 0 10506447 linear 
[root@localhost ~]# dmsetup remove sdb1    解除绑定

然后就正常了

[root@localhost ~]# mkfs.ext4 -L test /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=test
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655776 inodes, 2622603 blocks
131130 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2688548864
81 block groups
32768 blocks per group, 32768 fragments per group
8096 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

可以在格式化的时候指明卷标,不指明也没有关系,可以用其他工具进行修改(不格式)


e2label tune2fs  dumpe2fs 都可以修改

e2label专门用来查看或者修改分区卷标,另外两个工具的功能更多些

[root@localhost ~]# e2label /dev/sdb1 ‘mytest‘
[root@localhost ~]# e2label /dev/sdb1
mytest

tune2fs、dumpe2fs 可以显示ext系列文件系统的属性

[root@localhost ~]# tune2fs -l /dev/sdb
tune2fs 1.41.12 (17-May-2010)
tune2fs: Bad magic number in super-block while trying to open /dev/sdb
Couldn‘t find valid filesystem superblock.
[root@localhost ~]# tune2fs -l /dev/sdb1
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:   mytest
Last mounted on:          <not available>
Filesystem UUID:          18235df4-58e9-49ce-b653-b03833a26a4e
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash
[root@localhost ~]# dumpe2fs -h /dev/sdb1 
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name:   mytest
Last mounted on:          <not available>
Filesystem UUID:          18235df4-58e9-49ce-b653-b03833a26a4e
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash

tune2fs也能修改分区的卷标

[root@localhost ~]# tune2fs -L testaaa /dev/sdb1
tune2fs 1.41.12 (17-May-2010)
[root@localhost ~]# e2label /dev/sdb1
testaaa

fsck 、 e2fsck

[root@localhost ~]# e2fsck /dev/sdb1
e2fsck 1.41.12 (17-May-2010)
testaaa: clean, 11/655776 files, 79700/2622603 blocks
[root@localhost ~]# fsck -t ext4 /dev/sdb1
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
testaaa: clean, 11/655776 files, 79700/2622603 blocks


fsck  filesystem check  使用方法类似mkfs

-t  type  

fsck.type (fsck.ext3  fsck.ext4)

    -a  自动修复错误

    -r   交互式修复错误

    -f   强制检测


e2fsck   针对ext文件系统专用检测修复工具

-y    自动回答为“yes”

-f    force  强制检测



文件系统挂载、卸载  mount

[root@localhost ~]# mount /dev/sdb1 /mnt
[root@localhost ~]# mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on /usr type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb1 on /mnt type ext4 (rw)
[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]# mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on /usr type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

注意在卸载的时候,如果有进程占用磁盘,那么卸载时会出现错误

可以使用fuser  -vm  DEVICE 进程查看那些进程占用了磁盘

[root@localhost ~]# fuser -vm /dev/sdb1    #查看占用
                     USER        PID ACCESS COMMAND
/dev/sdb1:           root       2124 ..c.. bash
[root@localhost ~]# umount /dev/sdb1
umount: /mnt: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[root@localhost ~]# fuser -vm /dev/sdb1
                     USER        PID ACCESS COMMAND
/dev/sdb1:           root       2124 ..c.. bash
[root@localhost ~]# fuser -km /dev/sdb1   #结束占用
/dev/sdb1:            2124c
[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]#


mkswap swapon swapoff








9.1 总结、练习

标签:总结   练习   

原文地址:http://wangkunpeng.blog.51cto.com/1538469/1691967

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