zoukankan      html  css  js  c++  java
  • Android 格式化分区命令

    mkfs.vfat  /dev/block/mmcblk0pxxxx           格式化某分区为vfat格式

    busybox mkfs.vfat  /dev/block/mmcblk0pxxxx

    mount -t vfat -o ro,uid=0,gid=1000,fmask=0027,dmask=0027 /dev/block/mmcblk0pxx /mnt/partion     将 /dev/block/mmcblk0pxx  按照只读,root用户,system组,访问掩码为root可读可写可执行,system可读可执行,其他用户无权限挂载到/mnt/partion  目录

    重新挂载分区需要先卸载再重新remount

    umount /mnt/pation    //卸载前关闭该文件系统所有访问,关闭所有打开的文件

    mount -t vfat -o rw,uid=0,gid=1000,fmask=0027,dmask=0027 /dev/block/mmcblk0pxx /mnt/partion 

    ,规划磁盘分区:fdisk

    二,格式化磁盘分区:mkfs.xxx

    三,挂载磁盘分区:mount、umount

    四,文件系统管理:e2abel、blkid、tun2fs、df

    五,开机自动挂载:/etc/fstab

    六、扩展

       1,swap分区的规划,挂载和自动挂载

       2,挂载文件夹

       3,autofs触发挂载

       4, NTFS分区的创建,挂载,使用

    一:规划磁盘分区

    1,查看磁盘分区: fdisk -l

    格式:fdisk  -l [磁盘名]

    示例:

    [root@localhost ~]# fdisk -l /dev/sda   //如果不指定磁盘名,则列出所有磁盘的分区

    Disk /dev/sda: 64.4GB, 64424509440 bytes

    255 heads, 63sectors/track, 7832 cylinders

    Units = cylinders of16065 * 512 = 8225280 bytes

      Device Boot      Start         End      Blocks  Id  System

    /dev/sda1   *          1          25      200781  83  Linux

    /dev/sda2              26        2575   20482875   83  Linux

    /dev/sda3            2576        3850   10241437+  83  Linux

    /dev/sda4            3851        7832   31985415    5  Extended

    /dev/sda5            3851        4111    2096451   82  Linux swap / Solaris

    /dev/sda6            4112        5085    7823623+  83  Linux

    [root@localhost ~]#

    2,规划磁盘分区:fdisk的常用选项

    m :查看帮助信息

    p :列表查看分区信息

    n :新建磁盘分区

    d :删除分区

    t :变更分区类型(在使用t的时候,如果不知道)

    w :保存分区设置并退出

    q :放弃分区设置并退出

    示例:fdisk交互式划分磁盘分区:http://murongqingqqq.blog.51cto.com/2902694/1361896

    二,格式化磁盘分区

    格式化工具:mkfs

    mkfs -t 文件系统类型 分区设备

    或使用mkfs.xxx 分区设备

    [root@localhost ~]#mkfs.

    mkfs.cramfs  mkfs.ext2   mkfs.ext3    mkfs.msdos   mkfs.vfat

    可以看到,mkfs.后面可以跟的格式,也就是-t后面所接的文件系统类型。

    注:

    -在使用的时候,mkfs作为前段,通过-t调用各个程序

    -使用mkfs.ext3时可通过-L选项为文件系统指定卷标

    -使用mkfs.vfat时可通过-F选项指定FAT位数(默认为32,一般不指定,因为指定的时候只能指定16或32,16位的现在一般不用)

    -在使用mkfs.xxx格式化一个分区设备的时候,需要先执行以下partprobe更新一下磁盘分区,否则可能出现无法找到想要格式化的分区。

    三,挂载磁盘分区:mount、umount

    1,mount命令

    -格式:mount [选项] 设备名挂载点

    常用命令选项

    -a :加载所有fstab已配置的文件系统

    注:在修改了/etc/fstab文件之后,可以使用mount -a命令或者reboot来重新加

    载一下文件系统的挂载,这时如果有新加的swap分区,可能挂载不成功,那么,

    需要重启,一般的分区都能挂载成功,如果有提示错误,那么需要修改/etc/fatab

    文件内容。

    -t :指定文件系统类型

    -o :指定挂载参数

        ro/rw :只读/可读可写(默认可读可写)

        acl/noacl :启用/禁用ACL(默认禁用)

        exec/noexec :打开/关闭执行权(默认打开,如果不支持,就是该程序有x权

                      限,在此分区内也不允许执行。)

        suid/nosuid :启用/禁用SUID(默认启用;则当一个程序拥有suid权限的时

                      候,比如说mkdir,如果此分区不支持suid,则在此分区上建

                      立的目录也不属于mkdir的所有者)

        guid/noguid :启用/禁用GUID

        remount :重新挂载(用法:mount -o remount,exec /dev/sdb1 /data/tools)

        挂载一个分区的默认属性:rw,suid,dev,exec,auto,nouser,async

    -L :使用卷标挂载设备(用e2label /dev/sdb1 “tools”设置/dev/sdb1的卷标为tools,

        可使用mount -L tools /data/tools来挂载/dev/sdb1分区。)

    注:

    用mount挂载一个iso文件的时候需要用-o参数指定其类型

    因为ios结尾的文件里面的内容是无法查看的,所以需要先挂载到一个目录下在进行查看。

    如:

    mount -o loop linux.iso /tmp/isofs/ :将linux.iso文件挂载到/tmp/isofs/目录下

    2,卸载文件系统:umount

    格式:umount 设备名/挂载点(推荐使用通过挂载点的方式卸载文件系统)

    常用命令选项:

    -a :卸载所有已挂载的非伪文件系统

    注:伪文件系统:不能往里面存储数据的文件系统

    例如系统中的保留空间,用df-hT命令查看到的tmpfs文件类型的那个文件系统/dev/shm即为一个伪文件系统。

    示例:

    [root@localhost ~]# df -hT

    文件系统类型容量已用 可用 已用% 挂载点

    /dev/sda2     ext3    19G  2.7G   16G 15% /

    /dev/sda1     ext3    99M   12M   82M 13% /boot

    tmpfs        tmpfs  1005M     0 1005M   0% /dev/shm

    /dev/sdb1     ext3    19G  173M   18G  1% /data/tools

    /dev/sdb2     ext3    19G  173M   18G  1% /data/soft

    /dev/sdb6     ext3   9.2G  150M  8.6G  2% /data/game

    /dev/sda5     ext3    19G  173M   18G  1% /home

    [root@localhost ~]# umount /data/game   //从挂载点将/dev/sdb6文件系统卸载

    [root@localhost ~]# df -hT | grep sda6  //卸载之后没有任何关于sda6的信息了

    [root@localhost ~]#

    四,文件系统管理:e2abel、blkid、tun2fs、df

    1,设置卷标:e2label命令

    格式:e2label 设备名 [“卷标名”]

    注:

    设置完卷标之后,可以通过mount -L 卷标名 挂载点来挂载一个文件系统;

    在/etc/fstab文件中,第一个字段,也可以使用卷标名来表示一个磁盘分区。

    示例:

    [root@localhost ~]# e2label /dev/sda6   //查看

    //无内容

    [root@localhost ~]# e2label /dev/sda6 "disk6"   //修改卷标名

    [root@localhost ~]# e2label /dev/sda6   //查看修改结果

    disk6       //修改后的卷标名为disk6

    [root@localhost ~]# e2label /dev/sda6 ""    //删除卷标名

    [root@localhost ~]# e2label /dev/sda6   //再次查看,没有卷标名了

    [root@localhost~]#

    2,查看设备的UUID:blkid命令

    blkid命令:

    blkid 设备名...

    示例:

    [root@localhost ~]# blkid /dev/sda3 /dev/sda6   //查看sda3和sda6的UUID

    /dev/sda3:LABEL="/data" UUID="85efcd90-d05a-45b3-9af6-ee151591c652"TYPE="ext3" SEC_TYPE="ext2"

    /dev/sda6: UUID="88c52aff-337b-4775-9c77-8c19ffc2cd3c"SEC_TYPE="ext2" TYPE="ext3" LABEL="disk6"

    [root@localhost ~]#

    注:如果是windows分区的话,没有UUID

    切TYPE选项为:TYPE=”vfat”或者为TYPE=”ntfs”

    示例:下面的/dev/sda5文件系统为ntfs格式,用blkid查看时候直接格式为ntfs

    [root@localhostdata]# blkid /dev/sda5

    /dev/sda5: TYPE="ntfs"

    3,查看ext分区属性:tune2fs

    格式:tune2fs -l 设备名

    注:在使用tune2fs -l 设备名命令查看一个文件系统是否具有acl访问控制的时候,只能查看创建系统时候的分区,而新加的分区或新加硬盘上的分区,即使是具有acl访问控制,也不能查看到。

    详细信息请查看:http://murongqingqqq.blog.51cto.com/2902694/1361506中的补充1

    示例:

    [root@localhost ~]# tune2fs -l /dev/sda3    //查看sda3的分区属性

    tune2fs1.39 (29-May-2006)

    Filesystemvolume name:   /data

    Lastmounted on:          <notavailable>

    FilesystemUUID:         85efcd90-d05a-45b3-9af6-ee151591c652

    Filesystemmagic number:  0xEF53

    Filesystemrevision #:    1 (dynamic)

    Filesystemfeatures:      has_journal resize_inodedir_index filetype needs_recovery sparse_super large_file

    Defaultmount options:    user_xattr acl        //支持acl

    Filesystemstate:         clean

    Errorsbehavior:          Continue

    FilesystemOS type:       Linux

    Inodecount:              2560864

    Blockcount:              2560359

    Reservedblock count:     128017

    Freeblocks:              2379760

    Freeinodes:              2557126

    Firstblock:              0

    Blocksize:               4096

    Fragmentsize:            4096

    ReservedGDT blocks:      625

    Blocksper group:         32768

    Fragmentsper group:      32768

    Inodesper group:         32416

    Inodeblocks per group:   1013

    Filesystemcreated:       Tue Feb 11 04:45:08 2014

    Lastmount time:          Fri Feb 21 22:11:462014

    Lastwrite time:          Fri Feb 21 22:11:462014

    Mountcount:              9

    Maximummount count:      -1

    Lastchecked:             Tue Feb 11 04:45:08 2014

    Checkinterval:           0 (<none>)

    Reservedblocks uid:      0 (user root)

    Reservedblocks gid:      0 (group root)

    Firstinode:              11

    Inodesize:               128

    Journalinode:            8

    Defaultdirectory hash:   tea

    DirectoryHash Seed:     63658a00-6d9c-480e-8c30-330a6318036d

    Journalbackup:           inode blocks

    [root@localhost ~]#

    4,查看磁盘使用情况:df命令

    常用命令选项:

    -h :使用易读的容量单位

    -T :列出文件系统类型

    [root@localhost ~]# df -Th

    文件系统类型容量已用 可用 已用% 挂载点

    /dev/sda2     ext3     19G 2.3G   16G  13% /

    /dev/sda1    ext3    190M   12M 169M   7% /boot

    tmpfs       tmpfs    248M     0 248M   0% /dev/shm

    /dev/sda3    ext3    9.5G  393M 8.6G   5% /data

    [root@localhost ~]#

    五,开机自动挂载:/etc/fstab

    配置开机自动挂载:/etc/fstab文件

    配置文件/etc/fstab,其内容可以以空格或制表位分为6列,每一列的表示的内容如下所示:

    [root@localhost ~]# cat /etc/fstab

    LABEL=/               /                        ext3   defaults         1 1

    LABEL=/boot          /boot                     ext3   defaults         1 2

    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=SWAP-sda3     swap                       swap   defaults         0 0

    第1段                  2                       3        4              5 6

    每一段表示的内容:

    第一段:表示设备文件(也可以为UUID、设备名和卷标)

    第二段:表示挂载点

    第三段:表示文件系统类型

    第四段:挂载参数

    第五段:备份标记(为0表示不备份)

    第六段:检测顺序(为0表示不检测)

    示例:设置开机自动挂载(包括交换分区)

    第一步:查看挂载情况和交换分区的大小;

    如果有新的挂在点,先卸载;如果有新的交换分区,先用swapoff 设备名卸载交换分区。

    [root@localhost ~]# df -Th      //首先查看一下文件系统的挂载情况

    文件系统类型容量已用 可用 已用% 挂载点

    /dev/sda2     ext3    19G  2.7G   16G 15% /

    /dev/sda1     ext3    99M   12M   82M 13% /boot

    tmpfs        tmpfs  1005M     0 1005M   0% /dev/shm

    [root@localhost ~]# free -m //原始交换分区为我的sda磁盘上的一个分区大小为2G

                total       used       free    shared    buffers     cached

    Mem:          2008        911       1096          0         85        649

    -/+buffers/cache:        176       1831

    Swap:         2047         0      2047

    [root@localhost ~]#

    第二步:修改fstab文件内容,增加开机挂载项;

    注:

    -这里大部分使用的为UUID,需使用blkid先查询设备的UUID

    -/dev/sdb5为交换分区,交换分区的第二段挂载点为swap,第三段文件系统类型还是swap,挂载swap分区的时候需要注意一下!

    [root@localhost ~]# vim /etc/fstab

    LABEL=/                 /                       ext3    defaults        1 1

    LABEL=/boot             /boot                   ext3    defaults        1 2

    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=SWAP-sda3         swap                    swap    defaults        0 0

    UUID="59b355ba-5f83-4016-b5bc-4257ae948359"     /data/tools ext3 defaults 0 0

    UUID="1497b080-ffaf-4fe1-95c7-c63d349550a9"     /data/soft  ext3 defaults 0 0

    UUID="58fbc6d5-e597-42bf-9ee7-096f62dd41cc"     /data/game  ext3 defaults 0 0

    UUID="a463550a-9d03-4934-81a4-e6f8be920f9a"     /home  ext3 defaults 0 0

    /dev/sdb5               swap                    swap    defaults        0 0

    第三步:使用mount -a命令来重新加载一遍

    然后用df -Th和free -m分别查看文件系统和交换分区的挂载情况。

    [root@localhost ~]# mount -a

    [root@localhost ~]# df -Th  //可以看到下面文件系统已经加载成功了

    文件系统类型容量已用 可用 已用% 挂载点

    /dev/sda2     ext3    19G  2.7G   16G 15% /

    /dev/sda1     ext3    99M   12M   82M 13% /boot

    tmpfs        tmpfs  1005M     0 1005M   0% /dev/shm

    /dev/sda5     ext3    19G  173M   18G  1% /home

    /dev/sdb1     ext3    19G  173M   18G  1% /data/tools

    /dev/sdb2     ext3    19G  173M   18G  1% /data/soft

    /dev/sdb6     ext3   9.2G  150M  8.6G  2% /data/game

    [root@localhost ~]# free -m

    //查看swap分区是否被挂载,可以看到和上边第一步查询的结果是一样的,那么即说明没有挂载,这时需要重新启动才能挂载。

                total       used       free    shared    buffers     cached

    Mem:          2008        910       1097          0        86        649

    -/+buffers/cache:        175       1832

    Swap:         2047         0      2047

    总结:可以使用mount-a来重新加载fstab内的文件系统,但是通过free -m可以看到,交换分区是没有加载成功的,若想要加载成功,则需要重新启动。

    ------

    综合示例:迁移/home目录:http://murongqingqqq.blog.51cto.com/2902694/1361937

    六:扩展

    1,swap分区的规划、挂载和自动挂载

    如果在安装系统时划分的swap分区过小,或者没有划分swap分区,这时可以从新加磁盘或者现有磁盘剩余空间中划分一个分区,并格式化为swap分区,挂载上使用。

    swap分区的查看方式:

    第一种:cat  /proc/meminfo

    第二种:swapon -s

    第三种:free -m

    [root@localhost ~]# free -m

               total       used       free    shared    buffers     cached

    Mem:         2008        893       1115          0         73        648

    -/+ buffers/cache:       170       1837

    Swap:         2047          0       2047    //可以看到交换分区的大小为2G

    建立swap分区的方式:

    使用fdisk命令划分一个分区,并指定其格式(注:用t选项)为82,保存(w)即可。

    注:在磁盘分区新划分之后需要用partprobe命令来从新加载系统分区信息!!!

    swap分区的格式化方式:

    使用mkswap 新交换分区来格式化一个新建立的交换分区

    手动启用/关闭交换分区:

    swapon/off  新交换分区

    示例:新建swap的规划,挂载,自动挂载请查看:http://murongqingqqq.blog.51cto.com/2902694/1361934

    2,挂载文件夹

    用途:主要是隐藏源目录的路径,比如说将/usr/src/目录挂载到/media/tools/src/目录下做共享,那么其他用户(如user1)在访问/usr/src/目录下资源的时候,可以直接进入

    /media/tools/src/下直接访问资源,保证了/usr/src/目录的安全性。

    注:在挂载的时候需要有目标文件夹/media/tools/src,如果没有需要先创建;而且保证目标文件夹不被其他文件系统或文件夹占用挂载。如果有,则需先卸载。

    挂载文件夹的时候需要mount命令的- -bind参数:

    示例:将/usr/src/文件夹挂载到/data/tools/src/目录下:

    思路:

    第一步:创建目录/data/tools/src/目录

    第二步:将/usr/src/文件夹挂载到/data/tools/src/目录下

    第三步:验证是否挂载成功

    第四步:使用user1用户登录系统,进入/data/tools/src/目录访问资源。

    具体操作:

    [root@localhost ~]# mkdir -p /data/tools/src

    [root@localhost ~]# ls /usr/src/

    debug  kernels

    [root@localhost ~]# mount --bind /usr/src/ /data/tools/src/

    [root@localhost ~]# mount | grep src

    /usr/src on/data/tools/src type none (rw,bind)

    [root@localhost ~]# ls /data/tools/src/

    debug  kernels

    [root@localhost ~]# su - user1

    [user1@localhost ~]$cd /data/tools/src/    

    [user1@localhostsrc]$ ls   //成功访问

    debug  kernels

    [user1@localhostsrc]$

    3,autofs触发挂载

    触发挂载,像/misc/cd目录即为触发挂载目录;

    触发挂载:在misc目录里,用ls命令无法查看到里面有任何文件或目录,但是可以用cd命令切换到cd这个目录中去,当用cd切换到cd目录的时候,那么,光盘上的目录将会自动挂载到/misc/cd目录中,这就是触发挂载。

    触发挂载的配置文件:/etc/auto.master和/etc/xxx(这个文件根据/etc/auto.master文件里面的内容来写)

    /etc/auto.master文件的内容:

    第一段:表示挂载点父目录

    第二段:挂载配置文件xxx

    /etc/xxx(这个文件为/etc/auto.master文件里面的第二段定义的挂载配置文件)文件内容:

    第一段:挂载点子目录

    第二段:挂载参数

    第三段: :设备名(注:设备名前加“:”)

    示例:将/dev/sdb1文件系统触发挂载到/abc/tools目录

    第一步:创建/abc文件夹:mkdir /abc

    第二步:为/etc/auto.master的内容增加一行

    vim /etc/auto.master

    增加一行:/abc  /etc/auto.abc

    第三步:根据/etc/auto.master文件内容,编辑配置文件/etc/auto.abc文件(新建)

    vim /etc/auto.abc

    添加内容:tools     -fstype=ext3   :/dev/sdb1

    第四步:重新加载服务:server autofs reload

    第五步:用cd /abc/tools命令看是否能进入该目录,不出意外可以进入。

    4, NTFS分区的创建,挂载,使用

    注:linux系统默认是不支持NTFS格式的分区的,想要使其支持NTFS格式的分区,需要安装NTFS-3G软件。

    下载NTFS-3G源码包的方式

    1,http://www.ntfs-3g.org

    2,wget http://www.ntfs-3g.org/ntfs-3g-1.1120.tgz

    示例:

    安装ntfs-3g源码包

    将/dev/sda5磁盘分区格式化为NTFS分区,并用ntfs-3g来加载NTFS分区。

    步骤:

    第一步:解压源码包

    tar zxvfntfs-3g_ntfsprogs-2013.1.13.tgz  -C/usr/src/

    第二步:编译安装(注:编译安装之前需要先安装gcc工具)

    cd /usr/src/ntfs-3g_ntfsprogs-2013.1.13/

    ./configure--prefix=/opt/ntfs

    make

    make install

    第三步:使用fdisk将/dev/sda5的分区类型改为7,即HPFS/NTFS格式并格式化

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

    The number ofcylinders for this disk is set to 10443.

    There is nothingwrong with that, but this is larger than 1024,

    and could in certainsetups cause problems with:

    1) software thatruns at boot time (e.g., old versions of LILO)

    2) booting andpartitioning software from other OSs

      (e.g., DOS FDISK, OS/2 FDISK)

    Command (m forhelp): t     //t为修改分区类型

    Partition number(1-5): 5   //sda5为第五个分区

    Hex code (type L tolist codes): 7  //指定为7,如果不知道可输入L查看详细信息

    Command (m forhelp): w     //w为保存退出

    The partition tablehas been altered!

    Calling ioctl() tore-read partition table.

    WARNING: Re-readingthe partition table failed with error 16: 设备或资源忙.

    The kernel stilluses the old table.

    The new table willbe used at the next reboot.

    Syncing disks.

    [root@localhost /]# mkfs.ntfs /dev/sda5 //将/dev/sda5分区格式化为ntfs格式

    [root@localhost /]# fdisk -l /dev/sda | grep NTFS   //查看NTFS分区

    /dev/sda5            2825        5257   19543041    7  HPFS/NTFS

    第四步:临时装载NTFS分区

    [root@localhost /]# ntfs-3g /dev/sda5 /data/ntfs/       //装载ntfs分区

    [root@localhost /]# mount | grep sda5

    /dev/sda5on /data/ntfs type fuseblk(rw,allow_other,blksize=4096)

    [root@localhost /]#

    注:临时挂载成功,这一步为止,已经完成了NTFS格式分区的临时挂载。

    第五步:如果需要设置开机自动挂载该NTFS分区,需要在/etc/fstab文件里面增加内容

    格式为:

    [root@localhost /]# cat /etc/fstab | grep sda5

    /dev/sda5               /data/ntfs              ntfs-3g defaults        0 0

    [root@localhost /]#

    第六步:验证

    [root@localhost /]# umount /data/ntfs/      //卸载挂载点

    [root@localhost /]# mount | grep sda5       //查看是否卸载成功

    [root@localhost /]# mount -a        //加载所有fstab已配置的文件系统

    注:如果用mount -a能够加载/dea/sda5的话,那么重启肯定能加载。

    [root@localhost /]# mount | grep sda5   //可以看到,挂载成功了!

    /dev/sda5on /data/ntfs type fuseblk (rw,allow_other,blksize=4096)

    [root@localhost /]#

    注:挂载NTFS格式u盘的时候,由于系统默认不识别NTFS 格式的文件系统,即使是安装了ntfs-3g软件,也无法识别,这时,只能通过手动挂载,一般u盘在linux系统中被识别的文件系统为/dev/sdh*设备,也可能是/dev/sd*,使用ntfs-3g /dev/sd* 挂载目录挂载即可。

  • 相关阅读:
    初级模拟电路:4-9 级联系统
    初级模拟电路:4-8 集电极反馈电路(交流分析)
    初级模拟电路:4-7 共集放大电路(交流分析)
    初级模拟电路:4-6 共射放大电路(交流分析)
    初级模拟电路:4-5 共基放大电路(交流分析)
    初级模拟电路:4-4 re模型详解
    Python语法速查: 15. 解释器与执行环境
    图解Python网络编程
    Python 安装 virturalenv 虚拟环境
    【独孤九剑】运维技术浅谈
  • 原文地址:https://www.cnblogs.com/Ph-one/p/11084992.html
Copyright © 2011-2022 走看看