从头两天的面试情况来看,由一个上层应用开发的人转行到底层C开发,特别是转到Unix C开发,还是挺费劲的,先哭一个/(ㄒoㄒ)/~~;但老汉我是不会放弃的,虽然刘翔离婚了,但寡人非Unix不娶!
虽叫深入浅出,其实也是玩笑话。就是做面试题感觉这本书看的不细致,走马观花一样,想重新梳理一下,然后总结成自己的语言;如果各位看客有高见,请赐教(反正改不改随我,嘿嘿!)。
先说说封面吧。。。。看了三遍这封面的冷笑话,实实在在是不理解,Richard Stevens这老头当时是怎么想的啊啊啊!不管了,还是看正文吧。
Unix基础知识
引言
无他,略过也可,如果哪位对着这段话看了30分钟,私信我,我认识一个不错的大夫,神经科的:)。
Unix体系结构
在这里面呢主要是明确几个含义就好了;
内核(kernel):控制着计算机的硬件资源,提供程序运行环境;
系统调用(system call):内核的接口(是外部唯一访问系统内核资源的方式,公共函数库、shell和应用软件都是建在系统调用的基础上的);
我们所使用的Linux操作系统是GNU操作系统使用的内核,也叫作GNU/Linux,但通常都叫Linux;简洁也是美啊~,如果是俄罗斯血统,我滴妈呀!那我估计现在都没人用这套内核了。
登录
有了系统我们第一件是什么呢?开机~~~想到登录的可以出去了,哈哈。
登录Linux或Unix的时候首先要键入登录名然后键入口令,就像下边这样:
第一列表示登录名(root)
第二列表示加密口令(具体口令内容在/etc/shadow文件中)(x)
第三列表示用户ID(0)
第四列表示组ID(0)
第五列表示注释字段(描述)(root)
第六列表示起始目录(/root)
第七列表示使用的shell程序(/bin/bash)
/etc/shadow文件截图
在登录之后用户就可以像shell键入命令了,就是你敲命令然后回车,shell执行并输出结果,就有点像喂猫一样:
你:键入“来吃咖啡豆”
猫:猫屎咖啡(这是正确的)
你:shit!
猫:吐!。。。¥%……&*()(就不一定输出什么了)
Unix中也有一些常见的Sell工具:sh,bash,csh,ksh,zsh和tcsh;具体其中的区别和效率以后单开帖子再说吧,太多。
文件和目录
在Linux、Unix系统中目录的起点是根(root ),名字就是/。其中包括目录和文件,目录和文件具备一系列的属性(文件的类型啊,文件大小啊,文件所有者啊,文件权限啊以及最后的修改时间)
文件名定义实在是没什么多说的,就是每个目录下都有一个“.”和“..”表示当前目录和上一级目录,记住,是每个目录下都会有哦!~
可能都听说过绝对路径和相对路径概念,在Linux/Unix当中这概念相当简单,以/开头的就是绝对路径,否则就是相对路径;比起Windows对绝对和相对路径的定义要简便多啦!~
书里给了一个列出目录所有文件的例子:
编译过程如下(最后的时候我会吧代码提交上来):
运行之后没有问题。
工作目录
在进程工作期间要明确一个概念叫工作目录,所有的相对路径都从工作目录开始解释,进程呢可以用chdir改变其工作目录。
好了好了,写多了我都记不住了,以后有的是时间写,睡了
阅读(2408) | 评论(1) | 转发(0) |