Linux硬件的依赖性及目录结构详解

[转自:《深入理解Linux内核》]

    Linux试图在硬件无关的源代码与硬件相关的源代码之间保持清晰的界限。为了做到这一点,在arch和include目录下包含了23个子目录,以对应Linux所支持的不同硬件平台。这些平台的标准名字如下:


alpha

    HP的Alpha工作站,最早属于Digital公司,后来属性Compaq公司,现在不再生产。

arm, arm26

    基于ARM处理器的计算机(如PDA)和嵌入式设备。

cris

    Axis在它的瘦服务器中使用的“代码精简指令集(Code Reduced Instruction Set)“CPU,用在诸如Web摄像机或开发主板中。

frv

    基于Fujitsu FR-V系统微处理器的嵌入式系统。

h8300

    Hitachi h8/300和h8S的8位和16位RISC微处理器。

i386

    基于80x86微处理器的IBM兼容个人计算机。

ia64

    基于64位Itanium微处理器的工作站。

m32r

    基于Renesas M32R系列微处理器的计算机。

m68k, m68knommu

    基于Motorola MC680x0微处理器的个人计算机。

mips

    基于MIPS微处理器的工作站,如Silicon Graphics公司销售的那些工作站。

parisc

    基于HP公司HP 9000 PA-RISC微处理器的工作站。

ppc, ppc64

    基于Motorolar-IBM PowerPC 32位和64位微处理器的工作。

s390

    IBM ESA/390及zSeries大型机。

sh, sh64

    基于Hitachi和STMicroelectronics联合开发的SuperH微处理器的嵌入式系统。

sparc, sparc64

    基于Sun公司SPARC和64位Ultra SPARC微处理器的工作站。

um

    用户态的Linux——一个允许开发者在用户态下运行内核的虚拟平台。

v850

    集成了基于Harvard体系结构的32位RISC核心的NEC V850微处理器。

x86_64

    基于AMD的64位微处理器的工作站,如Athlon和Opteron,以及基于Intel的ia32e/EM64T 64位微处理器的工作站。

Linux目录结构详解       

 

/bin

这是存放ls, mv, rm,mkdir, rmdir, gzip, tar, telnet及ftp等等常用执行程序的地方,有时候这个目录的内容与/usr/bin是一样的。

/boot

没错,这里就是放置你 Linux 核心与开机相关档案的地方,这个目录底下的vmlinuz-xxx 就是Linux 的 Kernel 。而如果你的开机管理程序选择grub的话,那么这个目录内还有/boot/grub这个子目录。

/dev

存放与设备有关的文件。基本上Unix或Linux系统均把设备当成是文件来看待,例如 /dev/fd0 代表软盘,亦即Windows 系统下的A盘,而/dev/cdrom则代表光盘,等等。而如上所述,在这个目录底下的文件类型通常分为两种,分别是管理磁盘Input/Output的Block文件与周边的Character文件。

/etc

系统在开机过程中需要读取的文件都在这个目录中,例如Lilo的参数、人员的账号与密码、系统的主要设定、http架站的参数内容、你所要开启的服务项目等等都在这个目录中。[注意:在这个目录下工作的时候,请记得一定要备份,否则档案被改掉了可是很麻烦的]

  • /etc/rc.d 这个路径主要记录一些开关机过程中的scripts档案,scripts有点像是DOS下的批处理(.bat)
  • /etc/rc.d/init.d 所有服务预设的启动scripts都是放在这里的,例如要启动与关闭iptables的话,可以:

/etc/rc.d/init.d/iptablesstart

/etc/rc.d/init.d/iptablesstop

/etc/xinetd.d

这个路径在较新的Linuxdistribution当中才有,由于早期的版本用来开启服务的档案是inetd.conf,但是在较新的版本中,开启服务的项目已经变成使用xinetd.conf这个文件。因此,你若需要启动一些额外的服务的话,在Mandrake9.0或者是Red Hat 7.0以后就要到/etc/xinetd.d这个目录下了。

  • /etc/X11 这是与X windows有关的设定文件所在的目录,尤其里面的XF86Config-4更是重要。

/home

基本上,这是系统预设的用户的家目录(home directory),在你新增一般用户账号的时候,预设的用户家目录都在这里设定好了。

/lib

在Linux执行或编译一些程序的时候,都会使用到一些函数库(library),就在这个目录下。

/lost+found

系统异常或产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在设备目录下。例如你加装一块硬盘于/disk中,那在这个目录下就会自动产生一个这样的目录 /disk/lost+found。

/mnt

这是软盘与光盘预设挂载点的地方;通常软盘挂在/mnt/floppy下,而光盘挂在/mnt/cdrom下。不过也不一定,只要你高兴,随便找一个地方来挂载都可以。

/proc

系统核心与执行程序的一些信息,例如网络状态的问题,等等。这个目录将在启动Linux的时候自动的被挂上,而且该目录底下不会占去硬盘空间,因为里面都是的数据都存于内存。

/root

系统管理员的家目录。

/sbin

放置一些系统管理常用的程序,例如:fdisk,mke2fs, fsck, mkswap, mount等等。与/bin 不太一样的地方,这个目录下的程序通常是给 root 等系统管理员使用的程序。

/tmp

这是让一般使用者暂时存放档案的地方,例如你在安装Linux下的软件时,可能软件预设的工作目录就是 /tmp ,所以你要定期的清理一下。当然,重要数据最好不要放在这里!

/usr

这是最重要的一个目录了,里面含有相当多的系统信息,内有许多目录,用来存放程序与指令等等。这个目录有点像是Windows 底下的『Program Files』。

  • /usr/bin 放置可执行程序,如前所说,这个目录的档案与/bin几乎是相同的。
  • /usr/include  一些套件的头文件。基本上,当我们在以tarball方式(*.tar.gz 的方式安装软件)安装某些数据时,会使用到的一些函数库都在这个目录底下。
  • /usr/lib 内含许多程序与子程序所需的函数库。
  • /usr/local 在安装完了Linux之后,基本上所有的配备都有了,但是软件总是可以升级的,例如要升级proxy服务,则通常软件预设的安装地方就是在/usr/local中,同时,安装完毕之后所得到的执行文件,为了与系统原先的执行文件有分别,因此升级后的可执行文件通常放在/usr/local/bin这个目录。
  • /usr/sbin 放置管理者使用的程序,与/sbin类似的功能。
  • /usr/share/doc 放置一些系统说明文件的地方,例如你安装了lilo了,那么在该目录底下找一找,就可以查到lilo的说明文件了。
  • /usr/share/man 放置一些程序的说明文件的地方,那是什么?呵呵!就是你使用man的时候,会去查询的路径呀!例如使用man ls这个指令时,就会查出/usr/share/man/man1/ls.1.bz2这个说明档的内容。
  • /usr/src 这是放置核心原始码的预设目录,未来我们要编译核心的时候,就必须到这个目录底下。
  • /usr/X11R6 X Window System存放相关档案的目录。

/var

这个目录可就重要了!所有服务的登录文件或错误讯息档案(logfiles)都在/var/log 里面,此外,一些数据库如MySQL的数据库则在/var/lib里头,此外,使用者未读邮件的预设放置地点为/var/spool/mail。

 

 

-----------------------------转自Skywalker_leo的博客

 

你可能感兴趣的:(Operating,System,Concepts)