Chinaunix首页 | 论坛 | 博客
  • 博客访问: 46657
  • 博文数量: 5
  • 博客积分: 35
  • 博客等级: 民兵
  • 技术积分: 105
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-16 17:40
文章分类

全部博文(5)

文章存档

2017年(1)

2016年(1)

2015年(2)

2013年(1)

我的朋友

分类: C/C++

2015-06-26 22:45:51

    从头两天的面试情况来看,由一个上层应用开发的人转行到底层C开发,特别是转到Unix C开发,还是挺费劲的,先哭一个/(ㄒoㄒ)/~~;但老汉我是不会放弃的,虽然刘翔离婚了,但寡人非Unix不娶!
    虽叫深入浅出,其实也是玩笑话。就是做面试题感觉这本书看的不细致,走马观花一样,想重新梳理一下,然后总结成自己的语言;如果各位看客有高见,请赐教(反正改不改随我,嘿嘿!)。

    先说说封面吧。。。。看了三遍这封面的冷笑话,实实在在是不理解,Richard Stevens这老头当时是怎么想的啊啊啊!不管了,还是看正文吧。

Unix基础知识
引言
    无他,略过也可,如果哪位对着这段话看了30分钟,私信我,我认识一个不错的大夫,神经科的:)。
Unix体系结构
   

    在这里面呢主要是明确几个含义就好了;
    内核(kernel):控制着计算机的硬件资源,提供程序运行环境;
    系统调用(system call):内核的接口(是外部唯一访问系统内核资源的方式,公共函数库、shell和应用软件都是建在系统调用的基础上的);
   
    我们所使用的Linux操作系统是GNU操作系统使用的内核,也叫作GNU/Linux,但通常都叫Linux;简洁也是美啊~,如果是俄罗斯血统,我滴妈呀!那我估计现在都没人用这套内核了。

登录
    有了系统我们第一件是什么呢?开机~~~想到登录的可以出去了,哈哈。
    登录Linux或Unix的时候首先要键入登录名然后键入口令,就像下边这样:
   

    什么???输入半天不行?那你是密码忘记了吧。。。看看这篇文章http://blog.chinaunix.net/uid-20642340-id-1595442.html

    登录总归是有个文件存储着系统中所有用户和密码的基本信息文件的吧,就是/etc/passwd,看看格式吧。


    第一列表示登录名(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改变其工作目录。

    好了好了,写多了我都记不住了,以后有的是时间写,睡了
阅读(2411) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

xuzhuzi20082015-06-26 22:54:31

呀!代码忘记了,下次补吧