摘要: ====一些细节====root用户为根用户,即系统管理员,拥有所有权限一个用户只能有一个GID,但是还是可以归属于其他附加群组/etc/passwd 用户名 密码位 UID 归属GID 姓名 $HOME目录 登录Shell /etc/shadow 用户名 已加密密码 密码改动信息 密码策略 /etc/group 群组名 密码位 GID 组内用户 /etc/gshadow 群组密码相关文件,不重要 /etc/sudoers 用户名 权限定义 权限su [用户名] 切换到其它用户,默认切换到root用户。提示密码为将切换用户密码 -f 快速切换,忽略配置文件 -l 重新登录 -m ,-p 不更改 阅读全文
posted @ 2014-02-27 18:30 amghost 阅读(150) 评论(0) 推荐(0) 编辑
摘要: ====Linux软件包====Linux系统中,软件通常以源代码或者预编译包的形式提供。软件的源代码通常需要编译为二进制代码才可使用,安装比较耗时。用户可以自行调节编译选项,决定需要的功能或组件,或者针对硬件平台作一些优化预编译包通常由软件发布者进行编译,用户只要将预编译包拷贝到系统中即可。考虑到预编译包的通用性,预编译包一般不会针对某种硬件平台优化,所包含的功能和组件也是通用的组合。ubuntu系统中,软件通常以deb格式的包发布,它是一种预编译包====Linux DPKG命令====deb包命令遵循如下约定:soft_ver-rev_arch.debsoft:软件包名称ver:软件版本 阅读全文
posted @ 2014-02-27 18:29 amghost 阅读(3476) 评论(0) 推荐(0) 编辑
摘要: ====程序====Linux中没有注册表的概念,理论上,只要拷贝所有相关文件,就可以执行程序按照传统,一个软件通常分别拷贝到bin、etc、lib、share等文件夹中bin:存放可执行文件,有时候直接放在 /bin或者/usr/bin下。etc:存放配置文件,大部分程序的配置文件都放在 /etc(根目录下面的),方便集中修改lib:库文件,集中在一起方便共享给不同的软件,比起不同的软件单独存放库文件,可以节省空间share:程序所需要的其他资源,例如图标、文本,这部分是专用的,不需要共享,混放在一起比较混乱,所以一般都单独存放在一个文件夹里,这个文件夹一般也位于/share或者/usr/s 阅读全文
posted @ 2014-02-27 18:27 amghost 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 栈:自动变量:auto。变量的地址在栈中。C语言函数调用的实现:在调用方,参数从后往前按顺序被堆积在栈中和函数调用关联的返回信息(返回地址等)也被堆积在栈中。一旦函数调用结束,局部变量占用的内存区域就被释放,并使用返回信息返回到原来的地址。从栈中出去调用方的参数。测试程序:结论:地址值越大,表明越在栈底部。参数从后往前堆积,所以看到b的地址(0033F950)大于a的地址(0033F94C)局部变量数组也是从后往前堆积,下标越大,地址越大,越在底部。注意,局部变量(auto)的内存区域是在函数被调用时,也就是执行时被分配的。C语言的可变长参数的实现,就是基于函数参数从后往前堆积。printf( 阅读全文
posted @ 2014-02-27 18:25 amghost 阅读(281) 评论(0) 推荐(0) 编辑