操作系统

当前位置:金沙棋牌 > 操作系统 > 基础教程,linux磁盘命令示例

基础教程,linux磁盘命令示例

来源:http://www.logblo.com 作者:金沙棋牌 时间:2019-11-21 10:22

挂载命令

    在Windows系统中如果插入了U盘、移动硬盘、光驱等,只要能被Windows系统识别出来,则系统会进行自动挂载并添加盘符,然后我们就可以访问,而这一切均由系统完成,用户并不需要做任何操作即可使用。那么在Linux系统中,虽然一些Linux系统已经做了一部分自动挂载功能,但大部分情况还是需要手动挂载完成。而这一功能则是由命令mountumount命令完成。

特别值得一提的是Linux硬盘分区有很多值得学习的地方,这里我们主要介绍Linux硬盘分区,包括介绍Linux硬盘分区等方面。如果您想添加一个新的分区,或者增加一个新的硬盘,您要通过分区工具来添加分区,然后要创建分区的文件系统,然后才是挂载文件系统;比如通过mount 加载,或者通过修改 /etc/fstab来开机自动加载;

Linux磁盘管理的相关命令及使用示例,linux磁盘命令示例

1、df命令 查看分区使用情况
常用选项-h,-m

mount命令

    mount命令主要用于加载文件系统到指定的挂载点。其基本语法如下所示:

mount [选项] [设备名称] [挂载点]

常用选项如下所示:

选项 说明
-a, --all 挂载/etc/fstab文件中所有的文件系统
-F, --fork 常与-a一起使用,在系统挂载大量NFS系统时,可以提高挂载速度
-f, --fake 常用于排错,并不执行真正的挂载操作,仅模拟挂载过程,常与-v一起使用
-n, --no-mtab 不把加载记录写入/etc/mtab中,通常在/etc目录仅为只读时使用
-r, --read-only 将文件挂载为只读模式,同-o ro
-w, --rw, --read-write 将文件挂载为可读可写模式,同-o rw,系统默认方式
-t, --types vfstype 指定挂载的文件系统类型,如果不指定该选项,则默认为auto
-o, --options opts 指定挂载的挂载方式
-V, --version 显示版本信息
-v, --verbose 显示详细信息
在使用mount命令挂载,需要确认挂载点必须是一个已经存在的目录。

其中-t , --types常用的文件系统格式如下所示:

文件系统格式 说明
ext2 Linux系统常用的文件系统格式
ext3 Linux系统常用的文件系统格式
ext4 Linux系统常用的文件系统格式
iso9660 CD-ROW光盘标准文件系统格式
vfat Windows FAT32文件系统格式
xfs Linux系统常用的文件系统格式,CentOS7中支持
nfs 网络文件系统格式
ntfs Windows NTFS文件系统格式,需要单独安装包
auto 自动检测文件系统格式

其中 -o, --options 常用的选项如下所示:

选项 说明
atuo 允许和-a一起使用
noauto 不允许和-a一起使用
defaults 使用默认选项:rw, suid, dev, exec, auto, nouser, and async
ro 以只读模式进行挂载
rw 以读写模式进行挂载
nouser 禁止某一个用户(root)挂载文件系统
users 允许所有用户挂载和卸载文件系统
owner 允许非root进行挂载,但用户必须拥有该设备的所有权限
loop 以loop形式进行挂载
   在Linux中,有一种特殊的设备叫loop device,这种设备是通过映射操作系统上的正常文件而形成的虚拟块设备。因此我们可以基于该设备,创建一种存在于其他文件中的虚拟文件系统的机制。

本文总有一部份是您想要的;比如在新的分区上创建文件系统,如何挂载;如何卸载文件系统或者设备比如cdrom )等;我建您最好通读本文,然后根据自己的需要再做选择性实践;

Linux 磁盘管理

Linux磁盘管理好坏直接关系到整个系统的性能问题。

Linux磁盘管理常用三个命令为df、du和fdisk。

df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分区


2、du命令 查看文件/目录大小
常用选项:
-h【humanity】
du -h /home/xiaofang
-s【统计statistics】
du -sh /etc

umount命令

    umount功能与mount相反,主要用于卸载已经挂载的文件系统,类似于Windows中的删除U盘、移动硬盘等。其基本语法如下所示

umount [选项] [挂载点]

常用选项如下所示:

选项 说明
-a 卸载/etc/mtab中记录的所有文件系统
-r 如果无法卸载,则以只读方式重新挂载
-d 如果卸载的设备为loop设备,卸载的同时释放该loop设备
-t vfstype 仅卸载指定类型的文件系统
-f 强行卸载

Linux硬盘分区的一个小问题涉及的很多方面的知识,有时一篇文档是难以说清楚;我为了尽可能详细解说每一个过程,所以把分区工具、创建文件系统工具、查看文件系统的工具分开来说,主要是让初学者比较容易理解。

df

df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法:

df [-ahikHTm] [目录或文件名]

选项

选项 说明
-a或–all 包含全部的文件系统;
–block-size=<区块大小> 以指定的区块大小来显示区块数目;
-h或–human-readable 以可读性较高的方式来显示信息;
-H或–si 与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
-i或–inodes 显示inode的信息;
-k或–kilobytes 指定区块大小为1024字节;
-l或–local 仅显示本地端的文件系统;
-m或–megabytes 指定区块大小为1048576字节;
–no-sync 在取得磁盘使用信息前,不要执行sync指令,此为预设值;
-P或–portability 使用POSIX的输出格式;
–sync 在取得磁盘使用信息前,先执行sync指令;
-t<文件系统类型>或–type=<文件系统类型> 仅显示指定文件系统类型的磁盘信息;
-T或–print-type 显示文件系统的类型;
-x<文件系统类型>或–exclude-type=<文件系统类型> 不要显示指定文件系统类型的磁盘信息;
–help 显示帮助;
–version 显示版本信息。

金沙棋牌,实例 1

将系统内所有的文件系统列出来!

[[email protected] ~]# df
文件系统                   1K-块    已用     可用 已用% 挂载点
/dev/mapper/centos-root 17811456 1318704 16492752    8% /
devtmpfs                  488788       0   488788    0% /dev
tmpfs                     499848       0   499848    0% /dev/shm
tmpfs                     499848    6808   493040    2% /run
tmpfs                     499848       0   499848    0% /sys/fs/cgroup
/dev/sda1                1038336  127464   910872   13% /boot
tmpfs                      99972       0    99972    0% /run/user/0

在 Linux 底下如果 df 没有加任何选项,那么默认会将系统内所有的 (不含特殊内存内的文件系统与 swap) 都以 1 Kbytes 的容量来列出来!

实例 2

将容量结果以易读的容量格式显示出来

[[email protected] ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   17G  1.3G   16G    8% /
devtmpfs                 478M     0  478M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.7M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1               1014M  125M  890M   13% /boot
tmpfs                     98M     0   98M    0% /run/user/0

实例 3

将系统内的所有特殊文件格式及名称都列出来

[[email protected] ~]# df -aT
Filesystem    Type 1K-blocks    Used Available Use% Mounted on
/dev/hdc2     ext3   9920624 3823112   5585444  41% /
proc          proc         0       0         0   -  /proc
sysfs        sysfs         0       0         0   -  /sys
devpts      devpts         0       0         0   -  /dev/pts
/dev/hdc3     ext3   4956316  141376   4559108   4% /home
/dev/hdc1     ext3    101086   11126     84741  12% /boot
tmpfs        tmpfs    371332       0    371332   0% /dev/shm
none   binfmt_misc         0       0         0   -  /proc/sys/fs/binfmt_misc
sunrpc  rpc_pipefs         0       0         0   -  /var/lib/nfs/rpc_pipefs

实例 4

将 /etc 底下的可用的磁盘容量以易读的容量格式显示

[[email protected] ~]# df -h /etc
Filesystem            Size  Used Avail Use% Mounted on
/dev/hdc2             9.5G  3.7G  5.4G  41% /

3、检测修复文件系统fsck【file system check】、e2fsck【】
功能:类似与Windows的蓝屏检测,当遇到系统异常断电等情况,会自动调用fsck,进行文件系统的检测与修复
用法:e2fsck 会直接列出常用的选项

硬盘分区命令

    在Windows中,如果系统增加了硬盘,能被系统识别,通常情况只需要在计算机管理中选择对应的硬盘右键选择格式化即可。而在Linux如何操作了?我们引入两个格式化命令fdiskparted命令。

  在实际应用中,如何选择这两个命令则由硬盘的容量决定
- 硬盘容量小于2TB,则优先选择MBR,则使用 fdisk 命令
- 硬盘容量大于或等于2TB,则必须选择GPT,则使用 parted 命令

一、对存储设备的分区;

du

Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的,这里介绍Linux du命令。

语法:

du [-ahskm] 文件或目录名称

选项

选项 说明
-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或–total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k或–kilobytes 以KB(1024bytes)为单位输出。
-m或–megabytes 以MB为单位输出。
-s或–summarize 仅显示总计,只列出最后加总的值。
-h或–human-readable 以K,M,G为单位,提高信息的可读性。
-x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-L<符号链接>或–dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
-S或–separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
–exclude=<目录或文件> 略过指定的目录或文件。
-D或–dereference-args 显示指定符号链接的源文件大小。
-H或–si 与-h参数相同,但是K,M,G是以1000为换算单位。
-l或–count-links 重复计算硬件链接的文件。

实例 1

列出目前目录下的所有文件容量

[[email protected] ~]# du
8       ./test4     <==每个目录都会列出来
8       ./test2
....中间省略....
12      ./.gconfd   <==包括隐藏文件的目录
220     .           <==这个目录(.)所占用的总量

直接输入 du 没有加任何选项时,则 du 会分析当前所在目录的文件与目录所占用的硬盘空间。

实例 2

将文件的容量也列出来

[[email protected] ~]# du -a
12      ./install.log.syslog   <==有文件的列表了
8       ./.bash_logout
8       ./test4
8       ./test2
....中间省略....
12      ./.gconfd
220     .

实例 3

检查根目录底下每个目录所占用的容量

[[email protected] ~]# du -sm /*
7       /bin
6       /boot
.....中间省略....
0       /proc
.....中间省略....
1       /tmp
3859    /usr     <==系统初期最大就是他了啦!
77      /var

通配符 * 来代表每个目录。

与 df 不一样的是,du 这个命令其实会直接到文件系统内去搜寻所有的文件数据。

4、file命令 判断文件类型
file /etc/services
【案例分析】
一、使用光驱
1、挂载光驱
mount /dev/cdrom /mnt/cdrom挂载光驱
df -h 查看挂载信息
cd /mnt/cdrom 打开光盘内容
2、卸载光驱
umount /mnt/cdrom【挂载点】
或 eject//卸载的同时弹出光驱

fdisk命令

基本语法如下所示:

fdisk [选项] [设备]

常用选项如下所示:

选项 说明
-h 显示帮助信息
-l 显示指定设备的分区表信息,如未指定设备,则默认显示/proc/partitions中的记录
-v 显示版本信息
-s partition 显示指定设备分区大小

fdisk 菜单常用说明如下:

菜单项 说明
d 删除分区表
l 显示支持的分区表类型
m 显示菜单和帮助信息
n 新建分区表
p 显示分区信息
q 退出不保存
v 分区表检查
w 保存分区表信息并退出

我们这里所指的存储设备主要是本地硬盘、移动硬盘比如USB 和1394接口的硬盘);由于磁盘很大并且为了满足我们各种需要,所以把硬盘分成若干个分区;比如我们可以用这个分区来安装Linux硬盘分区系统,那个分区用来安装Windows系统... ... ;这点小事大家都明白;

fdisk

fdisk 是 Linux 的磁盘分区表操作工具。

语法:

fdisk [-l] 装置名称

选项:

选项 说明
-b<分区大小> 指定每个分区的大小;
-l 列出指定的外围设备的分区表状况;
-s<分区编号> 将指定的分区大小输出到标准输出上,单位为区块;
-u 搭配”-l”参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址;
-v 显示版本信息。

实例 1

列出所有分区信息

[[email protected] ~]# fdisk -l

Disk /dev/xvda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *           1        2550    20480000   83  Linux
/dev/xvda2            2550        2611      490496   82  Linux swap / Solaris

Disk /dev/xvdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x56f40944

    Device Boot      Start         End      Blocks   Id  System
/dev/xvdb2               1        2610    20964793+  83  Linux

实例 2

找出你系统中的根目录所在磁盘,并查阅该硬盘内的相关信息

[[email protected] ~]# df /            <==注意:重点在找出磁盘文件名而已
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hdc2              9920624   3823168   5585388  41% /

[[email protected] ~]# fdisk /dev/hdc  <==仔细看,不要加上数字喔!
The number of cylinders for this disk is set to 5005.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):     <==等待你的输入!

输入 m 后,就会看到底下这些命令介绍

Command (m for help): m   <== 输入 m 后,就会看到底下这些命令介绍
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition            <==删除一个partition
   l   list known partition types
   m   print this menu
   n   add a new partition           <==新增一个partition
   o   create a new empty DOS partition table
   p   print the partition table     <==在屏幕上显示分割表
   q   quit without saving changes   <==不储存离开fdisk程序
   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)

离开 fdisk 时按下 q,那么所有的动作都不会生效!相反的, 按下w就是动作生效的意思。

Command (m for help): p  <== 这里可以输出目前磁盘的状态

Disk /dev/hdc: 41.1 GB, 41174138880 bytes        <==这个磁盘的文件名与容量
255 heads, 63 sectors/track, 5005 cylinders      <==磁头、扇区与磁柱大小
Units = cylinders of 16065 * 512 = 8225280 bytes <==每个磁柱的大小

   Device Boot      Start         End      Blocks   Id  System
/dev/hdc1   *           1          13      104391   83  Linux
/dev/hdc2              14        1288    10241437+  83  Linux
/dev/hdc3            1289        1925     5116702+  83  Linux
/dev/hdc4            1926        5005    24740100    5  Extended
/dev/hdc5            1926        2052     1020096   82  Linux swap / Solaris
# 装置文件名 启动区否 开始磁柱    结束磁柱  1K大小容量 磁盘分区槽内的系统

Command (m for help): q

想要不储存离开吗?按下 q 就对了!不要随便按 w 啊!

使用 p 可以列出目前这颗磁盘的分割表信息,这个信息的上半部在显示整体磁盘的状态。


二、添加硬盘或分区
1、添加硬盘【在真正的服务器上,一般会先将系统断电】
2、重启系统
3、进入CMOS/BIOS模式,查看能否检测到这块新添加的硬盘
4、也可在Linux系统启动之后查看是否能够检测到这块硬盘
dmesg | grep sdb

parted命令

常用语法如下所示:

parted [选项] [设备] [命令]

常用选项如下所示:

选项 说明
-h, --help 显示帮助信息
-l, --list 显示所有设备的分区表信息
-v, --version 显示版本信息
-s, --script 自动模式,无须人工干预
-a alignment-type 分区对齐方式
常用的对齐方式如下所示:
- none:根据硬盘类型选择最低限度的对齐
- cylinder:根据硬盘柱面进行对齐
- optimal:根据硬盘的拓扑信息选择最优对齐方式

常用的命令如下所示:

命令 说明
help [command] 显示指定命令的帮助信息
mklabel label-type 指定分区表类型
mkpart part-type [fs-type] start end 创建分区,start/end为开始位置和结束位置,默认为MB
rm partition 删除分区
select device 指定要编辑的设备
set partition flag state 设置分区类型和状态
print 显示分区表信息
quit 退出
常见的 label-type 如下所示:
- bsd,dvh,gpt,loop,mac,msdos,pc98,sun

常见的 part-type 如下所示(在创建分区的时候必须指定一种类型):
- primary,logical,extended

常见的 fs-type 如下所示:
- ext2,ext3,ext4,fat32,ntfs,xfs

常见的 flag 如下所示:
- boot,root,swap,hidden,raid(软件RAID),lvm(逻辑卷)

常见的 state 如下所示:
- on,off

分区中起始和结束位置表示方法:

起始位置 结束位置 说明
1 -1 使用全部容量
0% 100% 使用全部容量
0 30G 使用前面30G的空间容量
30G 100% 使用剩余空间容量

至于如何在 Linux硬盘分区中进行Linux硬盘分区硬盘分区操作,我们推荐您用 fdisk ,目前看来也是最好用的分区工具;其它工具比如parted 和cfdisk在某一方面有点优点,但这些优点可能为大家带来一些方便 。

磁盘格式化(mkfs)

磁盘分割完毕后自然就是要进行文件系统的格式化,格式化的命令非常的简单,使用 mkfs(make filesystem) 命令。

语法

mkfs [-t 文件系统格式] 装置文件名

选项

选项 说明
fs 指定建立文件系统时的参数;
-t<文件系统类型> 指定要建立何种文件系统;
-v 显示版本信息与详细的使用方法;
-V 显示简要的使用方法;
-c 在制做档案系统前,检查该partition是否有坏轨。

实例 1

查看 mkfs 支持的文件格式

[[email protected] ~]# mkfs[tab][tab]
mkfs         mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.msdos   mkfs.vfat

按下两个[tab],会发现 mkfs 支持的文件格式如上所示。

实例 2

将分区 /dev/hdc6(可指定你自己的分区) 格式化为 ext3 文件系统:

[[email protected] ~]# mkfs -t ext3 /dev/hdc6
mke2fs 1.39 (29-May-2006)
Filesystem label=                <==这里指的是分割槽的名称(label)
OS type: Linux
Block size=4096 (log=2)          <==block 的大小配置为 4K 
Fragment size=4096 (log=2)
251392 inodes, 502023 blocks     <==由此配置决定的inode/block数量
25101 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=515899392
16 block groups
32768 blocks per group, 32768 fragments per group
15712 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

Writing inode tables: done
Creating journal (8192 blocks): done <==有日志记录
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
# 这样就创建起来我们所需要的 Ext3 文件系统了!简单明了!

5、分区

格式化分区

    mkfs命令全称为make filesystem,主要作用是用来创建Linux文件系统。

比如 parted中的数据备份功能,这个功能对老手来说可能是优点,但对新手来说,的确是有风险的;所以我们还是推荐您用 fdisk 分区工具; fdisk 的使用说明: 请参考:《实例解说 fdisk 使用方法》

磁盘检验

fsck(file system check)用来检查和维护不一致的文件系统。

若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。

语法:

fsck [-t 文件系统] [-ACay] 装置名称

选项与参数:

选项 说明
-a 自动修复文件系统,不询问任何问题;
-A 依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统;
-N 不执行指令,仅列出实际执行会进行的动作;
-P 当搭配”-A”参数使用时,则会同时检查所有的文件系统;
-r 采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式;
-R 当搭配”-A”参数使用时,则会略过/目录的文件系统不予检查;
-s 依序执行检查作业,而非同时执行;
-t<文件系统类型> 指定要检查的文件系统类型;
-T 执行fsck指令时,不显示标题信息;
-V 显示指令执行过程。
-y 选项指定检测每个文件是自动输入yes,在不确定那些是不正常的时候,可以执行 # fsck -y 全部检查修复。

实例 1

查看系统有多少文件系统支持的 fsck 命令:

[[email protected] ~]# fsck[tab][tab]
fsck         fsck.cramfs  fsck.ext2    fsck.ext3    fsck.msdos   fsck.vfat

实例 2

强制检测 /dev/hdc6 分区:

[[email protected] ~]# fsck -C -f -t ext3 /dev/hdc6 
fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
vbird_logical: 11/251968 files (9.1% non-contiguous), 36926/1004046 blocks

如果没有加上 -f 的选项,则由于这个文件系统不曾出现问题,检查的经过非常快速!若加上 -f 强制检查,才会一项一项的显示过程。


金沙棋牌 1

mkfs命令

其常用语法格式如下所示:

mkfs [-t fstype] [fs-options] [设备]

常用选项如下所示:

选项 说明
-t fstype 可查看parted中fs-type,如不指定则默认为ext2
-c 在创建文件系统前,检查分区是否有坏道
-l filename 从文件中读取坏道信息
-v 显示详细信息

二、存储设备进行格式化,即建立文件系统的过程;

磁盘挂载与卸除

Linux 的磁盘挂载使用 mount 命令,卸载使用 umount 命令。

mount命令用于加载文件系统到指定的加载点。此命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为你将光盘插入cdrom中,Linux并不会自动挂载,必须使用Linux mount命令来手动完成挂载。

磁盘挂载语法:

mount [-t vfstype] [-o options] device dir
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n]  装置文件名  挂载点

-t 详细选项:

光盘或光盘镜像:iso9660

DOS fat16文件系统:msdos

Windows 9x fat32文件系统:vfat

Windows NT ntfs文件系统:ntfs

Mount Windows文件网络共享:smbfs(需内核支持)推荐cifs

UNIX(LINUX) 文件网络共享:nfs

-o 详细选项:

loop :用来把一个文件当成硬盘分区挂接上系统

ro :采用只读方式挂接设备

rw :采用读写方式挂接设备

iocharset :指定访问文件系统所用字符集,例如iocharset=utf8

remount :重新挂载

实例 1

用默认的方式,将刚刚创建的 /dev/hdc6 挂载到 /mnt/hdc6 上面!

[[email protected] ~]# mkdir /dev/hdc6
[[email protected] ~]# mount /dev/hdc6 /mnt/hdc6
[[email protected] ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
.....中间省略.....
/dev/hdc6              1976312     42072   1833836   3% /mnt/hdc6

【 fdisk -l /dev/sda查看第一块硬盘信息】
fdisk /dev/sdb对新硬盘进行分区命令
m 获取帮助
p 打印当前分区信息,显示分区表
n 添加一个新的分区
可以添加(1)e 1个扩展分区,包含若干个逻辑分区
(2)p 1-4个主分区
t 改变新的分区的文件系统类型
常用的就是83Linux和82Linux swap /
【默认的文件系统类型:ext3】
d 删除系统分区
w 保存退出,并写入分区表
q 不保存退出
6、最好重启后,创建文件系统【类似与Windows的格式化】
说明:任何一个分区,如果想保存数据,都必须有一种管理数据的方式,这种方式,就叫作文件系统,如Windows就是NTFS【支持磁盘配额,文件压缩】,或FAT32;Linux是ext3
针对ext3文件系统 :mkfs.ext3【或mkfs -t ext3】
mkfs.ext3 /dev/sdb1//注意书写方式
选项: -b 指定数据块的大小 【其他选项可以通过man mkfs.ext3查看】
7、mkdir /web //创建一个空目录,这个目录一定是空的,不然一会儿数据就全部清空
8、挂载
mount /dev/sdb1 /web

mke2fs命令

    用于创建ext2,ext3,ext4文件系统。常用语法如下所示:

mke2fs [选项]

常用选项如下所示:

选项 说明
-b block-size 设置每个数据区块占用的空间大小,可支持1024B、2048B、4096B
-c 在创建文件系统前,检查分区是否有坏道
-F 强行创建文件系统
-j 创建ext3类型的文件系统
-q 静默模式
-t fs-type 指定创建的文件系统类型
-v 显示详细过程
mke2fs与mke2fs.ext2/mke2fs.ext3/mke2fs.ext4功能等同。

1、文件系统的一点介绍

磁盘卸载命令 umount

语法:

umount [-fn] 装置文件名或挂载点

选项与参数:

-f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下; -n :不升级 /etc/mtab 情况下卸除。

卸载/dev/hdc6

[[email protected] ~]# umount /dev/hdc6    

Linux 磁盘管理 Linux磁盘管理好坏直接关系到整个系统的性能问题。 Linux磁盘管理常...

查看分区使用情况 常用选项-h,-m 2、du命令 查看文件/目录大小 常用选项: -h【humanity】 du -h /home/xiaofang -s【统计statistics】 du -s...

mkfs.xfs命令

    用于创建xfs文件系统(CentOS 7默认的文件系统)。常用语法如下所示:

mkfs.xfs [选项] [设备]

常用选项如下所示:

选项 说明
-b block-size 设置每个数据区块占用的空间大小,默认为4KiB,最小为512,最大为64KiB
-f 强行覆盖已经存在的文件系统
-q 静默模式

我们对存储设备分区还是远远不够的,我们还要对这些新增分区进行格式化;一个分区只有建立了某种文件系统后,这个分区才能使用;建立文件系统过程,就是用相应格式化工具格式化分区的过程,这个过程和我们在Windows中格式化某个分区为NTFS分区类似;

示例

1、挂载ISO镜像文件

[root@localhost ~]# ll *.iso
-rw-rw-r--. 1 root root 4470079488 6月  20 21:04 CentOS-7.5-x86_64-DVD-1804.iso
# 创建挂载点
[root@localhost ~]# mkdir -p /tmp/CDROM

[root@localhost ~]# mount -t iso9660 -o loop  ~/CentOS-7.5-x86_64-DVD-1804.iso /tmp/CDROM/
mount: /dev/loop2 写保护,将以只读方式挂载

[root@localhost ~]# ll /tmp/CDROM/
总用量 678
-rw-rw-r-- 1 root root     14 5月   2 19:28 CentOS_BuildTag
drwxr-xr-x 3 root root   2048 5月   4 04:34 EFI
-rw-rw-r-- 1 root root    227 8月  30 2017 EULA
-rw-rw-r-- 1 root root  18009 12月 10 2015 GPL
drwxr-xr-x 3 root root   2048 5月   4 04:44 images
drwxr-xr-x 2 root root   2048 5月   4 04:34 isolinux
drwxr-xr-x 2 root root   2048 5月   4 04:34 LiveOS
drwxrwxr-x 2 root root 655360 5月   4 04:52 Packages
drwxrwxr-x 2 root root   4096 5月   4 04:54 repodata
-rw-rw-r-- 1 root root   1690 12月 10 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r-- 1 root root   1690 12月 10 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r-- 1 root root   2883 5月   4 04:55 TRANS.TBL

# 查看挂载点
[root@localhost ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda2       275G   20G  255G    8% /
/dev/sda1       500M  9.8M  490M    2% /boot/efi
/dev/sdb1        15T  4.2G   15T    1% /home/data
/dev/loop2      4.2G  4.2G     0  100% /tmp/CDROM

2、卸载挂载点

[root@localhost ~]# umount /dev/loop2

[root@localhost ~]# ll /tmp/CDROM/
总用量 0

3、fdisk创建分区、格式化和挂载

[root@localhost home]# fdisk -l /dev/sdb
磁盘 /dev/sdb:4294 MB, 4294967296 字节,8388608 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

[root@localhost home]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xa8afbc5f 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):m
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   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)
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):2
起始 扇区 (2048-8388607,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-8388607,默认为 8388607):
将使用默认值 8388607
分区 2 已设置为 Linux 类型,大小设为 4 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

[root@localhost home]# fdisk -l /dev/sdb

磁盘 /dev/sdb:4294 MB, 4294967296 字节,8388608 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe0dcbc1d

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb2            2048     8388607     4193280   83  Linux

# 格式化所创建的分区
[root@localhost home]# mkfs -v -t ext4 /dev/sdb2
mke2fs 1.42.9 (28-Dec-2013)
fs_types for mke2fs.conf resolution: 'ext4'
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
262144 inodes, 1048320 blocks
52416 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

# 创建挂载点
[root@localhost home]# mkdir -p /home/MountDisk

# 向/etc/fstab添加挂载信息
[root@localhost ~]# echo "/dev/sdb2  /home/MountDisk ext4 defaults 0 0" >> /etc/fstab

# 挂载硬盘并查看挂载点
[root@localhost ~]# mount -a && df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda6        19G  4.8G   15G   25% /
/dev/sda1      1014M  281M  734M   28% /boot
/dev/sda2       8.0G   76M  8.0G    1% /home
/dev/sda3       8.0G  1.2G  6.9G   15% /var
/dev/sdb2       3.9G   16M  3.7G    1% /home/MountDisk

4、parted创建分区、格式化和挂载

[root@localhost ~]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start  End  Size  Type  File system  标志
# 设置分区类型
(parted) mklabel gpt

警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
是/Yes/否/No? yes
# 设置分区大小
(parted) mkpart primary 1 -1
# 保存并退出
(parted) quit
信息: You may need to update /etc/fstab.

[root@localhost ~]# parted -l
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type      File system     标志
 1      1049kB  1075MB  1074MB  primary   xfs             启动
 2      1075MB  9665MB  8590MB  primary   xfs
 3      9665MB  18.3GB  8590MB  primary   xfs
 4      18.3GB  42.9GB  24.7GB  extended
 5      18.3GB  22.6GB  4295MB  logical   linux-swap(v1)
 6      22.6GB  42.9GB  20.4GB  logical   xfs


Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name     标志
 1      1049kB  4294MB  4293MB  ext4         primary

# 格式化所创建的分区
[root@localhost ~]# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=262016 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1048064, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

# 创建挂载点
[root@localhost home]# mkdir -p /home/MountDisk

# 向/etc/fstab添加挂载信息
[root@localhost ~]# echo "/dev/sdb1  /home/MountDisk xfs defaults 0 0" >> /etc/fstab

# 挂载硬盘并查看挂载点
[root@localhost ~]# mount -a ; df -h -T
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda6      xfs        19G  4.8G   15G   25% /
/dev/sda1      xfs      1014M  281M  734M   28% /boot
/dev/sda2      xfs       8.0G   76M  8.0G    1% /home
/dev/sda3      xfs       8.0G  1.2G  6.9G   15% /var
/dev/sdb1      xfs       4.0G   33M  4.0G    1% /home/MountDisk

本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:
金沙棋牌 2

没有什么高深的内容,只是所用的工具不一样罢了;在Linux硬盘分区操作系统中,目前几乎支持目前主流的文件系统,比如NTFS只读)、FAT可读可写)、ext2、ext3、reiserfs、hfs (MAC 操作系统的文件系统)、swap 交换分区... ... 还有一些咱们不熟悉的操作系统的文件系统等;

在Linux硬盘分区中,我们常用的文件系统无非是上面例出的这些;如果您新增了一个硬盘,可能想格式化成 Linux硬盘分区的文件系统,最佳选择是 reiserfs 或ext3;目前ext2已被 ext3取代;我们不推荐用ext2文件系统,ext2的使用风险比较大;速度最快的文件系统,当属reiserfs;reiserfs 还有很多优点,比如更安全;

ext3是Redhat认为最好的文件系统,所以在Fedora 4.0在安装时,特地为reiserfs 的选择弄出点麻烦;相对来说reiserfs还是比ext3要优秀;如果想深入学习文件系统的,您可以到官方论坛找相应的资料,最好是实践实践;

2、格式化工具介绍和使用;

以fedora 4.0为例,我们常用的工具mkfs mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkfs.msdos mkfs.vfat mkswap 提示:如果您不能创建reiserfs 文件系统,也就是说没有mkfs.reiserfs 或者mkreiserfs 命令,是您没有安装reiserfs-utils工具包,请参考:《让Fedora 支持创建reiserfs 文件系统,以及创建reiserfs文件系统的一点说明》

1)mkfs的使用;使用方法:[[email protected] beinan]# mkfs -t 文件系统 存储设备

注:这里的文件系统是要指定的,比如 ext3 ;reiserfs ;ext2 ;fat32 ;msdos 等... ...设备比如是一个硬盘的分区,软盘,光驱等.. ... 在格式化分区之前,您得懂得如何查看硬盘分区情况,并有针对性的格式化;比如用 fdisk -l 来查看;

请参考:《Linux硬盘分区 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍》 比如我想格式化一个移动U盘中的一个分区;全景应该是

:[[email protected] 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     7662805    16386300    c W95 FAT32 (LBA)  /dev/hda3    28069729    55617030    5 Extended  /dev/hda5    28063825     8193118+ 83 Linux硬盘分区  /dev/hda6    38265100    10241406   83 Linux硬盘分区  /dev/hda7    51015198      787153+ 82 Linux硬盘分区 swap / Solaris  /dev/hda8    51996657    11719386   83 Linux硬盘分区  /dev/hda9    66587751     8787523+ 83 Linux硬盘分区  /dev/hda10   77529729    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文件系统,则为:

[[email protected] 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 加载这个分区,然后使用这个文件系统;

[[email protected] beinan]# mkdir /mnt/sda6   [[email protected] beinan]# chmod 777 /mnt/sda6   [[email protected] beinan]# mount /dev/sda6   /mnt/sda6  

当然您也可以把分区格式化成其它的文件系统;比如我们把 /dev/sda6格式化为ext3 、ext2、reiserfs、fat32、msdos 文件系统,命令格式如下;

[[email protected] beinan]# mkfs -t ext3 /dev/sda6   [[email protected] beinan]# mkfs -t ext2 /dev/sda6  [[email protected] beinan]# mkfs -t reiserfs /dev/sda6  [[email protected] beinan]# mkfs -t fat32   /dev/sda6  [[email protected] 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介绍的主要原因;通过文件名,我们就知道这些工具是支持什么文件系统;这些命令为我们提供了更多的方便;

[[email protected] beinan]# mkfs.ext3    /dev/sda6     注:把该设备格式化成ext3文件系统  [[email protected] beinan]# mke2fs -j   /dev/sda6       注:把该设备格式化成ext3文件系统  [[email protected] beinan]# mkfs.ext2 /dev/sda6       注:把该设备格式化成ext2文件系统  [email protected] beinan]# mke2fs    /dev/sda6  注:把该设备格式化成ext2文件系统   [[email protected] beinan]# mkfs.reiserfs /dev/sda6   注:把该设备格式化成reiserfs文件系统  [[email protected] beinan]# mkfs.vfat   /dev/sda6注:把该设备格式化成fat32文件系统  [[email protected] beinan]# mkfs.msdos   /dev/sda6   注:把该设备格式化成fat16文件系统,msdos文件系统就是fat16;  [[email protected] beinan]# mkdosfs   /dev/sda6 注:把该设备格式化成fat16文件系统,同mkfs.msdos   ... ...  

2)mkswap 把一个分区格式化成为swap交换区;

[[email protected] beinan]# mkswap /dev/sda6 注:创建此分区为swap 交换分区   [[email protected] beinan]# swapon /dev/sda6 注:加载交换分区;  [[email protected] beinan]# swapoff /dev/sda6 注:关闭交换分区;  我们查看系统已经加载的swap交换分区;   [[email protected] beinan]# swapon /dev/sda6 注:加载交换分区;  [[email protected] beinan]# swapon -s  FilenameType    Size    Used    Priority  /dev/hda7       partition       787144 0       -1  /dev/sda6       partition       225144 0       -3  <code> 

为什么我的系统有两个交换分区?因为我用移动U盘做的实验,主要是为写教程之用;sda6是我在U盘上建的swap分区;如果让swap开机就加载,应该改 /etc/fstab文件,加类似如下一行;<code>/dev/sda6 swap    swap    defaults0 0 注:把此行中的/dev/hda7 改为您的交换分区就行;或者把命令行直接写入 /etc/rc.d/rc.local中也行;

swapon /dev/sda6 如果您的硬盘不能再分区,您可以创建一个swap文件[[email protected] beinan]# dd if=/dev/zero of=/tmp/swap bs=1024 count=524288 注:创建一个大小为512M 的swap 文件,在/tmp目录中;您可以根据自己的需要的大小来创建swap 文件;

读入了 524288+0 个块  输出了 524288+0 个块  [[email protected] beinan]# mkswap /tmp/swap 注:把/tmp/swap 文件,创建成swap 交换区   Setting up swapspace version 1, size = 536866 kB  no label, UUID=d9d8645d-92cb-4d33-b36e-075bb0a2e278  [[email protected] beinan]# swapon /tmp/swap   注:挂载swap   [[email protected] beinan]# swapon -s  Filename Type Size Used Priority  /dev/hda7 partition 787144 888 -1  /tmp/swap file 524280 0 -2 

注意:其实我们在安装系统的时候,就已经划分了交换分区;查看/etc/fstab,应该swap的行;如果您在安装系统时没有添加swap,可以通过这种办法来添加;

三、挂载文件系统;

挂载文件系统,目前有两种方法,一是通过 mount 来挂载,另一种方法是通过/etc/fstab文件来开机自动挂载;

1、通过mount 来挂载磁盘分区或存储设备)mount的用法其实也简单,我们说几个常用的;

挂载文件系统的命令格式:

[[email protected] beinan]# mount [-t 文件系统 ] [-o 选项] 设备 目录注: -t 通过这个参数,我们来指定文件系统的类型,一般的情况下不必指定有时也能识加,-t 后面跟 ext3 、ext2 、reiserfs、vfat 、ntfs 等。

其中 vfat 是fat32和fat16分区文件系统所所用的参数;如果您忘记了文件系统,也可以在-t 后面加auto ; -o 这个选项,主要选项有权限、用户、磁盘限额、语言编码等,但语言编码的选项,大多用于vfat和ntfs文件系统;由于选项太多,还是请您看看 man mount ;这里不多说;

设备 指存储设备,比如/dev/hda1, /dev/sda1 ,cdrom 等...至于您的系统中有哪些存储设备,主要通过 fdisk -l 或者查看 /etc/fstab 或 dmesg ;一般的情况下光驱设备是/dev/cdrom ;软驱设备是/dev/fd0 ;硬盘及移动硬盘以 fdisk -l 的输出为准;

1)对光驱和软驱的挂载;

举例:
[[email protected] beinan]# mount /dev/cdrom
[[email protected] beinan]# mount /dev/fd0
第一行是mount 光驱,至于mount 到哪了,我们可以通过查看 /etc/fstab来查看;同理软驱/dev/fd0设备也是如此;比如我们在/etc/fstab
/dev/hdc/media/cdrecorder       auto    users,exec,noauto,managed 0 0
我们可以肯定的是光盘被mount 到了 /media/cdrecorder 目录;但我们也可以自己来指定cdrom 挂载的位置 ;比如 /mnt/cdrom ,所以我们也可以这样来挂载光驱;
[[email protected] beinan]#mkdir /mnt/cdrom
[[email protected] beinan]# mount /dev/cdrom /mnt/cdrom

我们先建一个目录,然后执行mount 命令,这样cdrom 就挂在 /mnt/cdrom 中了;我们就可以在/mnt/cdrom 中查看光盘中资料和文件;这个目录您想怎么建就怎么建。用什么目录不是最重要的。重要的是您知道自己在做什么就行了。

比如我们也可以把这个目录建成 dvdrom ;然后用 mount /dev/cdrom /mnt/dvdrom 来挂载;有时我们的设备是COMBO的,有支持dvd cd 还能支持刻录的;我们最好查一下光驱设备的,主要有两个方法,一是通过查看 /etc/fstab ,二是通过ls -l 来查看;比如我们在/etc/fstab中查看到类似下面的一行;

/dev/hdc/media/cdrecorder       auto    users,exec,noauto,managed 0 0通过这个,我们能知道hdc 就是cdrom 也是dvdrom的设备 ,更是 cdrecorder的设备;为了验证我们的说法;请用ls -l 来列文件;

[[email protected] beinan]# ls -lh /dev/dvd*  lrwxrwxrwx 1 root root 3 2005-09-13 /dev/dvd -> hdc  [[email protected] beinan]# ls -lh /dev/cdrom  lrwxrwxrwx 1 root root 3 2005-09-13 /dev/cdrom -> hdc  [[email protected] beinan]# ls -lh /dev/cdwriter  lrwxrwxrwx 1 root root 3 2005-09-13 /dev/cdwriter -> hdc 

这不一目了然了吗?dvd 、cdrom 、cdwriter 的文件名都链接到了hdc这个设备,所以光驱设备根源就是/dev/hdc ;所以我们也可以这样挂载光驱;

[[email protected] beinan]# mkdir /mnt/cdrom   [[email protected] beinan]# mount /dev/hdc   /mnt/cdrom  

2)挂载硬盘和移动硬盘的文件系统;一个分区只有创建了文件系统后才能使用,前面我们说过了,我们在Linux硬盘分区大多用的是ext2 、ext3、reiserfs、fat32、msdos 、ntfs等;

[1]挂载Linux硬盘分区文件系统;
对于ext2 、ext3 、reiserfs 不需要指定文件系统的编码,其实mount 也没有这个功能;这些Linux硬盘分区文件系统,如果出现编码问题,一般是通过export LANG来指定;所以挂载这些文件系统比较简单;首先我们得建一个文件系统挂载的目录;我们前面已经提到了;

一个有文件系统的分区要挂到系统中,必须要有一个挂载点;这个挂载点就是一个目录;比如我们通过fdisk -l 得知hda5 是Linux硬盘分区分区,并且创建了文件系统,比如是reiserfs 文件系统吧; [[email protected] beinan]# fdisk -l /dev/hda

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     7662805    16386300    c W95 FAT32 (LBA)  /dev/hda3    28069729    55617030    5 Extended  /dev/hda5    28063825     8193118+ 83 Linux硬盘分区  /dev/hda6    38265100    10241406   83 Linux硬盘分区  /dev/hda7    51015198      787153+ 82 Linux硬盘分区 swap / Solaris  /dev/hda8    51996657    11719386   83 Linux硬盘分区  /dev/hda9    66587751     8787523+ 83 Linux硬盘分区  /dev/hda10   77529729    15888253+ 83 Linux硬盘分区  我们先用fdisk -l 来查看一下分区情况:我们想要挂载/dev/hda5分区,比如hda5分区创建的是reiserfs文件系统;  

[[email protected] beinan]# mkdir /mnt/hda5/   注:先创建一个挂载目录;
[[email protected] beinan]# chmod 777 /mnt/hda5/    注:设置/mnt/hda5的权限为任何用户可写可读可执行;这样所有的用户都能在写入;
[[email protected] beinan]# mount -t reiserfs /dev/hda5 /mnt/hda5    注:通过-t reiserfs 来指定/dev/hda5是reiserfs 文件系统, 并且挂载到/mnt/hda5目录;
[[email protected] beinan]# mount -t auto   /dev/hda5 /mnt/hda5   注:假如我们不知道hda5上reiserfs 文件系统,我们可以用 -t auto 让系统定夺,然后挂载到/mnt/hda5 ;
[[email protected] beinan]# mount /dev/hda5 /mnt/hda5   注:不加任何参数,直接 mount   /dev/hda5 到/mnt/hda5;系统自动判断分区文件系统;
是不是被挂载了,我们通过df -lh 来查看;

[[email protected] beinan]# df -lh  Filesystem    容量 已用 可用 已用% 挂载点  /dev/hda8      11G 8.5G 1.9G 83% /  /dev/shm      236M     0 236M   0% /dev/shm  /dev/hda10     16G 6.9G 8.3G 46% /mnt/hda10  /dev/hda5     7.9G 5.8G 2.1G 74% /mnt/hda5 

[2]挂载Windows文件系统;
请参考: 《在Fedora core 4.0 加载NTFS和FAT32分区详述》
3)卸载文件系统umount ;

命令用法: [[email protected] beinan]# umount 设备或挂载目录

举例:

[[email protected] beinan]# mount -t auto /dev/hda5 /mnt/hda5   注:挂载/dev/hda5;  [[email protected] beinan]# df -lh       注:查看/dev/hda5是否被挂载;  Filesystem    容量 已用 可用 已用% 挂载点  /dev/hda8      11G 8.5G 1.9G 83% /  /dev/shm      236M     0 236M   0% /dev/shm  /dev/hda10     16G 6.9G 8.3G 46% /mnt/hda10  /dev/hda5     7.9G 5.8G 2.1G 74% /mnt/hda5  [[email protected] beinan]# umount /dev/hda5 注:卸载/dev/hda5   [[email protected] beinan]# df -lh注:看是否卸载了/dev/hda5;  Filesystem    容量 已用 可用 已用% 挂载点  /dev/hda8      11G 8.5G 1.9G 83% /  /dev/shm      236M     0 236M   0% /dev/shm  /dev/hda10     16G 6.9G 8.3G 46% /mnt/hda10  [[email protected] beinan]#umount /dev/cdrom 注:卸载cdrom ;  [[email protected] beinan]#umount /dev/fd0   注:卸载软驱;  ... ... 再说一个查看分区是否被挂载了的命令,直接用 mount -s   [[email protected] beinan]# mount -s 

2、通过/etc/fstab文件来开机自动挂载文件系统

1)理解fstab
上面我们说了mount挂载存储设备文件系统的办法;现在我们再来说一说在/etc/fstab 中实现开机自动挂载文件系统的办法;首先我们要查看 /etc/fstab ;主要看他的规划写法;

# This file is edited by fstab-sync - see 'man fstab-sync' for details  LABEL=/1/       ext3    defaults1 1  /dev/devpts     /dev/ptsdevpts gid=5,mode=620 0 0  /dev/shm/dev/shmtmpfs   defaults0 0  /dev/proc       /proc   proc    defaults0 0  /dev/sys/sys    sysfs   defaults0 0  LABEL=SWAP-hda7 swap    swap    defaults0 0  /dev/hdc/media/cdrecorder       auto    users,exec,noauto,managed 0 0 

第一字段:设备名,在这里表示是文件系统; 有时我们把挂载文件系统也说成挂载分区; 在这个字段中也可以用分区标签;在例子中/LABEL=/1就是Fedora 系统安装分区的标签,至于是在哪个分区,可以用 df -lh 来查看;

[[email protected] beinan]# df -lh  Filesystem    容量 已用 可用 已用% 挂载点  /dev/hda8      11G 8.5G 1.9G 83% /  /dev/shm      236M     0 236M   0% /dev/shm  /dev/hda10     16G 6.9G 8.3G 46% /mnt/hda10 

我们可以知道 LABEL=/1是/dev/hda8的标签;那我们用什么命令来创建硬盘分区的标签呢?对于ext3和ext2文件系统,我们可以用 e2label 来设置
e2label device [newlabel]比如我们想把文件系统为ext3 的分区/dev/hda5的标签设备为 /5 ,我们应该执行如下的命令:

[[email protected] beinan]# e2label /dev/hda5 /5  
[[email protected] beinan]# mkdir /mnt/hda5 注:创建挂载/dev/hda5分区的目录;
[[email protected] beinan]# chmod 777 /mnt/hda5 注:打开权限,所有用户可读可写可执行;
然后我们要改/etc/fstab 中加一行

/5 /mnt/hda5    ext3     defaults0 0
警告: 请不要在您的Linux硬盘分区的安装分区也就是Linux硬盘分区系统/ 所在的分区)实践,会导致您的Linux硬盘分区系统崩溃;如果想实践,请在其它分区测试;如果是reiserfs文件系统,我们应该用 [[email protected] beinan]# reiserfstune -l 标签 设备 举例:比如我为reiserfs 文件系统 /dev/hda10设置标签为 /10 ;

[[email protected] beinan]# reiserfstune -l /10 /dev/hda10
我们在/etc/fstab中加入一行;
/10      /mnt/hda10      reiserfs defaults       0 0

警告: 请不要在您的Linux硬盘分区的安装分区也就是Linux硬盘分区系统/ 所在的分区)实践,会导致您的Linux硬盘分区系统崩溃;如果想实践,请在其它分区测试;第二字段:文件系统的挂载点;
第三字段:文件系统类型;
第四字段:mount 命令的选项,和mount 中的-o 同理;defaults包括这些选项 rw, suid, dev, exec, auto, nouser, async;通过实践,这个默认的还能满足我们的需要;至于这些选项的意思,请参看man mount ;第五字段:表示文件系统是否需要dump 备份,是真假关系;1是需要,0 是不需要;
第六字段: 是否在系统启动时,通过fsck磁盘检测工具来检查文件系统,1是需要,0是不需要,2是跳过;基于这些认识;比如我们要开机自动挂载/dev/hda5 ;我们可以如下做;
[[email protected] beinan]# mkdir /mnt/hda5/   注:先创建一个挂载目录;
[[email protected] beinan]# chmod 777 /mnt/hda5/    注:设置/mnt/hda5的权限为任何用户可写可读可执行;这样所有的用户都能在写入;
然后我们在/etc/fstab 中加如下的一行;

/dev/hda5      /mnt/hda5     reiserfs defaults       0 0
这样重启机器就能看到效果了;
四、对文件系统进行扫描fsck;
大家对Windows中的scandisk不寞生吧,在Linux硬盘分区中就有类似这样的工具fsck,不过fsck 可不仅仅是扫描,还能修正文件系统的一些问题。值得注意的是fsck 扫描文件系统时一定要在单用户模式、修复模式或把设备umount后进行。警告:如果扫描正在运行中的系统,会造成系统文件损坏;如果您的系统是正常,请不要用扫描工具,她可能会把您的系统搞坏掉,fsck运行是有危险的;以Fedora 为例,文件系统扫描工具有 fsck fsck.ext2 fsck.jfs fsck.msdos fsck.vfat fsck.ext3 fsck.reiserfsreiserfsck)其中fsck 默认支持文件系统ext2,如果想支持ext3文件系统的扫描,应该加-j 参数,最好是我们应该根据不同的文件系统来调用不同的扫描工具,比如 fsck.ext2,fsck.jfs,fsck.msdos,fsck.ext3,fsck.reiserfsreiserfsck)等。我们也可以根据自己的文件系统选择不同的扫描工具;举例:扫描/dev/hda10分区基于reiserfs文件系统 );

[[email protected] beinan]# fsck.reiserfs /dev/hda10  reiserfsck 3.6.19 (2003 www.namesys.com)   *************************************************************  ** If you are using the latest reiserfsprogs and it fails **  ** please email bug reports to [email protected], **  ** providing as much information as possible -- your **  ** hardware, kernel, patches, settings, all reiserfsck **  ** messages (including version), the reiserfsck logfile, **  ** check the syslog file for any related information. **  ** If you would like advice on using this program, support **  ** is available for $25 at www.namesys.com/support.html. **  *************************************************************   Will read-only check consistency of the filesystem on /dev/hda10  Will put log info to 'stdout'   Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes  ###########  reiserfsck --check started at Wed Sep 14 08:54:17 2005  ###########  Replaying journal..  Reiserfs journal '/dev/hda10' in blocks [18..8211]: 0 transactions replayed  Checking internal tree..finished  Comparing bitmaps..finished  Checking Semantic tree:  finished  No corruptions found   注:没有发现错误;  There are on the filesystem:  Leaves 2046  Internal nodes 15  Directories 130  Other files 2305  Data block pointers 1863657 (70565 of them are zero)  Safe links 0  ###########  reiserfsck finished at Wed Sep 14 08:54:33 2005  ###########  对于fsck.ext2和fsck.ext3常用的几个选项:  

-p Automatic repair (no questions) 注:自动修复文件系统存在的问题;
-y Assume "yes" to all questions   注:如果文件系统有问题,会跳出提示是否修复,如果修复请按y;
-c Check for bad blocks and add them to the badblock list 注:对文件系统进行坏块检查;这是一个极为漫长的过程;
-n Make no changes to the filesystem   注:不对文件系统做任何改变,只要扫描,以检测是否有问题;
举例:比如 /dev/hda6 文件系统是ext3的),我想扫描并自动修复;
[[email protected] beinan]# fsck.ext3 -p /dev/hda6
注意: 针对不同文件系统,最好用相应的工具;虽然有时fsck 在不加参数的情况下能识别不同的文件系统;对于不同工具的最为详细的参数,请参看--help或者man ,谢谢。。
后记:创建文件系统和加载文件系统就算写的差不多了;再高深的可能也不是我所能写的。为了写文件系统系统的挂载,我已经写过几篇文档。可能还得需补充几篇短小文档,以及还有一个总结性的文档;比如Fedora Core 4.0 默认安装不支持创建reiserfs 文件系统,解决办法是安装reiserfs-utils ,这也是需要补充的;

  1. Ubuntu Linux硬盘分区引导程序
  2. 最佳方案Linux硬盘分区
  3. 操作笔记:Linux硬盘分区
  4. 介绍Linux硬盘系统建立分区步骤挂载
  5. 老机的Linux硬盘规划

...

本文由金沙棋牌发布于操作系统,转载请注明出处:基础教程,linux磁盘命令示例

关键词:

上一篇:没有了

下一篇:【金沙棋牌】shell脚本学习