5.网络接口(NET)  
  提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。众所周知,TCP/IP  协议是 Internet  的标准协议,同时也是事实上的工业标准。
  Linux  的网络实现支持 BSD 套接字,支持全部的TCP/IP协议。Linux内核的网络部分由BSD套接字、网络协议层和网络设备驱动程序组成。网络设备驱动程序负责与硬件设备通讯,每一种可能的硬件设备都有相应的设备驱动程序。
  2 . Linux Shell
  shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。
  目前主要有下列版本的shell。
  1.Bourne Shell:是贝尔实验室开发的。
  2.BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell,大部分linux的发行套件使用的都是这种shell。
  3.Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。
  4.C Shell:是SUN公司Shell的BSD版本。
  3 . linux 文件系统
  文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,如EXT2、 EXT3、 FAT、 FAT32、 VFAT和ISO9660。
  3.1 文件类型
  Linux下面的文件类型主要有:
  1) 普通文件:C语言元代码、SHELL脚本、二进制的可执行文件等。分为纯文本和二进制。
  2) 目录文件:目录,存储文件的地方。
  3) 链接文件:指向同一个文件或目录的的文件。
  4) 设备文件:与系统外设相关的,通常在/dev下面。分为块设备和字符设备。
  5)管道(FIFO)文件 :  提供进程建通信的一种方式
  6)套接字(socket) 文件: 该文件类型与网络通信有关
  可以通过ls –l, file, stat几个命令来查看文件的类型等相关信息。
  3.2  Linux目录
  文件结构是文件存放在磁盘等存贮设备上的组织方法。主要体现在对文件和目录的组织上。
  目录提供了管理文件的一个方便而有效的途径。
  Linux使用标准的目录结构,在安装的时候,安装程序已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。
  完整的目录树可划分为小的部分,这些小部分又可以单独存放在自己的磁盘或分区上。这样,相对稳定的部分和经常变化的部分可单独存放在不同的分区中,从而方便备份或系统管理。目录树的主要部分有 root、/usr、/var、/home  等(图2) 。这样的布局可方便在 Linux 计算机之间共享文件系统的某些部分。

  图2
  Linux采用的是树型结构。上层是根目录,其他的所有目录都是从根目录出发而生成的。
  微软的DOS和windows也是采用树型结构,但是在DOS和 windows中这样的树型结构的根是磁盘分区的盘符,有几个分区有几个树型结构,他们之间的关系是并列的。顶部的是不同的磁盘(分区),如:C,D,E,F等。
  但是在linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。从结构上讲,各个磁盘分区上的树型目录不一定是并列的。
  3.3 Linux磁盘分区
  一、主分区,扩展分区和逻辑分区: 
  linux分区不同于windows,硬盘和硬盘分区在Linux都表示为设备.
  硬盘分区一共有三种:主分区,扩展分区和逻辑分区。
  硬盘的分区主要分为主分区(Primary Partion)和扩展分区(Extension Partion)两种,主分区和扩展分区的数目之和不能大于四个。
  主分区(Primary Partion):可以马上被使用但不能再分区。
  扩展分区(Extension Partion):必须再进行分区后才能使用,也是说它必须还要进行二次分区。
  逻辑分区((Logical Partion)):由扩展分区建立起来的分区。逻辑分区没有数量上限制。
  扩展分区只不过是逻辑分区的“容器”,实际上只有主分区和逻辑分区进行数据存储。
  二、Linux下硬盘分区的标识
  硬盘分区的标识一般使用/dev/hd[a-z]X或者/dev/sd[a-z]X来标识,其中[a-z]代表硬盘号,X代表硬盘内的分区号。
  整块硬盘分区的块号标识:Linux下用hda、hdb、sda、sdb 等来标识不同的硬盘;
  其中:
  IDE接口硬盘:表示为/dev/hda1、/dev/hdb …;
  SCSI 接口的硬盘、SATA接口的硬盘表示为/dev/sda、/dev/sdb … … ;
  硬盘内的分区:如果X的值是1到4,表示硬盘的主分区(包含扩展分区);逻辑分区从是从5开始的,比如/dev/hda5肯定是逻辑分区了;
  例如:
  用hda1、hda2、 hda5、hda6 来标识不同的分区。其中,字母a 代表第一块硬盘,b代表第二块硬盘,依次类推。而数字1 代表一块硬盘的第一个分区、2 代表第二个分区,依次类推。1 到4 对应的是主分区(Primary Partition)或扩展分区(Extension Partition)。从5开始,对应的都是硬盘的逻辑分区(Logical Partition)。一块硬盘即使只有一个主分区,逻辑分区也是从5开始编号的,这点应特别注意。
  总结:一个硬盘分区首先要大确认在哪个硬盘,然后再确认它所在硬盘内的哪个分区。
  对于/dev/hda 类似的表示方法,也并不寞生吧;我们在Linux通过fdisk -l 可以查到硬盘是/dev/hda还是/dev/hdb;
  [root@localhost ~]# fdisk -l
  Disk /dev/hda: 80.0 GB, 80026361856 bytes
  255 heads, 63 sectors/track, 9729 cylinders
  Units = cylinders of 16065 * 512 = 8225280 bytes
  Device Boot Start End Blocks Id System
  /dev/hda1 * 1 970 7791493+ 7 HPFS/NTFS
  /dev/hda2 971 9729 70356667+ 5 Extended
  /dev/hda5 971 2915 15623181 b W95 FAT32
  /dev/hda6 2916 4131 9767488+ 83 linux
  /dev/hda7 4132 5590 11719386 83 linux
  /dev/hda8 5591 6806 9767488+ 83 linux
  /dev/hda9 6807 9657 22900626 83 linux
  /dev/hda10 9658 9729 578308+ 82 linux swap / Solaris
  请注意第一行, Disk /dev/hda: 80.0 GB, 80026361856 bytes ,这个是表示机器中只有一个硬盘设备/dev/hda ,体积大小为 80.0G;下面的是硬盘的分区,每个分区都有详细的信息,在这里不详细说了;
  Linux下磁盘分区和目录的关系如下:
  – 任何一个分区都必须挂载到某个目录上。
  – 目录是逻辑上的区分。分区是物理上的区分。
  – 磁盘Linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作。
  – 根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁盘分区。
  3.4 linux主要目录的功用。
  /bin 二进制可执行命令
  /dev 设备特殊文件
  /etc 系统管理和配置文件
  /etc/rc.d 启动的配置文件和脚本
  /home 用户主目录的基点,比如用户user的主目录是/home/user,可以用~user表示
  /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
  /sbin 系统管理命令,这里存放的是系统管理员使用的管理程序
  /tmp 公用的临时文件存储点
  /root 系统管理员的主目录(呵呵,特权阶级)
  /mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
  /lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)在这里
  /proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
  /var 某些大文件的溢出区,比方说各种服务的日志文件
  /usr 庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:
  /usr/X11R6 存放X window的目录
  /usr/bin 众多的应用程序
  /usr/sbin 超级用户的一些管理程序
  /usr/doc linux文档
  /usr/include linux下开发和编译应用程序所需要的头文件
  /usr/lib 常用的动态链接库和软件包的配置文件
  /usr/man 帮助文档
  /usr/src 源代码,linux内核的源代码放在/usr/src/linux里
  /usr/local/bin 本地增加的命令
  /usr/local/lib 本地增加的库
  3.5  linux文件系统
  文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。一个操作系统的运行离不开对文件的操作,因此必然要拥有并维护自己的文件系统。
  1.文件系统类型:
  ext2 : 早期linux中常用的文件系统
  ext3 : ext2的升级版,带日志功能
  RAMFS : 内存文件系统,速度很快
  NFS : 网络文件系统,由SUN发明,主要用于远程文件共享
  MS-DOS : MS-DOS文件系统
  VFAT : Windows 95/98 操作系统采用的文件系统
  FAT : Windows XP 操作系统采用的文件系统
  NTFS: Windows NT/XP 操作系统采用的文件系统
  HPFS : OS/2 操作系统采用的文件系统
  PROC : 虚拟的进程文件系统
  ISO9660 : 大部分光盘所采用的文件系统
  ufsSun : OS 所采用的文件系统
  NCPFS : Novell 服务器所采用的文件系统
  SMBFS : Samba 的共享文件系统
  XFS : 由SGI开发的先进的日志文件系统,支持超大容量文件
  JFS :IBM的AIX使用的日志文件系统
  ReiserFS : 基于平衡树结构的文件系统
  udf: 可擦写的数据光盘文件系统