- Linux内核源码结构
目录
|
描述
|
arch
|
包含了体系结构相关的代码,对于支持的每一种体系结构,有一个对应的子目录
|
kernel
|
与体系结构相关的内核代码
|
mm
|
与体系结构相关的内存管理代码
|
lib
|
与体系结构相关的库代码
|
documentation
|
内核的文档
|
drivers
|
设备驱动代码,每类设备都有相应的子目录,如
char
、
block
等
|
fs
|
文件系统的代码,每个支持的文件系统都有相应的子目录,如
ext2
,
proc
等
|
include
|
内核头文件,每一种体系结构,分别有对应的子目录
|
init
|
内核初始化代码
|
lib
|
内核的库代码
|
mm
|
内存管理代码
|
kernel
|
内核管理代码
|
net
|
网络部分的代码
|
Linux
的安装目录结构
目录
|
描述
|
/bin
|
存放最经常使用的命令
|
/boot
|
启动
Linux
时使用的一些核心文件
|
/dev
|
包含所有
Linux
的外部设备,类似
DOS
下
.sys
和
Win
下
.vxd
。
Linux
中设备和文件用同种方法访问
|
/etc
|
存放系统管理所需要的配置文件和子目录
|
/home
|
用户的主目录,每个用户在该目录下边有一个子目录
|
/lib
|
存放系统最基本的动态链接共享库,类似
Win
中
.dll
文件
|
/lost+found
|
非正常关机后一些文件的存放处
|
/mnt
|
目录可被用户用来挂载别的文件系统
|
/proc
|
该目录是一个虚拟的目录,为内存的映射,可直接访问这个目录来获取系统信息。该目录的内容在硬盘上而不是在内存中
|
/root
|
超级用户的主目录
|
/sbin
|
Super User
,存放系统管理员使用的管理程序
|
/tmp
|
临时文件存放目录
|
/usr
|
运用程序和源文件存放处
|
/usr/X11R6
|
X-Window
的目录
|
/usr/bin
/usr/sbin
/usr/doc
/usr/include
/usr/local
/usr/man
|
类似
|
/usr/src
|
Linux
开放的源码存放处
|
/var
|
存放不断扩充的东西,经常被修改的目录存放于此。日志文件存放在
/var/log
中。
|
3.
Linux
下的三种软件安装方式
一般通过rpm,tar.gz和tar.bz2三种方式来安装Linux下的软件。
rpm即ReadHat Package Management标准的软件包。例如安装、卸载OpenOffice.org-1.0.1.rpm,用如下命令:
rpm –ivh OpenOffice.org-1.0.1.rpm
rpm –e OpenOffice.org-1.0.1
|
而tar.gz为扩展名的软件包,即用tar程序打包并用gzip程序压缩的软件包。用命令
tar –zxfv filename.tar.gz
|
对其进行解压缩后,在对应的目录中,可查看install和ReadMe文件,遵照安装指示进行安装。
对以tar.bz2为扩展名的软件包,即用tar程序打包并用Bzip2程序进行压缩的软件包。同tar.gz类似,也要先进行解压,
bunzip2 filename.tar.bz2
|
进行解压,然后遵照安装指示进行安装。
3.
inux
下的命令
(1). tar
tar命令是Unix/Linux系统中备份文件的可靠方法。
格式为:tar <operation> <options>
其中,operation取值可为:
-c 创建新的档案文件
-r 把要存档的文件追加到档案文件末尾
-t 列出档案文件的内容,查看备份了那些文件
-u 更新文件。用新增的文件
-x 从档案中释放文件
常用辅助选项为:
-f 使用档案文件或设备,该选项通常是必须的
-v 详细报告tar处理的文件信息
-z 用gzip来压缩/解压文件,该选项可以对档案文件进行压缩,但还
原时也需要使用该选项进行解压缩
-j 用bzip2来进行压缩/解压缩
tar –xjvf autoconf-2.54-1.tar.bz2
tar –cjvf test.tar.bz2 usr
tar –xzvf test.tar.gz
tar –czvf test.tar.gz usr
|
文件夹的删除可为:
rm –rf usr
,
-r
表示递归的删除。
3.
Linux
下的打包和压缩
打包:打包是指将一些文件和目录等变成一个小文件。
压缩:压缩则是将一个大的文件通过特定的压缩算法变成一个较小的文件
这是因为Linux下很多压缩程序只能针对一个文件进行压缩,这样当压缩一大堆文件时,可先进行打包成一个文件在进行压缩。
4.
man
man命令用于提供在线帮助。Linux系统中存在一部联机手册,供用户在终端查找。
格式如下:
man [-acdfhktwW][-m system][-p string][-C Config_file][-M path][-P pager]
[-S section_list][section]name…
常用参数意义如下:
options
|
Description
|
-C config_file
|
指定
config
文件
man.config
,缺省值是
/etc/man.config
|
-M path
|
指定联机手册的搜寻路径,如果没有设定环境变量
MANPATH
,则使用
config
文件指定的
MANPATH
。即使用
man.config
指定的
MANPATH
|
-P pager
|
指定使用何种
pager
。一般使用环境变量
MANPAGER
设定的,如果没有设定,则使用由
man.config
指定的,一般为
/usr/bin/less
。即等同于
man –P less name
|
-S section_list
|
所搜寻的章节列表
|
-a man
|
该选项强迫搜寻所有符合
name
的联机手册。例如
ls
有两种联机手册,
-a
会强迫搜寻两种联机手册
|
-d
|
只显示出错信息
|
-D
|
同时显示联机手册和出错信息
|
-K
|
对所有的联机手册搜寻指定的字符串,例如
man –K “COPYRIGHT”
,则会在所有的联机手册中搜寻该字符串,会进行提示以指示是否依次显示
|
一般来说,man显示的name的手册较大,
由于
man pager
使用的是
less
程序,故在其中可以使用
less
的选项来进行查找,翻页等。
less option
|
Description
|
q
|
退出
|
Enter
|
一行一行地往下翻
|
Space
|
一页一页地往下翻
|
b
|
上翻一页
|
/string[enter]
|
查找字符串
|
n
|
发现查找的下一个匹配
|
在实际运用中,有时需要将联机手册打印出来或者是形成一般的文本文件,那么由于man显示的不是普通文本,需要进行一些filter,如下:
man ls > test.txt
得到的文本文件test.txt包含一些乱码。
man ls | col –b > test1.txt
这样就能显示普通文本了。