veket官方网站论坛

veket

 找回密码
 要注册
搜索
查看: 12429|回复: 30

linux文件管理

[复制链接]
发表于 2010-4-24 15:36 | 显示全部楼层 |阅读模式
  在Linux操作系统下,要经常对Linux文件和磁盘进行管理和操作。本章主要介绍如何在Linux环境下对文件、磁盘、目录进行管理,还介绍了进行这些管理所需要的命令,并且详细的介绍了这些命令的用法和例子。需要掌握的是Linux系统是如何组织磁盘、目录和文件的,并熟练的掌握这些管理命令的用法。
 楼主| 发表于 2010-4-24 15:36 | 显示全部楼层

磁盘管理

  在Liunx系统中,如何有效地对存储空间加以使用和管理是一项非常重要的技术。本节讲述如何查看系统中存储空间的使用情况、如何进行文件的转储,以及如何进行软盘的格式化。

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

  1.df命令

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

  语法:df [选项]

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

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

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

  -K 以KB为单位显示。

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

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

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

  -T 显示文件系统类型。

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

  $ 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列表示文件系统的装载点。

  例:列出各文件系统的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

  例10-3:列出文件系统的类型。

  $ df –T

  Filesystem   Type 1K-blocks  Used   Available  use%  Mounted on

  /dev/hda2 ext2  1361587    1246405   44824    97%   /

  本例中的文件系统是ext2类型的。
 楼主| 发表于 2010-4-24 15:37 | 显示全部楼层
  2.du命令

  du的英文为disk usage,意思是显示磁盘空间的使用情况。

  功能:统计目录(或文件)所占磁盘空间的大小。

  语法:du [选项] [Names…]

  说明:该命令逐级进入指定目录的每一个子目录并显示该目录占用文件系统(1024字节)的情况。若没有给出Names,则对当前目录进行统计。

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

  -s 对每个Names参数只给出占用的数据块总数。

  -a 递归地显示指定目录中各文件及子目录中各文件占用的磁盘扇区数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘扇区块数。

  -b 以字节为单位列出磁盘空间使用情况(系统默认以KB为单位)。

  -k 以1024B为单位列出磁盘空间使用情况。

  -c 最后再加上一个总计(系统默认设置)。

  -l 计算所有的文件大小,对硬链接文件,则计算多次。

  -x 跳过在不同文件系统上的目录不予统计。

  下面举例说明du命令的使用。

  例10-4:查看/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*

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

  $ du

  l ./dev

  38 ./var

  48 .

  输出清单中的第一列是以区块为单位计的磁盘空间容量,第二列列出目录中使用这些空间的目录名称。

  注意,不带选项的du命令将从当前目录开始沿着目录结构向下工作,直到列出所有目录的容量为止。这可能是一个很长的清单,有时只需要一个总数。这时可在du命令中加-s选项来取得总数:

  $ du –s /mnt

  /mnt

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

  $ du –ab

  8 ./dev/cdrom

  l032 ./dev

  36064 ./var/rawrite. Exe

  37088 ./var

  6229 ./s1ack

  1l0 ./aa

  l0 ./wei

  45493 .
 楼主| 发表于 2010-4-24 15:37 | 显示全部楼层
  3.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填充)。

  例10-7:要把一张软盘的内容复制到另一张软盘上,利用/tmp作为临时存储区。把源磁盘插入驱动器中,输入下述命令:

  $ dd if =/dev/fd0 of = /tmp/tmpfile

  复制完成后,将源磁盘从磁盘机中取出,把目标磁盘插入,输入命令:

  $ dd if = /tmp/tmpfile of =/dev/fd0

  复制完成后,应该将暂存文件删除:

  $ rm /tmp/tmpfile

  例10-8:把net.i文件写入软盘中,并设置读/写缓冲区的数目。(注意:软盘中的内容会被完全覆盖掉。)

  $ dd if = net.i of = /dev/fd0 bs = 16384

  例10-9:将文件sfile复制到文件dfile中。

  $ dd if=sfile of=dfile
 楼主| 发表于 2010-4-24 15:37 | 显示全部楼层
 4.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
您需要登录后才可以回帖 登录 | 要注册

本版积分规则

QQ|手机版|Archiver|veket官方网站论坛 ( 粤ICP备 11052856 )

GMT+8, 2024-5-5 09:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表