部分知识,不足以成为完整博文。但又不能随意抛弃。

1,文件名建议字符集:字母+数字+ ./-/_   尽量不要使用其他符号。因为特殊符号在很多功能中已经被占用。

2,系统调用通常提供最小接口(最简易),库函数提供相对复杂的功能。

3,用户CPU时间,系统CPU时间,时钟时间。

  1,用户CPU时间:在用户状态下CPU的时间。

  2,系统CPU时间:内核状态下的执行时间。(系统调用以及读写操作等)

  3,时钟时间:从进程开始到结束的时间。包括阻塞,等待...。

4,main(int argc, char *argv[ ], char **env)

  1,大部分编译器支持void返回值。从C++角度是不合法的。UNIX类系统中,要求上述main函数。

  2,参数在main执行之前被赋值。

  3,argc,用来统计运行程序送给main函数的命令行参数个数。

  4,argv[],字符串数组。每个元素指向一个参数。

    1)0:程序运行的绝对路径名。

    2)1:DOS命令行中 程序名后 第一个字符串。

    3)2:第二个字符串,以此类推。

    4)argv[argc] == NULL

  5:env[],字符串数组。每个元素 包含 一个 ENVVAR = value 形式的字符串。

    1)其中ENVVAR为环境变量,value 为ENVVAR的对应值。

5,page:72,题:3.4 文件描述符。阅读完后,尝试解决。

6,linux实现/dev/fd 是一个例外:它把文件描述符映射成指向底层物理文件的符号链接。

7,restrict关键字:C语言限定符。用于告诉编译器,对象已经被指针所引用,不能通过除该指针外所有其他直接或间接的方式修改该对象的内容。

  1,总的来说,就是锁指针。只读不可写。

8,在linux中,消息队列,信号量,共享储存对象都不表示成文件的形式。

9,只有内核才可以写文件。

10,目录文件包含 其他文件的名字 和 文件的信息指针(内容索引)。

  1,删除一个文件:需要对其 包含目录 拥有 写和执行 权限。对文件本身只需要执行权限(不需读写)。

11,索引目录需要执行权限。

12,执行权限位:s,S。和X执行权限同位。

  1,作用:说明设置位置位。当出现在用户权限时,表示设置用户ID功能开启(组中,表示设置组ID功能开启)。

  2,当为小写s时,说明此文件可执行。大写S表示,此文件不可执行。

  3,sticky bit: 该位可以理解为防删除位。如果希望用户能够添加文件,但同时不能删除文件。则可以使用sticky bit位. 设置该位后, 就算用户对目录具有写权限, 也不能删除该文件。

    1)当设置后,x执行权限位上,用T来覆盖。与S同理,小写可执行,大写不可执行。

13,粘着位(S_ISVTX):早期用来确定是否将内容缓存在交换区中。Single UNIX Specification对其进行了扩展。

  1,作用,在删除文件时,除了拥有写权限还需要满足以下要求之一:

    1)拥有此文件/目录。

    2)超级用户root。

14,du指令:用于显示文件的块的数量。具体可见:man du。

15,修改时间(st_mtime) 和 状态更改时间(st_ctim) 存在区别。

  1,i节点中的状态信息 和 文件实际内容 分开存放。

16,缓冲分为:行缓冲 和 全缓冲。

  1,当流涉及到终端时(例:标准输入/出),通常为行缓冲。

  2,行缓冲限制:

    1)行缓冲长度是固定的。可能出现:行缓冲填满,但没有换行符的情况。此时,依然会进行IO操作。

    2)任何时候,从标准IO库中得到输入数据,都会清除所有行缓冲输出流。(此为书中记录。对输入/出的概念需要进一步明确。)

  3,ISO C的缓冲特征:

    1)当且仅当 标准输入/出 并不指向交互式设备时,才是全缓冲。

    2)标准错误一定不是全缓冲。(一般为无缓冲。)

  4:fflush函数:int fflush( FILE *fp )

    1)使该流所有未写数据 都被传输到内核。当fp == null 时,则清空所有输出流。

17,口令文件和阴影口令。

  1:口令文件:包含用户帐号信息和相关系统配置等信息。

  2:阴影口令,再普通口令基础上改良的用户密码保存机制。

18,常用的数据文件。

说明 数据文件 头文件 结构 附加的键搜索函数

口令

/etc/passwd <pwd.h> psaawd getpwnam, getpwuid
/etc/group <grp.h> group getgrnam, getgrgid
阴影 /etc/shadow <shadow.h> spwd getspnam
主机 /etc/hosts <netdb.h> hostent getnameinfo, getaddrinfo
网络 /etc/networks <netdb.h> netent getnetbyname, getnetbyaddr
协议 /etc/protocols <netdb.h> protoent Getprotobyname, getprotobynumber
服务 /etc/services <netdb.h> servent getservbyname, getservbyport

19,如果宿主机链接到TCP/IP网络中,则此主机名通常是该主机的完整域名。

20,从10章以后的习题都未完成

21,同步,异步,阻塞,非阻塞。http://blog.sina.com.cn/s/blog_756d94a601011eww.html

22,fwide函数:设置流的定向。

  1,函数原型:int fwide( FILE *fp, int mode );

23:strlen函数:计算不包含终止null字节的字符串长度。

  1,sizeof函数计算包括终止null字节的缓冲区长度。

24:PAM:pluggable Authentication modules。可插入的身份验证模块。

25:在网络登陆情况下,logic仅仅是一种可用的服务,与其他网络服务(FTP,SMTP)的性质相同。

26:网络登录。

  1,伪终端:软件驱动程序。即能处理终端登陆,又能处理网络登录。

27:跳转函数。

  1,函数原型:

    1)int setjmp( jmp_buf env );  设置跳转点。

    2)void longjmp( jmp_buf env, int val ); 进行掉转。参数val 将作为回跳的返回值。

28:每个信号都名字,以SIG开头。

  1,不存在编号为0的信号。0有特殊的用途。

  2,SIGKILL 和 SIGSTOP 不能忽略。 因为它们提供 终止/停止 的可靠方法。

29:系统调用分成两类:低速系统调用 和 其他系统调用。

  1,低速系统调用一般指哪些可能会使进程永远阻塞的调用。

  2,被中断的系统调用的相关问题必须显式的处理出错返回。

  3,部分调用拥有自动重启功能。

linux学习笔记之零散笔记。的更多相关文章

  1. (原创)鸟哥linux学习script shell相关笔记

    在使用鸟哥linux进行script shell学习的过程中碰到一些不太明白的知识点,在这里进行一些记录 1. [root@www scripts]# vi sh03.sh #!/bin/bash # ...

  2. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  3. linux学习笔记2-linux的常用命令

    第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些常用的终端命令 ======== ...

  4. Linux学习笔记(一)2015.4.13

    研究生由单片机转Linux学习 首先安装VMware虚拟机,用的是VMware 10.0 在VMware 10.0上安装视频上推荐的Red Hat Linux 5 安装后正式进入Linux学习 笔记1 ...

  5. 20160127 linux 学习笔记

    Linux学习笔记第一天 Linux基本介绍 Linux的起源和发展: 简单说linux是一种操作系统,可以安装在包括服务器.个人电脑,乃至PDA.手机.打印机等各类设备中. 起源: Linux起源于 ...

  6. Linux学习笔记14——使用fcntl实现文件锁定

    期末考试快要来了,Linux学习进度一下拉下来许多.今天学习的是文件锁定,在Linux中,实现文件锁定的方法很多,例如fcntl和lockf.下面主要是fcntl的调用. fcntl函数的原型是:in ...

  7. linux —— 学习笔记(汇总)

    笔记目录:一.系统知识 和 基本概念                    二.常用操作                   三.系统管理(内存.设备.服务等管理)                   ...

  8. Linux学习笔记-林耐斯Notes-Linux就该这么学

    Linux学习笔记... 参考的优秀Linux网站: http://www.w3cschool.cn/linux/ http://www.linuxeye.com/ http://linux.vbir ...

  9. Linux~学习笔记目录索引

    回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...

随机推荐

  1. iOS 之 cocoapods安装与使用

    我们都知道第三方库,一般使用cocoapods管理,cocoapods在我们IOS开发中有着很大的作用. 好了,现在看下它的安装步骤: 1.打开终端,输入 sudo gem install cocoa ...

  2. MySQL 常用字段类型,介绍及其建表使用方法经验分享

    由于工作的公司没有专业的DBA又经常需要建立各种各种的表来满足自己的业务逻辑,所以经常查看MySQL 手册或者谷歌查看相关资料,所以本人就根据我的工作经验和相关资料来介绍一下MySQL各种字段类型及其 ...

  3. Android中的消息机制:Handler消息传递机制

    参考<疯狂android讲义>第2版3.5 P214 一.背景 出于性能优化考虑,Android的UI操作并不是线程安全的,这意味着如果有多个线程并发操作UI组件,可能导致线程安全问题.为 ...

  4. java类中的static成员变量和static方法简单介绍,持续补充

    一.静态成员变量 1.属于整个类而不是某个对象实例,所以可以直接通过类名和对象名去调用. 2.静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收 二.静态方 ...

  5. Uubntu scrot 的简单使用

    scrot 是一个使用 imlib2 库截取屏幕和保存图像的的工具. 1:安装 #apt-get install scrot 2:查看帮助 #scrot -help -v, --version显示版本 ...

  6. SqlBulkCopy 类

    1.SqlBulkCopy 简介  Microsoft SQL Server 提供一个称为 bcp 的流行的命令提示符实用工具,用于将数据从一个表移动到另一个表(表既可以在同一个服务器上,也可以在不同 ...

  7. C# Assembly类_反射

    System.Reflection.Assembly类是一个比较常用到的类,在反射中就经常用到. 由于这个类实在有太多的字段.属性与方法.实在不想将一个个属性方法从MSDN复制出来然后逐个属性.方法敲 ...

  8. grok 官方文档

    <pre name="code" class="html">grok: 解析任意文本并构造它: Grok 是当前最好的方式在logstash 解析蹩 ...

  9. OpenCV视屏跟踪

    #include <stdio.h> #include <iostream> #include "opencv2/imgproc/imgproc.hpp" ...

  10. XMPP通讯开发-1

    有关XMPP的相关知识这里就不讲解了,网上有很多,这里我使用的NetBeans+Openire+smack搭建一个以XMPP协议的通讯工具,对于这部分知识我也不是很了解,也是初识吧,可能有些概念会混淆 ...