前言:

[1]主分区+扩展分区<=4。

[2]扩展分区不能直接使用,要分成逻辑分区才能使用。

[3]逻辑分区数量没有限制。

[1]IDE硬盘驱动器标识符为“hd”。SCSI硬盘驱动器标识符为“sd”。

[2]a基本盘,b基本从属盘,c辅助盘,d辅助从属盘

[3]数字1~4表示主分区或扩展分区,从5开始就是逻辑分区。

一、磁盘与目录的容量:

1、查看磁盘空间的使用情况:df [-ahikHTm] [目录或文件名]

作用:可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

参数:

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

-T :连同该partition的filesystem名称(例如ext3)也列出;

-k :以KBytes的容量显示各档案系统;

-m :以MBytes的容量显示各档案系统;

-h :以人们较易阅读的GBytes, MBytes, KBytes等格式自行显示;

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

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

①将系统内所有的 partition列出来:df

②将容量结果以易读的容量格式显示出来:df–h

③将系统内的所有特殊档案格式及名称都列出来:df –aT

④将 /etc底下的可用的磁盘容量以易读的容量格式显示:df -h /etc

显示结果是:

Filesystem  Size   Used   Avail   Use%   Mounted on

/dev/hda1   5.7G   2.9G   2.6G   54%   /

⑤将目前各个 partition当中可用的inode数量列出:df –ih

显示结果是:

Filesystem   Inodes   IUsed   IFree   IUse%   Mounted on

/dev/hda1   1.5M    141K    1.4M   10%      /

/dev/shm   48K       1      48K    1%      /dev/shm

/dev/hda5   2.4M     67      2.4M   1%      /home

⑥查看某个目录是在那个分区:df [目录全路径]

2、统计文件或目录所占磁盘空间的大小:du [-ahskm]档案或目录名称

参数:

-a :列出所有的档案与目录容量,因为预设仅统计目录底下的档案量而已。

-h :以人们较易读的容量格式(G/M)显示;

-s :列出总量而已,而不列出每个各别的目录占用容量;

-k :以KBytes列出容量显示;

-m :以MBytes列出容量显示

①列出目前目录下的所有档案容量:du直接输入du没有加任何参数时,仅会显示目录容量。

②文件和目录的容量都显示:du–a

③显示指定文件所占空间:du文件名

④显示指定目录所占空间:du目录名

⑤显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和:du–c 文件名/目录名 文件名/目录名

二、连结档的介绍:

什么是连结档:其实连结档有点类似 Windows底下的快捷方式!也就是很多的连结档案( link file )其实都指向同一个来源档案( source file )。

连结档还分成 Hard link与symbolic link两种,这两种连结档在架构上是完全不一样的。

1.Hard Link (硬式连结或实际连结)

Hard Link 只是在某个目录下新增一个该档案的关连数据而已!

好处:最大的好处就是『安全!』如同上面提到的 /root/crontab与/etc/crontab中, 不管哪一个档案被删除了,其实仅是移除一笔目录底下的档案关连性数据,并没有更动到原本档案的inode与block数据呢!而且,不论由那个目录连结到正确的crontab的inode与block,都可以正确无误的进行数据的修改喔!

坏处:① 不能跨 Filesystem;②不能link目录。

2.Symbolic Link (符号连结,亦即是快捷方式)

坏处:Symbolic Link由于只是利用档案来做为指向的动作, 所以当来源档被删除之后,symbolic link的档案会开不了,会一直说无法开启某档案!这个Symbolic Link与Windows的快捷方式可以划上等号。

并且由 Symbolic link所建立的档案为一个独立的新的档案,所以会占用掉inode与block!

制作连结档的指令:ln

ln [-sf] 来源文件 目标文件

参数:

-s :如果ln不加任何参数就进行连结,那就是hard link,至于-s就是symbolic link

-f :如果目标文件存在时,就主动的将目标文件直接移除后再建立!

范例:

1.将 /tmp/passwd制作hard link成为passwd-hd档案:ln passwd passwd-hd

2.将 /tmp/passwd建立一个符号连结:ln -s passwd passwd-so

1242760 -rw-r--r-- 2 root root 1746 Jun 29 01:03 passwd

//制作成hard link的passwd-hd与passwd指向相同的innode,且文件的大小也与passwd相同。

1242760 -rw-r--r-- 2 root root 1746 Jun 29 01:03 passwd-hd

//制作成sort link的passwd-so指向的是不同的innode,并且文件的大小为6,其实就是连结的目标档案文件名的长度。

1242806 lrwxrwxrwx 1 root root 6 Jul 23 20:02 passwd-so -> passwd

3.删除源文件passwd,其它两个档案是否能够开启?

[root@linux tmp]# rm passwd

[root@linux tmp]# cat passwd-hd

......正常显示完毕!

[root@linux tmp]# cat passwd-so

cat: passwd-so: No such file or directory  #无法正常的开启这个档案

三、磁盘的分割、格式化、检验与挂载:

如果我们想要在系统里面新增一颗硬盘时,有如下几个动作需要做:

1.  对磁盘进行分割,以建立可用的partition;

2.  对该partition进行格式化( format ),以建立系统可用的filesystem;

3.  若想要仔细一点,则可对刚刚建立好的filesystem进行检验;

4.  在Linux系统上,需要建立挂载点(亦即是目录),并将他挂载上来;

1、磁盘分割:fdisk

fdisk [-l] 装置名称

参数:

-l :输出后面接的装置所有的partition内容。若仅有fdisk -l时, 则系统将会把整个系统内能够搜寻到的装置的partition均列出来

注意:使用 fdisk这支程序是完全不需要背指令的,因为按下m之后,立刻就会有一堆指令说明跑出来了!在上面的指令当中,比较重要的有:d删除一个磁盘分割槽、n新增一个磁盘分割槽、p将目前的磁盘分割槽列出来、

q 不储存离开!这个重要!w写入磁盘分割表后离开!这个危险!

2、磁盘格式化:mke2fs [-bicLj]装置名称   (这是用来将磁盘格式化成Linux系统文件的指令)

参数:

-b :可以设定每个block的大小,目前支持1024, 2048, 4096 bytes三种;

-i :多少容量给予一个inode呢?

-c :检查磁盘错误,仅下达一次-c时,会进行快速读取测试; 如果下达两次-c -c的话,会测试读写(read-write),会很慢~

-L :后面可以接表头名称(Label)

-j :本来mke2fs是EXT2,加上-j后,会主动加入journal而成为EXT3。

范例:

①将刚刚建立的 /dev/hdb5格式化成为ext3吧!且名称为logical:mke2fs -j -L "logical" /dev/hdb5

②承上题,如果将 block改为2048,且inode改为4096:mke2fs -j -L "logical" -b 2048 -i 4096 /dev/hdb5

3、磁盘检验:

检查硬盘有没有坏轨:fsck命令。

在/根目录低下会有『lost+found』这个目录,它就是当你处理完fsck之后,如果程序有发现到任何的错误的档案,就会将该档案的数据给他丢到这个目录当中。

sync指令:它可以直接将系统暂存在内存当中的数据回存写入磁盘当中。

在正常的状况中,由于为了增加系统的效率,很多时候进行中的程序产生的临时文件都不会直接存至磁盘驱动器当中, 而是记忆在内存当中!由于内存的数据传递速度比磁盘驱动器快了几十倍, 所以如此一来将有助于整个系统的效率!!然而这也产生了一个困扰, 那就是当你的系统不正常关机的时候,可能会使得一些已经经过改变, 却还没有存入磁盘中的数据遗失(因为还在内存当中!),这时候就可以使用sync来解决。

4、硬盘挂载与卸载:

挂载点:所谓的『挂载点』就是该 partition所在的目录,且在该目录下的所有目录都归在该partition所有!假设一个情况,我们的/为/dev/hda1而/home为/dev/hda2,那么在/home/test底下的咚咚就也都归/dev/hda2这个partition所有。

要将档案系统挂载到我们的 Linux系统上,就要使用mount这个指令:

mount -a

mount [-tonL] 装置名称代号 挂载点

参数:

-a :依照/etc/fstab的内容将所有相关的磁盘都挂上来!

-n :加上-n这个参数来略过写入mtab的动作。

-L :系统除了利用装置名称代号(例如/dev/hda1)之外,还可以利用partition的表头名称( Label )来进行挂载喔!

-t :您的Linux支持的档案格式,就写在这里吧!举例来说,我们在上面建立/dev/hdb5是ext3档案系统,那么要挂载时,就得要加上-t ext3来告知系统,用ext3的档案格式来挂载该partition!若mount后面没有加-t档案系统格式时,则Linux在预设的情况下,会主动以/etc/filesystems这个档案内规范的档案系统格式来尝试主动的挂载!

范例:

①将分区/dev/sda1挂载到某个目录/test/上:mount /dev/sda1 /test/

②挂载光盘:mount -t iso9660 /dev/cdrom  /mnt/cdrom

③挂载 Window fat软盘:mount -t vfat /dev/fd0  /mnt/floppy

④将 Label名为logical的partition挂载到/mnt/hdb5中:mount -t ext3 -L logical /mnt/hdb5

⑤将系统所有的以挂载的 partition数据列出来:mount

⑥将目录上的分区卸载:umount /test/

四、建立虚拟内存档案:

不想增加一个扇区,而是使用 swap file 的方式来新增硬盘,基本的流程:

1. 以dd指令来建立 swapfile;

2. 以mkswap来将 swapfile格式化为swap的档案格式;

3. 以swapon来启动该档案,使成为 swap;

4. 以swapoff来关闭该档案!

具体操作步骤:

1、使用 dd这个指令来新增一个64MB的档案在/tmp底下:

dd if=/dev/zero of=/tmp/swap bs=4k count=16382   我们将建立一个档名为 /tmp/swap的档案,且其内容共有64MB左右大小的档案;

16382+0 records in

16382+0 records out

# dd 这个指令是用来转换档案并且copy用的;

# if 指的是要被转换的输入档案格式/dev/zero可以由man zero来查看内容;

# of 指的是输出的档案,我们将之输出到/tmp/swap这个档案;

# bs 指的是一个扇区占用几个kb;

# count 指的是要使用多少个bs,所以最后的容量为bs*count = 4k * 16382 ~ 64MB

2、使用 mkswap将/tmp/swap这个档案格式化为swap的档案格式:mkswap /tmp/swap

注意:这个指令在下达的时候请『特别小心』,因为下错字元控制,将可能使您的 filesystem挂掉!

3、使用 swapon来将/tmp/swap启动:swapon /tmp/swap

4、使用swapoff关掉swap file:swapoff /tmp/swap

linux中磁盘的iused,Linux 磁盘与文件系统管理相关推荐

  1. linux格式化fat的命令,在Linux中使用mkfs命令格式化磁盘或分区上的文件系统

    mkfs是Linux中的命令行工具,用于在您选择的特定文件系统中格式化磁盘或分区.本篇文章分享了如何在Linux中使用mkfs命令格式化磁盘或分区上的文件系统 mkfs代表" make fi ...

  2. 在linux中的sort命令,linux中sort命令

    功能说明:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序. 参 数: -b 忽略每行前面开始出的空格字符. -c 检查文件是否已经按照顺序排序. -d 排序时,处理英文字母.数 ...

  3. linux上传oracle压缩包,Linux中从oracle官网下载jdk文件不是标准的gzip格式文件问题...

    http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-lin ...

  4. linux非标准头文件,Linux学习:unix的标准化的实现(Linux中各种限制-数据类型-各种标准化头文件介绍)...

    作为Linux的前身,unix标准化是十分重要的.我在这里挑几个重要的点说明. 1:Linux中各种限制.Linux中限制有编译时限制和运行时限制,另外有一些限制是由于我们的实现不同而不同,因此我们需 ...

  5. 如何在Linux中使用sFTP上传或下载文件与文件夹

    如何在Linux中使用sFTP上传或下载文件与文件夹 sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP(文件传输协议)类似. 然而,sFTP 比 FTP 更安全;它通过 ...

  6. linux使用grep查找文件内容,Linux中使用grep命令搜索文件名及文件内容的方法

    这篇文章主要介绍了Linux中使用grep命令搜索文件名及文件内容的方法,同时文中还介绍了将匹配结果高亮显示的方法,相当实用,需要的朋友可以参考下 从文件中搜索并显示文件名 当从多个文件中搜索时,默认 ...

  7. linux中用户组和用户,linux中用户和用户组

    一.用户和组原理 一个用户可以属于多个组,一个组有多个用户 在Linux中操作系统必须依赖组和用户进行管理 二.与用户和组相关的配置文件 1.组相关配置文件 1)/etc/group :管理用户组信息 ...

  8. 网页修改linux命令行,linux中文本修改操作命令linux网页制作 -电脑资料

    在命令模式下可以使用 vi 提供的各种有关命令对文本进行修改,包括对文本内容的删除.复制.取代和替换等, 1. 文本删除/移动 在编辑文本时 ,经常需要删除一些不需要的文本,我们可以用键将输错或不需要 ...

  9. linux中make命令大全,Linux中的命令 make -f 是什么意思

    二.Makefile的文件名 默认的情况下,make命令会在当前目录下按顺序找寻文件名为"GNUmakefile"."makef ile"."Make ...

最新文章

  1. php 的 危 险 参 数
  2. Python命令行参数解析模块------argparse
  3. 软件项目经理新手上路8 - 最后期限的迷局
  4. scala typetag java,scala – 从类型中获取TypeTag?
  5. 组合数处理(逆元求解)
  6. Oracle SQL Trace 和 10046 事件 .
  7. CGLIB依赖ASM(关于java字节码框架ASM的学习)
  8. [html] html如何创建图片热区(img usemap)?
  9. MATLAB中MEX文件的编写与调试
  10. 驱动框架1——什么是驱动框架?
  11. Matlab中的逻辑运算:“any”,“all”
  12. 关于Alipay支付宝接口(Java版)下
  13. 为什么经转速环PI之后的输出量是电流(基于MTPA分析,内含代码)
  14. 当程序员工作七年之后的一点重要的总结
  15. 年纪一大把,胡子一大堆,还能学好编程吗?今天我问了我自己
  16. 学妹:大学四年以算法为重还是技术为重?
  17. 用Python画一颗心、小人发射爱心(附源码)
  18. 系统启动过程和系统安装过程
  19. 基于Hadoop HA集群部署HBase HA集群(详细版)
  20. 南卡和苹果蓝牙耳机哪个好?高颜值且音质好的蓝牙耳机推荐

热门文章

  1. 重磅! SpringBoot+Sentinel+Nacos已撸完
  2. 求你了,别再随便打日志了,教你动态修改日志级别!
  3. 我说我精通字符串,面试官竟然问我Java中的String有没有长度限制!?|附视频讲解
  4. Apache Kafka 迎来了“后浪”
  5. Alibaba Sentinel 限流与熔断初探
  6. 聊聊自己的高效学习方法~
  7. 2021 元宇宙研究报告!
  8. 技术转管理?这些“坑”你要绕道走
  9. MAVEN自定义项目骨架
  10. ios. GCD 倒计时时间