|簡體中文

比思論壇

 找回密碼
 按這成為會員
搜索



查看: 527|回復: 0
打印 上一主題 下一主題

Linux磁盘管理

[複製鏈接]

1053

主題

45

好友

6035

積分

教授

Rank: 8Rank: 8

  • TA的每日心情

    昨天 11:40
  • 簽到天數: 2390 天

    [LV.Master]伴壇終老

    推廣值
    0
    貢獻值
    1205
    金錢
    3720
    威望
    6035
    主題
    1053

    回文勇士 文明人 中學生 高中生 文章勇士 附件高人 簽到勳章 簽到達人 附件達人

    樓主
    發表於 2013-2-5 19:59:01
      在Liunx系统中,如何有效地对存储空间加以使用和管理,是一项非常重要的技术。本章讲述如何查看系统中存储空间的使用情况、如何进行文件的转储、以及如何进行软盘的格式化。

      磁盘空间管理

      系统软件和应用软件,都要以文件的形式存储在计算机的磁盘空间中。因此,应该随时监视磁盘空间的使用情况。Linux系统提供了一组有关磁盘空间管理的命令。

      df命令

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

      语法:df [选项]

      说明:df命令可显示所有文件系统对i节点和磁盘块的使用情况。

      该命令各个选项的含义如下:

      -a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。

      -k 以k字节为单位显示。

      -i 显示i节点信息,而不是磁盘块。

      -t 显示各指定类型的文件系统的磁盘空间使用情况。

      -x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。

      -T 显示文件系统类型。

      例1:列出各文件系统的磁盘空间使用情况。

      $ df

      Filesystem 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 -ia

      Filesystem 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 -T

      Filesystem 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 s1ack

      drwxrwxrwx 2 root root 1024 Aug 2 02:09 var/

      1rwxrwxrwx 1 root root l0 Aug 2 0l:51 wei->/home/wei/

      dev:

      tota1 0

      lrwxrwxrwx 1 root root 8 Ju1 20 l4:l6 cdrom->/dev/hdb

      var:

      tata1 37

      -r-xr-xr-x l root root 36064 Aug 2 02:09 rawrite. exe*

      例2:列出各目录所占的磁盘空间,但不详细列出每个文件所占的空间。

      $ du

      l . /dev

      38 . /var

      48 .

      输出清单中的第一列是以块为单位计的磁盘空间容量,第二列列出目录中使用这些空间的目录名称。 注意不带选项的du命令将从当前目录开始沿着目录结构向下工作直到列出所有目录的容量为止。这可能是一个很长的清单,有时只需要一个总数。这时可在du命令中加-s选项来取得总数:

      $ du –s /mnt

      /mnt

      例3:列出所有文件和目录所占的空间(使用a选项),而且以字节为单位(使用b选项)来计算大小。

      $ du -ab

      8 ./dev/cdrom

      l032 ./dev

      36064 ./var/rawrite. exe

      37088 ./var

      6229 ./s1ack

      1l0 ./aa

      l0 ./wei

      45493 .

      磁 盘 操 作

      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=dfile

      fdformat 命令

      软盘是用户常用的存储介质之一。软盘在使用之前必须先作格式化操作,然后可以用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
    重要聲明:本論壇是以即時上載留言的方式運作,比思論壇對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本論壇受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們比思論壇有權刪除任何留言及拒絕任何人士上載留言 (刪除前或不會作事先警告及通知 ),同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。

    手機版| 廣告聯繫

    GMT+8, 2024-6-2 10:09 , Processed in 0.018037 second(s), 27 queries , Gzip On.

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回頂部