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

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. (转) Dynamic memory

      In the programs seen in previous chapters, all memory needs were determined before program executi ...

  2. hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍

    1.如何访问hadoop官网?2.如何下载hadoop各个版本?3.如何查看hadoop API? 很多同学开发都没有二手资料,原因很简单觉得不会英语,但是其实作为软件行业,多多少少大家会英语的,但是 ...

  3. TCP/UDP网络编程的基础知识与基本示例(windows和Linux)

    一.TCP编程的一般步骤 服务器端: 1.创建一个socket,用函数socket() 2.绑定IP地址.端口等信息到socket上,用函数bind() 3.开启监听,用函数listen() 4.接收 ...

  4. python笔记之subprocess模块

    python笔记之subprocess模块 [TOC] 从Python 2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如 os.system.os.spaw ...

  5. python对真假的判断方式

    一.如下是以下值就认为是假 1.None-->None值 2.False-->False值 3.0-->数值零不管它是int,float还是complex类型 4.'',(),[]- ...

  6. JS中各种宽度、高度、位置、距离总结

    1.window.screen 浏览器与屏幕的距离,screenX(screenLeft),screenY(screenTop) 2.window.scrollTo(x,y) 将纵向滚动条移动到相对于 ...

  7. Android jar包混淆

    具体可参考http://proguard.sourceforge.net/manual/examples.html#library 1.找到android的adt目录下的 D:\soft\adt-bu ...

  8. SqlServer sysobjects_table

    --这是查询所有表的信息 select * from sysobjects where xtype='U'; --这是查询表的数量 select count(*) from sysobjects wh ...

  9. C# Directory类

    Directory类 是一个静态类,常用的地方为创建目录和目录管理. 一下来看看它提供的操作. 1.CreateDirectory 根据指定路径创建目录.有重载,允许一次过创建多个目录. 2.Dele ...

  10. 关于DLL模块导出函数

    当然以前我知道有一个.def文件的,里面写的都是需要导出的函数,以为与__declspec(dllexport)作用是一样的.但是今天看公司项目源码的时候才知道,它们两个导出方法是有一定的区别的,编译 ...