Linux 命令:新建文件系统--mkfs
2012-05-18 10:58
375 查看
Linux 命令: 新建建文件系统--mkfs
命令:mkfs
使用权限 : 超级用户
使用方式 : mkfs [-V] [-t fstype] [fs-options] device [blocks]
说明 : 建立 linux 档案系统在特定的 partition 上
参数 :
device : 预备检查的硬盘 partition,例如:/dev/sda1
-V : 详细显示模式
-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该partition 是否有坏轨
-l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
block : 给定 block 的大小
例子 :
在 /dev/hda3上建一个 msdos 的档案系统,
同时检查是否有坏轨存在,并且将过程详细列出来 :
mkfs -V -t msdos -c /dev/hda3
Linux Manual:
补充:
这里的文件系统是要指定的,比如 ext3 ;reiserfs ;ext2 ;fat32 ;msdos 等... ...
设备比如是一个硬盘的分区,软盘,光驱等.. ...
在格式化分区之前,您得懂得如何查看硬盘分区情况,并有针对性的格式化;
比如用 fdisk -l 来查看;
请参考:《Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍》
比如我想格式化一个移动U盘中的一个分区;全景应该是:
[root@localhost beinan]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux
Disk /dev/sda: 1035 MB, 1035730944 bytes
256 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 25 201568+ 83 Linux
/dev/sda2 26 125 806400 5 Extended
/dev/sda5 26 50 201568+ 83 Linux
/dev/sda6 51 76 200781 83 Linux
我们可以看到有sda这个设备,
所以可以用 fdisk -l /dev/sda专门来显示他的分区情况;
比如我想格式化 /dev/sda6 分区为 ext3文件系统,则为:
[root@localhost beinan]# mkfs -t ext3 /dev/sda6
mke2fs 1.37 (21-Mar-2005)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
50200 inodes, 200780 blocks
10039 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
25 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: 注:在这里直接回车;
done
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
这样就格式化好了,sda6现在就是ext3文件系统了;我们就可以用mount 加载这个分区,然后使用这个文件系统;
[root@localhost beinan]# mkdir /mnt/sda6
[root@localhost beinan]# chmod 777 /mnt/sda6
[root@localhost beinan]# mount /dev/sda6 /mnt/sda6
当然您也可以把分区格式化成其它的文件系统;
比如我们把 /dev/sda6格式化为ext3 、ext2、reiserfs、fat32、msdos 文件系统,命令格式如下;
[root@localhost beinan]# mkfs -t ext3 /dev/sda6
[root@localhost beinan]# mkfs -t ext2 /dev/sda6
[root@localhost beinan]# mkfs -t reiserfs /dev/sda6
[root@localhost beinan]# mkfs -t fat32 /dev/sda6
[root@localhost beinan]# mkfs -t msdos /dev/sda6
... ...
2)mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkfs.msdos mkfs.vfat mke2fs 的介绍;
我们先说了一个mkfs 工具后,我们再来介绍 mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkdosfs mkfs.msdos mkfs.vfat ,
其实mkfs 在执行的命令的时候,也是调用的这个工具,
这也是我先把mkfs介绍的主要原因; 通过文件名,我们就知道这些工具是支持什么文件系统;
这些命令为我们提供了更多的方便;
[root@localhost beinan]# mkfs.ext3 /dev/sda6 注:把该设备格式化成ext3文件系统
[root@localhost beinan]# mke2fs -j /dev/sda6 注:把该设备格式化成ext3文件系统
[root@localhost beinan]# mkfs.ext2 /dev/sda6 注:把该设备格式化成ext2文件系统
root@localhost beinan]# mke2fs /dev/sda6 注:把该设备格式化成ext2文件系统
[root@localhost beinan]# mkfs.reiserfs /dev/sda6 注:把该设备格式化成reiserfs文件系统
[root@localhost beinan]# mkfs.vfat /dev/sda6 注:把该设备格式化成fat32文件系统
[root@localhost beinan]# mkfs.msdos /dev/sda6 注:把该设备格式化成fat16文件系统,msdos文件系统就是fat16;
[root@localhost beinan]# mkdosfs /dev/sda6 注:把该设备格式化成fat16文件系统,同mkfs.msdos
... ...
2)mkswap 把一个分区格式化成为swap交换区;
[root@localhost beinan]# mkswap /dev/sda6 注:创建此分区为swap 交换分区
[root@localhost beinan]# swapon /dev/sda6 注:加载交换分区;
[root@localhost beinan]# swapoff /dev/sda6 注:关闭交换分区;
我们查看系统已经加载的swap交换分区;
[root@localhost beinan]# swapon /dev/sda6 注:加载交换分区;
[root@localhost beinan]# swapon -s
Filename Type Size Used Priority
/dev/hda7 partition 787144 0 -1
/dev/sda6 partition 225144 0 -3
<code>
为什么我的系统有两个交换分区?因为我用移动U盘做的实验,主要是为写教程之用;
sda6是我在U盘上建的swap分区;
如果让swap开机就加载,应该改 /etc/fstab文件,加类似如下一行:
/dev/sda6 swap swap defaults 0 0 #注:把此行中的/dev/sda6 改为您的交换分区就行;
或者把命令行直接写入 /etc/rc.d/rc.local中也行:
swapon /dev/sda6
如果您的硬盘不能再分区,您可以创建一个swap文件
#注:创建一个大小为512M 的swap 文件,在/tmp目录中;您可以根据自己的需要的大小来创建swap 文件;
[root@localhost beinan]# dd if=/dev/zero of=/tmp/swap bs=1024 count=524288
读入了 524288+0 个块
输出了 524288+0 个块
[root@localhost beinan]# mkswap /tmp/swap #注:把/tmp/swap 文件,创建成swap 交换区
Setting up swapspace version 1, size = 536866 kB
no label, UUID=d9d8645d-92cb-4d33-b36e-075bb0a2e278
[root@localhost beinan]# swapon /tmp/swap #注:挂载swap 分区
[root@localhost beinan]# swapon -s #显示系统中swap分区
Filename Type Size Used Priority
/dev/hda7 partition 787144 888 -1
/tmp/swap file 524280 0 -2
注意:其实我们在安装系统的时候,就已经划分了交换分区;查看/etc/fstab,应该swap的行;
如果您在安装系统时没有添加swap,可以通过这种办法来添加;
/dev/sda6 swap swap defaults 0 0 注:把此行中的/dev/hda7 改为您的交换分区就行;
或者把命令行直接写入 /etc/rc.d/rc.local中也行;
swapon /dev/sda6
如果您的硬盘不能再分区,您可以创建一个swap文件
[root@localhost beinan]# dd if=/dev/zero of=/tmp/swap bs=1024 count=524288 注:创建一个大小为512M 的swap 文件,在/tmp目录中;您可以根据自己的需要的大小来创建swap 文件;
读入了 524288+0 个块
输出了 524288+0 个块
[root@localhost beinan]# mkswap /tmp/swap 注:把/tmp/swap 文件,创建成swap 交换区
Setting up swapspace version 1, size = 536866 kB
no label, UUID=d9d8645d-92cb-4d33-b36e-075bb0a2e278
[root@localhost beinan]# swapon /tmp/swap 注:挂载swap
[root@localhost beinan]# swapon -s
Filename Type Size Used Priority
/dev/hda7 partition 787144 888 -1
/tmp/swap file 524280 0 -2
注意:其实我们在安装系统的时候,就已经划分了交换分区;查看/etc/fstab,应该swap的行;如果您在安装系统时没有添加swap,可以通过这种办法来添加;
关于swapon的Linux Manual:
命令:mkfs
使用权限 : 超级用户
使用方式 : mkfs [-V] [-t fstype] [fs-options] device [blocks]
说明 : 建立 linux 档案系统在特定的 partition 上
参数 :
device : 预备检查的硬盘 partition,例如:/dev/sda1
-V : 详细显示模式
-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该partition 是否有坏轨
-l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
block : 给定 block 的大小
例子 :
在 /dev/hda3上建一个 msdos 的档案系统,
同时检查是否有坏轨存在,并且将过程详细列出来 :
mkfs -V -t msdos -c /dev/hda3
Linux Manual:
[root@embedded ~]# man mkfs | cat MKFS(8) MKFS(8) NAME mkfs - build a Linux file system SYNOPSIS mkfs [ -V ] [ -t fstype ] [ fs-options ] filesys [ blocks ] DESCRIPTION mkfs is used to build a Linux file system on a device, usually a hard disk partition. filesys is the device name (e.g. /dev/hda1, /dev/sdb2). blocks is the number of blocks to be used for the file system. The exit code returned by mkfs is 0 on success and 1 on failure. In actuality, mkfs is simply a front-end for the various file system builders (mkfs.fstype) available under Linux. The file system-specific builder is searched for in a number of directories like perhaps /sbin, /sbin/fs, /sbin/fs.d, /etc/fs, /etc (the precise list is defined at compile time but at least contains /sbin and /sbin/fs), and finally in the directories listed in the PATH environment variable. Please see the file system-specific builder manual pages for further details. OPTIONS -V Produce verbose output, including all file system-specific com- mands that are executed. Specifying this option more than once inhibits execution of any file system-specific commands. This is really only useful for testing. -t fstype Specifies the type of file system to be built. If not speci- fied, the default file system type (currently ext2) is used. fs-options File system-specific options to be passed to the real file sys- tem builder. Although not guaranteed, the following options are supported by most file system builders. -c Check the device for bad blocks before building the file system. -l filename Read the bad blocks list from filename -v Produce verbose output. BUGS All generic options must precede and not be combined with file system- specific options. Some file system-specific programs do not support the -v (verbose) option, nor return meaningful exit codes. Also, some file system-specific programs do not automatically detect the device size and require the blocks parameter to be specified. AUTHORS David Engel (david@ods.com) Fred N. van Kempen (waltje@uwalt.nl.mugnet.org) Ron Sommeling (sommel@sci.kun.nl) The manual page was shamelessly adapted from Remy Card’s version for the ext2 file system. SEE ALSO fs(5), badblocks(8), fsck(8), mkdosfs(8), mke2fs(8), mkfs.bfs(8), mkfs.ext2(8), mkfs.ext3(8), mkfs.minix(8), mkfs.msdos(8), mkfs.vfat(8), mkfs.xfs(8), mkfs.xiafs(8) Version 1.9 Jun 1995 MKFS(8)
补充:
这里的文件系统是要指定的,比如 ext3 ;reiserfs ;ext2 ;fat32 ;msdos 等... ...
设备比如是一个硬盘的分区,软盘,光驱等.. ...
在格式化分区之前,您得懂得如何查看硬盘分区情况,并有针对性的格式化;
比如用 fdisk -l 来查看;
请参考:《Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍》
比如我想格式化一个移动U盘中的一个分区;全景应该是:
[root@localhost beinan]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux
Disk /dev/sda: 1035 MB, 1035730944 bytes
256 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 25 201568+ 83 Linux
/dev/sda2 26 125 806400 5 Extended
/dev/sda5 26 50 201568+ 83 Linux
/dev/sda6 51 76 200781 83 Linux
我们可以看到有sda这个设备,
所以可以用 fdisk -l /dev/sda专门来显示他的分区情况;
比如我想格式化 /dev/sda6 分区为 ext3文件系统,则为:
[root@localhost beinan]# mkfs -t ext3 /dev/sda6
mke2fs 1.37 (21-Mar-2005)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
50200 inodes, 200780 blocks
10039 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
25 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: 注:在这里直接回车;
done
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
这样就格式化好了,sda6现在就是ext3文件系统了;我们就可以用mount 加载这个分区,然后使用这个文件系统;
[root@localhost beinan]# mkdir /mnt/sda6
[root@localhost beinan]# chmod 777 /mnt/sda6
[root@localhost beinan]# mount /dev/sda6 /mnt/sda6
当然您也可以把分区格式化成其它的文件系统;
比如我们把 /dev/sda6格式化为ext3 、ext2、reiserfs、fat32、msdos 文件系统,命令格式如下;
[root@localhost beinan]# mkfs -t ext3 /dev/sda6
[root@localhost beinan]# mkfs -t ext2 /dev/sda6
[root@localhost beinan]# mkfs -t reiserfs /dev/sda6
[root@localhost beinan]# mkfs -t fat32 /dev/sda6
[root@localhost beinan]# mkfs -t msdos /dev/sda6
... ...
2)mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkfs.msdos mkfs.vfat mke2fs 的介绍;
我们先说了一个mkfs 工具后,我们再来介绍 mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkdosfs mkfs.msdos mkfs.vfat ,
其实mkfs 在执行的命令的时候,也是调用的这个工具,
这也是我先把mkfs介绍的主要原因; 通过文件名,我们就知道这些工具是支持什么文件系统;
这些命令为我们提供了更多的方便;
[root@localhost beinan]# mkfs.ext3 /dev/sda6 注:把该设备格式化成ext3文件系统
[root@localhost beinan]# mke2fs -j /dev/sda6 注:把该设备格式化成ext3文件系统
[root@localhost beinan]# mkfs.ext2 /dev/sda6 注:把该设备格式化成ext2文件系统
root@localhost beinan]# mke2fs /dev/sda6 注:把该设备格式化成ext2文件系统
[root@localhost beinan]# mkfs.reiserfs /dev/sda6 注:把该设备格式化成reiserfs文件系统
[root@localhost beinan]# mkfs.vfat /dev/sda6 注:把该设备格式化成fat32文件系统
[root@localhost beinan]# mkfs.msdos /dev/sda6 注:把该设备格式化成fat16文件系统,msdos文件系统就是fat16;
[root@localhost beinan]# mkdosfs /dev/sda6 注:把该设备格式化成fat16文件系统,同mkfs.msdos
... ...
2)mkswap 把一个分区格式化成为swap交换区;
[root@localhost beinan]# mkswap /dev/sda6 注:创建此分区为swap 交换分区
[root@localhost beinan]# swapon /dev/sda6 注:加载交换分区;
[root@localhost beinan]# swapoff /dev/sda6 注:关闭交换分区;
我们查看系统已经加载的swap交换分区;
[root@localhost beinan]# swapon /dev/sda6 注:加载交换分区;
[root@localhost beinan]# swapon -s
Filename Type Size Used Priority
/dev/hda7 partition 787144 0 -1
/dev/sda6 partition 225144 0 -3
<code>
为什么我的系统有两个交换分区?因为我用移动U盘做的实验,主要是为写教程之用;
sda6是我在U盘上建的swap分区;
如果让swap开机就加载,应该改 /etc/fstab文件,加类似如下一行:
/dev/sda6 swap swap defaults 0 0 #注:把此行中的/dev/sda6 改为您的交换分区就行;
或者把命令行直接写入 /etc/rc.d/rc.local中也行:
swapon /dev/sda6
如果您的硬盘不能再分区,您可以创建一个swap文件
#注:创建一个大小为512M 的swap 文件,在/tmp目录中;您可以根据自己的需要的大小来创建swap 文件;
[root@localhost beinan]# dd if=/dev/zero of=/tmp/swap bs=1024 count=524288
读入了 524288+0 个块
输出了 524288+0 个块
[root@localhost beinan]# mkswap /tmp/swap #注:把/tmp/swap 文件,创建成swap 交换区
Setting up swapspace version 1, size = 536866 kB
no label, UUID=d9d8645d-92cb-4d33-b36e-075bb0a2e278
[root@localhost beinan]# swapon /tmp/swap #注:挂载swap 分区
[root@localhost beinan]# swapon -s #显示系统中swap分区
Filename Type Size Used Priority
/dev/hda7 partition 787144 888 -1
/tmp/swap file 524280 0 -2
注意:其实我们在安装系统的时候,就已经划分了交换分区;查看/etc/fstab,应该swap的行;
如果您在安装系统时没有添加swap,可以通过这种办法来添加;
/dev/sda6 swap swap defaults 0 0 注:把此行中的/dev/hda7 改为您的交换分区就行;
或者把命令行直接写入 /etc/rc.d/rc.local中也行;
swapon /dev/sda6
如果您的硬盘不能再分区,您可以创建一个swap文件
[root@localhost beinan]# dd if=/dev/zero of=/tmp/swap bs=1024 count=524288 注:创建一个大小为512M 的swap 文件,在/tmp目录中;您可以根据自己的需要的大小来创建swap 文件;
读入了 524288+0 个块
输出了 524288+0 个块
[root@localhost beinan]# mkswap /tmp/swap 注:把/tmp/swap 文件,创建成swap 交换区
Setting up swapspace version 1, size = 536866 kB
no label, UUID=d9d8645d-92cb-4d33-b36e-075bb0a2e278
[root@localhost beinan]# swapon /tmp/swap 注:挂载swap
[root@localhost beinan]# swapon -s
Filename Type Size Used Priority
/dev/hda7 partition 787144 888 -1
/tmp/swap file 524280 0 -2
注意:其实我们在安装系统的时候,就已经划分了交换分区;查看/etc/fstab,应该swap的行;如果您在安装系统时没有添加swap,可以通过这种办法来添加;
关于swapon的Linux Manual:
[root@embedded ~]# man swapon | cat SWAPON(8) Linux Programmer’s Manual SWAPON(8) NAME swapon, swapoff - enable/disable devices and files for paging and swap- ping SYNOPSIS /sbin/swapon [-h -V] /sbin/swapon -a [-v] [-e] /sbin/swapon [-v] [-p priority] specialfile ... /sbin/swapon [-s] /sbin/swapoff [-h -V] /sbin/swapoff -a /sbin/swapoff specialfile ... DESCRIPTION Swapon is used to specify devices on which paging and swapping are to take place. The device or file used is given by the specialfile parameter. It may be of the form -L label or -U uuid to indicate a device by label or uuid. Calls to swapon normally occur in the system multi-user initialization file /etc/rc making all swap devices available, so that the paging and swapping activity is interleaved across several devices and files. Normally, the first form is used: -a All devices marked as ‘‘swap’’ swap devices in /etc/fstab are made available, except for those with the ‘‘noauto’’ option. Devices that are already running as swap are silently skipped. -e When -a is used with swapon, -e makes swapon silently skip devices that do not exist. -h Provide help -L label Use the partition that has the specified label. (For this, access to /proc/partitions is needed.) -p priority Specify priority for swapon. This option is only available if swapon was compiled under and is used under a 1.3.2 or later kernel. priority is a value between 0 and 32767. Higher numbers indicate higher priority. See swapon(2) for a full description of swap priorities. Add pri=value to the option field of /etc/fstab for use with swapon -a. -s Display swap usage summary by device. Equivalent to "cat /proc/swaps". Not available before Linux 2.1.25. -U uuid Use the partition that has the specified uuid. (For this, access to /proc/partitions is needed.) -v Be verbose. -V Display version Swapoff disables swapping on the specified devices and files. When the -a flag is given, swapping is disabled on all known swap devices and files (as found in /proc/swaps or /etc/fstab). NOTE You should not use swapon on a file with holes. Swap over NFS may not work. SEE ALSO swapon(2), swapoff(2), fstab(5), init(8), mkswap(8), rc(8), mount(8) FILES /dev/hd?? standard paging devices /dev/sd?? standard (SCSI) paging devices /etc/fstab ascii filesystem description table HISTORY The swapon command appeared in 4.0BSD. Linux 1.x 25 September 1995 SWAPON(8)
相关文章推荐
- Linux 文件系统构建命令mkfs
- linux mkfs命令参数及用法详解---linux格式化文件系统命令
- Linux 文件系统构建命令mkfs
- 【转】linux mkfs命令参数及用法详解---linux格式化文件系统命令(包括swap分区)
- Linux文件系统构建命令mkfs
- Linux第二课 文件系统及常用命令
- unlink命令_Linux unlink 命令用法详解:系统调用函数unlink去删除指定的文件
- blkid命令_Linux blkid 命令用法详解:查看块设备的文件系统类型、LABEL、UUID等信息
- linux系统架构,文件系统及简单命令
- 搜索Linux系统所有进程打开(文件)句柄的命令
- linux mount命令参数及用法详解---linux挂载光盘等文件系统的命令
- linux系统文件搜索命令
- linux文件系统常用命令--挂载光盘与u盘
- Linux系统文件命令精通指南
- linux mkfs命令参数及用法详解---linux格式化文件系统命令(包括swap分区)
- linux文件系统目录构成及常用命令
- Linux命令之文件系统(七)
- [Linux] 文件系统和df,du命令
- python写的linux系统批量执行命令和文件获取和推送功能(基于RSAkey)
- 采用scp命令在Linux系统之间copy文件