红联Linux门户
Linux帮助

Linux文件系统了解

发布时间:2008-07-30 21:41:32来源:红联作者:Kttlon
在操作系统中,任何东西都可以看作是文件,文件是操作系统逻辑组织的基本单元。对于Unix和Linux文件系统而言,文件系统层次标准(FHS)是其组织规范的主要参考。对文件目录结构稍有了解的人都知道,文件系统通常由根目录(/)出发,不断延伸出一层一层的子目录。

在Linux中,常用的一级子目录包括:

[table][tr][td=1,1,76]目录名
[/td][td=1,1,444]描述
[/td][/tr][tr][td=1,1,76]/bin
[/td][td=1,1,444]集中存放一些必要的命令工具,最好不要单独挂载,否则你会找不到那些你亟需的实用程序。
[/td][/tr][tr][td=1,1,76]/boot
[/td][td=1,1,444]包含Linux的启动文件以及内核。默认情况下为100M,这对准备RHCE考试足矣
[/td][/tr][tr][td=1,1,76]/dev
[/td][td=1,1,444]集中存放各类设备驱动程序,该分区不要单独挂载
[/td][/tr][tr][td=1,1,76]/etc
[/td][td=1,1,444]集中存放一些基本的配置文件
[/td][/tr][tr][td=1,1,76]/home
[/td][td=1,1,444]集中存放用户的主目录
[/td][/tr][tr][td=1,1,76]/lib
[/td][td=1,1,444]内核和实用程序的编译库文件,该分区不要单独挂载
[/td][/tr][tr][td=1,1,76]/media
[/td][td=1,1,444]可移动介质的挂载点
[/td][/tr][tr][td=1,1,76]/misc
[/td][td=1,1,444]使用automounter挂载本地目录的标准挂载点
[/td][/tr][tr][td=1,1,76]/mnt
[/td][td=1,1,444]老的用于移动介质的挂载点
[/td][/tr][tr][td=1,1,76]/net
[/td][td=1,1,444]使用automounter挂载网络目录的标准挂载点
[/td][/tr][tr][td=1,1,76]/opt
[/td][td=1,1,444]第三方应用程序文件的常用存放地
[/td][/tr][tr][td=1,1,76]/proc
[/td][td=1,1,444]集中存放当前内核相关进程以及内核配置信息等
[/td][/tr][tr][td=1,1,76]/root
[/td][td=1,1,444]root用户的主目录
[/td][/tr][tr][td=1,1,76]/sbin
[/td][td=1,1,444]集中存放一些系统管理命令,该分区不要单独挂载
[/td][/tr][tr][td=1,1,76]/selinux
[/td][td=1,1,444]与安全升级Linux相关的当前配置
[/td][/tr][tr][td=1,1,76]/smb
[/td][td=1,1,444]使用automounter挂载远端共享Microsoft网络目录的标准挂载点
[/td][/tr][tr][td=1,1,76]/srv
[/td][td=1,1,444]常用于各种非RedHat版本的网络服务器
[/td][/tr][tr][td=1,1,76]/tftpboot
[/td][td=1,1,444]当安装了TFTP服务器时会存在
[/td][/tr][tr][td=1,1,76]/tmp
[/td][td=1,1,444]集中存放临时文件,默认情况下,RedHat会自动周期性地清空该目录
[/td][/tr][tr][td=1,1,76]/usr
[/td][td=1,1,444]集中存放一些对所有用户可用的小程序,包含许多系统管理命令和实用程序
[/td][/tr][tr][td=1,1,76]/var
[/td][td=1,1,444]集中存放可变数据,如日志和打印机缓冲文件等
[/td][/tr][/table]

设备文件

许多媒介设备在Linux系统中是以文件的形式来管理的,例如:硬驱、软驱、光驱等。另外一些通过PC插槽或端口存取的设备如串口、USB、并口、IEEE 1394等,也有专门的设备文件。

绝大多数的外围设备都能自动侦测到,典型的设备文件如下:

[table][tr][td=1,1,132]设备
[/td][td=1,1,387]设备文件
[/td][/tr][tr][td=1,1,132]软驱
[/td][td=1,1,387]第一软驱(A:):/dev/fd0;第二软驱(B:):/dev/fd1
[/td][/tr][tr][td=1,1,132]PATA(IDE)硬驱
PATA(IDE)光驱
[/td][td=1,1,387]第一驱:/dev/hda;第二驱:/dev/hdb;第三驱:/dev/hdc;第四驱:/dev/hdd
[/td][/tr][tr][td=1,1,132]SATA或SCSI硬驱
SATA或SCSI光驱
[/td][td=1,1,387]第一驱:/dev/sda;第二驱:/dev/sdb;……;第二十七驱:/dev/sdaa;……
[/td][/tr][tr][td=1,1,132]并口
[/td][td=1,1,387]第一口:/dev/pd1;第一磁带驱动器:/dev/pt1
[/td][/tr][tr][td=1,1,132]USB驱动器
[/td][td=1,1,387]视具体连接设备而定
[/td][/tr][tr][td=1,1,132]IEEE 1394设备
[/td][td=1,1,387]实际上是SCSI标准,参照SCSI设备文件规则
[/td][/tr][/table]

注意:在/dev下的许多文件只是对标准设备文件的引用,往往是为了更容易识别。如/dev/cdrom和/dev/dvd。

文件系统工具

Linux文件系统可以通过三个工具进行创建、检查或修复:fdisk、mkfs和fsck。当然,Linux里文件系统工具还不止这三个,例如parted等,但这三个无疑是最常用的,下面分别对它们进行简要介绍(具体的帮助信息可参考man页):

1)fdisk:fdisk我们并不陌生,因为在Windows系统中这是基本的工具,实际上,虽然Linux中的fdisk与Windows中的fdisk有些相似,但功能支持要大得多。在使用fdisk之前,首先须明确所要处理的硬盘。例如:如果要处理第一IDE硬盘,可以输入:#fdisk /dev/hda。fdisk命令常用的选项有:

[table][tr][td=1,1,66]选项
[/td][td=1,1,406]描述
[/td][/tr][tr][td=1,1,66]a
[/td][td=1,1,406]指定可引导Linux分区
[/td][/tr][tr][td=1,1,66]d
[/td][td=1,1,406]删除一个分区
[/td][/tr][tr][td=1,1,66]l
[/td][td=1,1,406]显示可用分区类型,fdisk可以创建所列类型的文件系统
[/td][/tr][tr][td=1,1,66]n
[/td][td=1,1,406]创建一个新的分区(在自由空间足够的情况下)
[/td][/tr][tr][td=1,1,66]p
[/td][td=1,1,406]显示现有分区情况
[/td][/tr][tr][td=1,1,66]q
[/td][td=1,1,406]退出而不保存修改
[/td][/tr][tr][td=1,1,66]t
[/td][td=1,1,406]修改分区的系统标识(类型)
[/td][/tr][tr][td=1,1,66]w
[/td][td=1,1,406]保存修改并退出
[/td][/tr][/table]

2)mkfs:主要用来格式化Linux分区。例如,如果需要格式化/dev/hda1为ext3文件系统,可以直接输入:#mkfs -t ext3 /dev/hda1。如果分区已经用ext3文件系统格式化过,现在需要重新格式化,此时mkfs可以自动识别文件系统类型为ext3,输入:#mkfs /dev/hda1即可。

3)fsck:该命令类似于Windows上的chkdsk命令,它主要用来对文件系统进行检查和修复。注意:在运行该命令之前,务必先卸载所检查的分区,在检查修复完成之后,再重新挂载该分区。

例如:
#umount /var
#fsck -t ext3 /dev/sda6
#mount /dev/sda6 /var

如果分区已经用ext2或ext3文件系统格式化过,现在需要对该分区进行检查,此时fsck实际自动调用e2fsck命令,此时无须指定分区类型,输入:#fsck /dev/sda6即可。

LVM
逻辑卷管理器(LVM)是一种可跨分区创建文件系统的工具。它的引入,借鉴了Unix文件系统的优点,可以灵活使用和配置文件系统,从而大大提高Linux系统的可靠性和可用性。使用LVM可以很方便地实现磁盘分区的扩容,一个文件系统甚至可以跨越多个硬盘。下面简要介绍一下创建LVM分区的过程:

1) 添加新的硬盘
2) 创建新的分区,将一个或多个分区指定为LVM文件系统类型(可使用fdisk工具)
3) 备份/home目录,将其分区指定为LVM文件系统类型
4) 使用vgscan工具扫描Linux的LVM文件系统以创建备用的信息库
5) 使用pvcreate /dev/partition命令创建(物理)卷。
6) 将卷添加到指定的卷组:vgcreate groupname /dev/partition1 /dev/partition2…
7) 创建逻辑卷:lvcreate -L xyM -n volname groupname,这里的xy表示卷的大小
8) 使用mkfs格式化逻辑卷为指定的文件系统
9) 用pvdisplay、vgdisplay和lvdisplay命令分别检查所创建的卷、卷组和逻辑卷信息

关于mount
mount是一个与文件系统操作紧密相关的常用命令,它主要用来在指定位置挂载本地或网络分区。挂载点不是固定的,可以由系统管理员任意指定,当然,管理员必须对挂载目录拥有足够的操作权限。FHS规定了一些标准的挂载点,例如早期的/mnt/floppy和/mnt/cdrom之类,其挂载操作如下:

#mount -t vfat /dev/fd0 /mnt/floppy
#mount -t iso9660 /dev/cdrom /mnt/cdrom

还有一些挂载点可以由automounter来自动确定。
文章评论

共有 116 条评论

  1. 877969729 于 2014-03-15 11:14:43发表:

    学习了,谢谢

  2. 于 2014-02-13 22:09:17发表:

    题目应该是目录结构更贴切,不是说文件系统,误导……

  3. hery_yang 于 2014-02-08 12:28:41发表:

    恩,都是非常重要的东西

  4. qxfsy 于 2014-01-14 08:38:21发表:

    学习

  5. ccqq11 于 2013-07-11 16:15:29发表:

    {:2_91:}好东西

  6. Tina许 于 2013-06-18 10:53:25发表:

    挺好的

  7. xdl1211xdl1211 于 2013-06-14 08:24:37发表:

    学习了,谢谢分享

  8. chunpengkai 于 2013-05-09 16:17:23发表:

    学习中,谢谢

  9. zltian2013 于 2013-01-17 22:15:25发表:

    {:2_97:}

  10. 石头玩家 于 2013-01-16 13:51:45发表:

    此贴必火!(q):s

  11. wudanaini99 于 2013-01-09 20:17:02发表:

    好东西啊!!

  12. 12700696 于 2012-12-25 11:05:47发表:

    很完整的资料

  13. q815188 于 2012-12-23 21:48:19发表:

    (6)m:b

  14. q815188 于 2012-12-23 21:48:01发表:

    (6)m:b

  15. andrea 于 2012-12-14 23:21:11发表:

    很强大

  16. 翔林 于 2012-06-19 20:40:45发表:

    学习了,谢谢

  17. zmj27404 于 2012-06-17 07:27:42发表:

    这个号,,学习了linux文件系统。

  18. lidongtcp 于 2012-06-13 11:40:17发表:

    必须顶!!!!!谢谢

  19. bxl888 于 2012-05-04 17:08:18发表:

    好,顶一个!!!!!!!

  20. bxl888 于 2012-05-03 18:33:16发表:

    好,顶一个!!!

  21. fywzxlp 于 2012-03-26 23:49:13发表:

    新手学习从看贴开始!:)

  22. amnztxn 于 2012-03-25 21:17:08发表:

    努力学习中。。。。。。。。

  23. 沧海明月 于 2012-03-09 09:01:37发表:

    好东西,先收藏!

  24. circletiger 于 2012-02-19 15:18:23发表:

    沙发的问题,可以这样解决。这是《鸟哥的linux私房菜-基础篇》里的东东。
    [root@www ~]# ll -h /root/centos5.2_x86_64.iso -rw-r--r-- 1 root root 4.3G Oct 27 17:34 /root/centos5.2_x86_64.iso # 看到上面?结果吧!这个档案就是映象档,档案非??大吧! [root@www ~]# mkdir /mnt/centos_dvd [root@www ~]# mount -o loop /root/centos5.2_x86_64.iso /mnt/centos_dvd [root@www ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /root/centos5.2_x86_64.iso 4493152 4493152 0 100% /mnt/centos_dvd # 就是这个顷目! .iso 映象文件内?所有数据可以在 /mnt/centos_dvd 看到! [root@www ~]# ll /mnt/centos_dvd total 584 drwxr-xr-x 2 root root 522240 Jun 24 00:57 CentOS <==瞧!就是DVD?内容啊! -rw-r--r-- 8 root root 212 Nov 21 2007 EULA -rw-r--r-- 8 root root 18009 Nov 21 2007 GPL drwxr-xr-x 4 root root 2048 Jun 24 00:57 images .....底下省略..... [root@www ~]# umount /mnt/centos_dvd/ # 测试完成!记得将数据给他卸除!

  25. su8610 于 2012-02-02 14:31:40发表:

    2# studyhardlinux
    不用虚拟光驱,直接mount -t iso9660 -o loop /***.iso(ISO文件位置) /***(挂载位置)

  26. shanot 于 2012-01-15 11:22:01发表:

    介绍得真好

  27. 这个冬天不冷 于 2012-01-04 10:17:31发表:

    NARFEN

  28. qq826262541 于 2012-01-01 13:48:01发表:

    看看

  29. jiazhi 于 2012-01-01 13:35:16发表:

    不错学习了:0)1

  30. volvervan 于 2011-04-08 17:56:45发表:

    学习了!!

  31. tiaoshi 于 2011-04-07 18:19:05发表:

    顶一个

  32. zxy6310689 于 2011-04-07 13:05:25发表:

    厉害,顶起

  33. rhel5 于 2011-04-06 18:29:54发表:

    :0)1

  34. ce123 于 2011-03-02 15:46:54发表:

    学习了,谢谢

  35. ce123 于 2011-03-02 15:46:44发表:

    学习了,谢谢

  36. ce123 于 2011-03-02 15:46:43发表:

    学习了,谢谢

  37. ce123 于 2011-03-02 15:46:38发表:

    学习了,谢谢

  38. ilovejqx 于 2010-11-29 15:28:48发表:

    对我来说难度大了点,不过收藏了。

  39. heyahai 于 2010-11-28 09:22:46发表:

    先收藏,以后再学习。

  40. bingfengshuiye 于 2010-11-26 17:50:14发表:

    好东东,顶一个