Linux磁碟管理

Linux磁碟管理【Linux磁碟管理】在Linux系统中 , 如何有效地对存储空间加以使用和管理 , 是一项非常重要的技术 。
基本介绍中文名:Linux磁碟管理
有效地:对存储空间加以使用和管理
查看:系统中存储空间的使用情况
进行:档案的转储
功能本章讲述如何查看系统中存储空间的使用情况、如何进行档案的转储、以及如何进行软碟的格式化 。管理命令磁碟空间管理系统软体和套用软体 , 都要以档案的形式存储在计算机的磁碟空间中 。因此 , 应该随时监视磁碟空间的使用情况 。Linux系统提供了一组有关磁碟空间管理的命令 。df命令功能:检查档案系统的磁碟空间占用情况 。可以利用该命令来获取硬碟被占用了多少空间 , 目前还剩下多少空间等信息 。语法:df [选项]说明:df命令可显示所有档案系统对i节点和磁碟块的使用情况 。该命令各个选项的含义如下:-a 显示所有档案系统的磁碟使用情况 , 包括0块(block)的档案系统 , 如/proc档案系统 。-k 以k位元组为单位显示 。-i 显示i节点信息 , 而不是磁碟块 。-t 显示各指定类型的档案系统的磁碟空间使用情况 。-x 列出不是某一指定类型档案系统的磁碟空间使用情况(与t选项相反) 。-T 显示档案系统类型 。例1:列出各档案系统的磁碟空间使用情况 。$ dfFilesystem 1 K-blocks Used Available Use% Mounted on/dev/hda2 1361587 1246406 44823 97% /df命令的输出清单的第1列是代表档案系统对应的设备档案的路径名(一般是硬碟上的分区);第2列给出分区包含的数据块(1024位元组)的数目;第3 , 4列分别表示已用的和可用的数据块数目 。用户也许会感到奇怪的是 , 第3 , 4列块数之和不等于第2列中的块数 。这是因为预设的每个分区都留了少量空间供系统管理员使用 。即使遇到普通用户空间已满的情况 , 管理员仍能登录和留有解决问题所需的工作空间 。清单中Use% 列表示普通用户空间使用的百分比 , 即使这一数字达到100% , 分区仍然留有系统管理员使用的空间 。最后 , Mounted on列表示档案系统的安装点 。例2:列出各档案系统的i节点使用情况 。$ df -iaFilesystem Inodes IUsed IFree Iused% Mounted on/dev/ hda2 352256 75043 277213 21% /none 0 0 0 0% /proc localhost:(pid221) 0 0 0 0% /net例3:列出档案系统的类型 。$ df -TFilesystem Type 1K-blocks Used Available use% Mounted on/dev/hda2 ext2 1361587 1246405 44824 97% /本例中的档案系统是ext2类型的 。du命令du的英文原义为“disk usage” , 含义为显示磁碟空间的使用情况 。功能:统计目录(或档案)所占磁碟空间的大小 。语法:du [选项] [Names…]说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用档案系统?>数据块(1024位元组)的情况 。若没有给出Names , 则对当前目录进行统计 。该命令的各个选项含义如下:-s 对每个Names参数只给出占用的数据块总数 。-a 递归地显示指定目录中各档案及子孙目录中各档案占用的数据块数 。若既不指定-s , 也不指定-a , 则只显示Names中的每一个目录及其中的各子目录所占的磁碟块数 。-b 以位元组为单位列出磁碟空间使用情况(系统预设以k位元组为单位) 。-k 以1024位元组为单位列出磁碟空间使用情况 。-c 最后再加上一个总计(系统预设设定) 。-l 计算所有的档案大小 , 对硬连结档案 , 则计算多次 。-x 跳过在不同档案系统上的目录不予统计 。下面举例说明du命令的使用:例1:查看/mnt目录占用磁碟空间的情况 。$ cd /mnt $ ls -lFR total 10 -rwxrwxrwx 2 root root ll0 Ju1 3l 00:33 aa*drwxr-xr-x 2 root root l024 Ju1 20 14:16 dev/-rw-r--r-- 1 root root 6229 Aug 2 0l:39 s1ackdrwxrwxrwx 2 root root 1024 Aug 2 02:09 var/1rwxrwxrwx 1 root root l0 Aug 2 0l:51 wei->/home/wei/dev:tota1 0lrwxrwxrwx 1 root root 8 Ju1 20 l4:l6 cdrom->/dev/hdbvar:tata1 37-r-xr-xr-x l root root 36064 Aug 2 02:09 rawrite. exe*例2:列出各目录所占的磁碟空间 , 但不详细列出每个档案所占的空间 。$ dul . /dev38 . /var48 .输出清单中的第一列是以块为单位计的磁碟空间容量 , 第二列列出目录中使用这些空间的目录名称 。注意不带选项的du命令将从当前目录开始沿着目录结构向下工作直到列出所有目录的容量为止 。这可能是一个很长的清单 , 有时只需要一个总数 。这时可在du命令中加-s选项来取得总数:$ du –s /mnt/mnt例3:列出所有档案和目录所占的空间(使用a选项) , 而且以位元组为单位(使用b选项)来计算大小 。$ du -ab8 ./dev/cdroml032 ./dev36064 ./var/rawrite. exe37088 ./var 6229 ./s1ack1l0 ./aal0 ./wei45493 .磁 盘 操 作dd命令功能:把指定的输入档案拷贝到指定的输出档案中 , 并且在拷贝过程中可以进行格式转换 。可以用该命令实现DOS下的diskcopy命令的作用 。先用dd命令把软碟上的数据写成硬碟的一个暂存档案 , 再把这个暂存档案写入第二张软碟上 , 完成diskcopy的功能 。需要注意的是 , 应该将硬碟上的暂存档案用rm命令删除掉 。系统默认使用标準输入档案和标準输出档案 。语法:dd [选项]if =输入档案(或设备名称) 。of =输出档案(或设备名称) 。ibs = bytes 一次读取bytes位元组 , 即读入缓冲区的位元组数 。skip = blocks 跳过读入缓冲区开头的ibs*blocks块 。obs = bytes 一次写入bytes位元组 , 即写入缓冲区的位元组数 。bs = bytes 同时设定读/写缓冲区的位元组数(等于设定ibs和obs) 。cbs = byte 一次转换bytes位元组 。count=blocks 只拷贝输入的blocks块 。conv = ASCII 把EBCDIC码转换为ASCIl码 。conv = ebcdic 把ASCIl码转换为EBCDIC码 。conv = ibm 把ASCIl码转换为alternate EBCDIC码 。conv = block 把变动位转换成固定字元 。conv = ublock 把固定位转换成变动位 。conv = ucase 把字母由小写转换为大写 。conv = lcase 把字母由大写转换为小写 。conv = notrunc 不截短输出档案 。conv = swab 交换每一对输入位元组 。conv = noerror 出错时不停止处理 。conv = sync 把每个输入记录的大小都调到ibs的大小(用NUL填充) 。例1:要把一张软碟的内容拷贝到另一张软碟上 , 利用/tmp作为临时存储区 。把源盘插入驱动器中 , 输入下述命令:$ dd if =/dev/fd0 of = /tmp/tmpfile拷贝完成后 , 将源盘从驱动器中取出 , 把目标盘插入 , 输入命令:$ dd if = /tmp/tmpfile of =/dev/fd0软碟拷贝完成后 , 应该将临时档案删除:$ rm /tmp/tmpfile例2:把net.i这个档案写入软碟中 , 并设定读/写缓冲区的数目 。(注意:软碟中的内容会被完全覆盖掉)$ dd if = net.i of = /dev/fd0 bs = 16384例3:将档案sfile拷贝到档案 dfile中 。$ dd if=sfile of=dfilefdformat 命令软碟是用户常用的存储介质之一 。软碟在使用之前必须先作格式化操作 , 然后可以用tar、dd、cpio等命令存储数据 , 也可以在软碟上建立可安装的档案系统 。功能:低级格式化软碟语法:format [-n] device说明:该命令的作用是对软碟进行格式化 。-n 软碟格式化后不作检验 。device 指定要进行格式化的设备 , 通常是下述设备之一:/dev/fd0d360/dev/fd0h1200/dev/fd0D360/dev/fd0H360/dev/fd0D720/dev/fd0H720/dev/fd0h360/dev/fd0h720/dev/fd0H1440