Windows的注册表机制,linux的无注册表机制
感谢原文作者:http://forum.ubuntu.org.cn/viewtopic.php?f=101&t=227869&sid=31fbca09f094a5e12ad6e3f6d9b90886
windows刚开始的时候是和unix一样没有注册表的,它的程序信息在后缀为ini的文本文件中。后来Windows引人注册表,那么为什么Windows要花如此大的力气引人注册表机制,它要解决什么问题,它比起linux的无注册表机制好在哪?
Win 之所以抛弃 ini 机制(许多程序依然在用,如 EditPad Pro 还可以在注册表和 ini
之间选择),可能是因为其文件夹的结构会导致 ini 文件们难以管理(不像 linux 都在 /etc 和 $HOME/.xxx 下)。但
Linux 这样的目录结构也导致同一个程序的不同文件处在不同的位置,而 Windows 就避免了这一点。
两者的差别并不在于配置存取本身实现上,而是来自于Windows和Linux架构上的区别之一:一个存在统一的高层API,一个没有。注册表方式至少更利于提供一组统一的API来进行操作。
Windows
的API几乎是一个全权代理,大小事务都经过它,也需要询问它(当然也可以写一些我行我素设计不良的代码);而linux下一些系统信息的获取途径,有些
依赖环境变量,有些则是硬编码(导致发行版间不兼容的因素之一),不然首先要想好该求助于谁:内核?KDE/GNOME?hal还是udev?然而他们都
不一定存在。
Windows的注册表机制从设计思路上来说还是先进的,至少注册表充当了整个系统的核心数据库,信息管理统一且开放了统一的编程API,从管理模式上来说还是先进的。
注册表是一个操作系统和应用程序的数据库。它使得操作系统和应用程序能共享信息,这在操作系统与软件之间、软件与软件之间能够协同工作。一个简单的例子是一个应用可以打开word、excel文档,如果它把这个信息写进这个共享数据库,那么系统和其他应用要打开word、excel文档时就可以找到它。
其实kde也有类似的机制,只不过windows做的更系统化。而且windows的注册表是二进制的数据库,运行效率高而且易于编程。注册表的缺点是不能用常见的文本编辑软件打开,需要专门的软件才行。
注册表也不是一个文件,它至少由Default、Software、System等和各个用户的NTUSER.DAT构成。系统部分存储于C:\Windows\System32\Config下,相当于linux下的/etc;
用
户部分对应HKEY_USERS的每个UUID分支,并将当前用户的映射到HKEY_CURRENT_USER。而每个用户的注册表文件也是存放在用户文
件夹:C:\Documents and Settings\用户名 之下,相当于linux下的/home/用户名。
相关文档:
安装mysql
sudo apt-get install mysql-servel-5.0 mysql-client-5.0
下载安装过程中,会提示输入root密码
安装C语言编程接口:
sudo apt-get install libmysqlclient15-dev
更多api 查看:http://dev.mysql.com/doc/refman/5.0/en/c.html
相关mysql头文件和库文件安装在/usr/include/mysql/和/usr/lib/mysql目 ......
linux strace 进程跟踪
调用:
strace [ -dffhiqrtttTvxx ] [ -acolumn ] [ -eexpr ] ...
[ -ofile ] [ -ppid ] ... [ -sstrsize ] [ -uusername ] [ command [ arg ... ] ]
strace -c [ -eexpr ] ... [ -Ooverhead ] [ -Ssortby ] [ command [ arg ... ] ]
功 ......
whereis <程序名称>
查找软件的安装路径
-b 只查找二进制文件
-m 只查找帮助文件
-s 只查找源代码
-u 排除指定类型文件
-f 只显示文件名
-B <目录> 在指定目录下查找二进制文件
-M <目录> 在指定目录下查找帮助文件
-S <目录> 在指定目录下查找源代码
locate <文件名称>
在文件索 ......
grep、fgrep和egrep命令
这组命令以指定模式搜索文件,并通知用户在什么文件中搜索到与指定的模式匹配的字符串,并打印出所有包含该字符串的文本行,在该文本行的最前面是该行所在 的文件名。grep命令一次只能搜索一个指定的模式;egrep命令检索扩展的正则表达式(包括表达式组和可选项);fgrep命令检索固定字符串,它不 ......
linux的ps命令和top都是用来监视系统进程和资源使用情况的有用命令, ps命令更为常用, 所以掌握ps命令是很有必要的
ps命令如果有任何疑问,请在终端下输入 :# man ps
名称:ps
使用权限:所有使用者
使用方式:ps [options] [--help]
说明:显示瞬间行程 (process) 的动态
参数:
ps 的参数非常多, 在此仅列出几个常用 ......