linux文件系统对磁盘的操作

来源:互联网 发布:淘宝主词是什么 编辑:程序博客网 时间:2024/06/05 03:21

        前面简单介绍了linux的文件系统,下面我们就详细看一下文件系统关于磁盘的具体操作。

一.文件系统的操作

        1.查询磁盘与目录的容量

        查询磁盘与目录容量一般用到的命令有如下两个:

df:列出文件系统的整体磁盘使用量;

du:评估文件系统的磁盘使用量;

df

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

参数:

-a:列出所有文件系统,包括系统特有的/proc等文件系统;

-k:以KB的容量显示各文件系统;

-m:以MB的容量显示各文件系统;

-h:以人们较易阅读的GB,MB,KB等格式字形显示;

-H:以M=1000K替代M-1024K的进位方式;

-T:连同该分区的文件系统名称也列出;

-i:不用硬盘容量,而以inode的数量来显示;

下面我们看下具体的操作:

可以看到,df将linux操作系统内所有的文件系统全部显示了出来;


加上参数h的效果;

查询某一个分区的效果;

这里其实只需要注意-h和-i两个参数即可;

du

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

du这里就不详细解释参数了,它多用于评估目录的容量;

        2.软硬连接

ln的命令其实就是创建硬连接和符号连接的命令,那什么时硬连接,什么时符号连接呢?

硬连接:硬连接就是新建一个文件,这个文件连接到一个inode号码,而这个inode号可能被很多个文件连接,这样当你删除其中的一个文件时,其实只是删除了一个关联的文件,通过其他关联到这个inode号的文件,你依然可以大看inode对应的数据,只有当你把所有关联到这个inode号的文件都删除掉的时候,inode下的数据才被删除,所有硬连接可以防止误删除文件;

符号连接:符号连接其实就类似于windows的快捷方式,它新建一个文件,然后将这个文件内容指向到另一个文件的位置,由于不是连接到inode上的,所以原文件被删除后,打开符号连接就会报错;

下面我们做一个实例来展示一些硬连接与软连接:

由上图的例子可以看出新建一个硬连接和符号连接后,硬连接与原文件的inode号时一样的,而软连接则不同,另外新建硬连接以后文件的连接属性也变成了2;


由上述例子可以看出当删除a时,硬连接b完全不受影响,而符号连接c则显示找不到文件了;

二.磁盘的操作

1.磁盘的分区

磁盘分区所用到的命令为fdisk

主要参数如下:

d:删除一个分区;

n:新增一个分区;

p:显示分区;

q:不存储更改,直接退出程序;

w:保存更改,将更改写入分区表;

[root@localhost /]# #删除磁盘分区
[root@localhost /]# fdisk /dev/sda2

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.
欢迎使用 fdisk (util-linux 2.23.2)。

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


命令(输入 m 获取帮助):p

磁盘 /dev/sda2:104 MB, 104857600 字节,204800 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:dos
磁盘标识符:0x500a0dff

This doesn't look like a partition table
Probably you selected the wrong device.

     设备 Boot      Start         End      Blocks   Id  System
/dev/sda2p1   ?  1948285285  3650263507   850989111+  6e  未知
Partition 1 does not start on physical sector boundary.
/dev/sda2p2   ?           0           0           0   74  未知
/dev/sda2p4        28049408    28049848         220+   0  Empty

Partition table entries are not in disk order

命令(输入 m 获取帮助):d
分区号 (1,2,4,默认 4):1
分区 1 已删除


[root@localhost /]# #新建磁盘分区
[root@localhost /]# fdisk /dev/sda2

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.
欢迎使用 fdisk (util-linux 2.23.2)。

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


命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): e
已选择分区 3
起始 扇区 (2048-204799,默认为 2048):p
起始 扇区 (2048-204799,默认为 2048):2048
Last 扇区, +扇区 or +size{K,M,G} (2048-204799,默认为 204799):20000
分区 3 已设置为 Extended 类型,大小设为 8.8 MiB
(清忽略多写了个p,另外这里随意输入了扇区,其实是可以直接输入—+100M这种方式让系统自己计算)

1.磁盘的格式化及检验

磁盘的格式化其实只有两个命令,记下来就可以了。

普通的有选择文件系统的命令如下:

mkfs   [-t 文件系统个是]   [设备文件名]

如果需要详细设置里面的各种参数就需要使用mke2fs,由于mke2fs可以设置的参数太多了,这里就省略了。

磁盘的检验也只有两个命令,fsck和badblocks

fsck就是检验文件系统是否出现了问题,badblocks则是检验磁盘是否已经损坏;

2.磁盘的格挂载及卸载

挂载和卸载的命令分别为mount和umount,关于mount的参数很多,但是基本上只需要记住"mount  [设备文件名]  [挂载点]“ 这个命令就OK了,卸载同理,只需要记

"umount   [-fn]  设备文件名或挂载点就可以了’。




0 0
原创粉丝点击