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的博客