信息安全系统设计基础第十周学习总结
2015-11-15 21:46
267 查看
一、附录A错误处理
1.Unix系统中的错误处理:
(1)Unix风格
一些函数返回值既包括错误代码,也包括有用的结果。例如,当Unix风格的wait函数遇到一个错误,返回-1;如果wait成功完成,那么它就返回有用的结果。
(2)Posix风格
任何有用的结果都返回在通过引用传递进来的函数参数中。
(3)DNS风格
gethostbyname和gethostbyaddr函数检索DNS(域名系统)主机条目,在失败时返回NULL指针,并设置全局变量h_errno.
2.错误处理包装函数
(P695~P697函数)
二、第十章剩余
10.7I/0重定向
通过使用重定向可以允许用户将磁盘文件和标准输入输出文件联系起来。
I/O重定向如何工作?-----使用dup2函数
10.8标准I/O
标准I/O库将一个打开的文件模型化为一个流。
类型为FILE的流是对文件描述符和流缓冲区的抽象?
10.9该使用哪些I/O函数?
对流的限制和对套接字的限制
三、练习题:
5.假设磁盘文件foobar.txt由6个ASCII码字符“foobar”组成。那么下列程序的输出是什么?
`#include"csapp.h"
intmain()
{
intfd1,fd2;
charc;
fd1=Open("foobar.txt",O_RDONLY,O);
fd2=Open("foobar.txt",O_RDONLY,O);
Read(fd2,&c,1);
Dup2(fd2,fd1);
Read(fd1,&c,1);
printf("c=%c\n",c);
exit(0);
}
答案:
因为我们将fd1重定向到了fd2,输出实际上是
c=0.
运行代码
2.将文件file1复制成文件file2(cpfile1file2)
3.fprintf
格式化输出到一个流/文件中
头文件#include
5.open
6.write
7.create
8.read
9.close
cp复制(复制为ls3文件)
2.示例:
1
2
3
4
5
ls
ls
6
ls用来显示文件的详细信息(用户名,群组名,大小,创建时间,读写执行权。ls.tar视频也有讲到)
who读取想要的信息到存储器中,再用标准输出函数打印到屏幕上,关闭文件
2.fileinfo 显示文件信息
(1)用来实现显示文件信息,建立了一个stat数据结构。
(2)要先判断命令是否有操作数
testioctlioctl命令传送的是控制信息,其中的数据是辅助的数据。
1
2
3
2.echostate
1
2
3
echostatesetecho
四、收获:
这次的作业量比较少,但是因为开始得晚,所以又重蹈了一次覆辙,没有一早开始写。我希望自己可以在以后回顾,继续学牢固。
1.Unix系统中的错误处理:
(1)Unix风格
一些函数返回值既包括错误代码,也包括有用的结果。例如,当Unix风格的wait函数遇到一个错误,返回-1;如果wait成功完成,那么它就返回有用的结果。
(2)Posix风格
任何有用的结果都返回在通过引用传递进来的函数参数中。
(3)DNS风格
gethostbyname和gethostbyaddr函数检索DNS(域名系统)主机条目,在失败时返回NULL指针,并设置全局变量h_errno.
2.错误处理包装函数
(P695~P697函数)
二、第十章剩余
10.7I/0重定向
通过使用重定向可以允许用户将磁盘文件和标准输入输出文件联系起来。
I/O重定向如何工作?-----使用dup2函数
10.8标准I/O
标准I/O库将一个打开的文件模型化为一个流。
类型为FILE的流是对文件描述符和流缓冲区的抽象?
10.9该使用哪些I/O函数?
对流的限制和对套接字的限制
三、练习题:
5.假设磁盘文件foobar.txt由6个ASCII码字符“foobar”组成。那么下列程序的输出是什么?
`#include"csapp.h"
intmain()
{
intfd1,fd2;
charc;
fd1=Open("foobar.txt",O_RDONLY,O);
fd2=Open("foobar.txt",O_RDONLY,O);
Read(fd2,&c,1);
Dup2(fd2,fd1);
Read(fd1,&c,1);
printf("c=%c\n",c);
exit(0);
}
答案:
因为我们将fd1重定向到了fd2,输出实际上是
c=0.
运行代码
cp
1.功能:复制文件或目录2.将文件file1复制成文件file2(cpfile1file2)
3.fprintf
格式化输出到一个流/文件中
头文件#include
5.open
打开一个文件
头文件#include<fcntl.h>
6.write
将内存中的数据写入文件
头文件#include<unistd.h>[/code]
7.create
创建/重写一个文件
头文件#include<fcntl.h>
8.read
将数据读到缓冲区
头文件#include<unistd.h>
9.close
关闭一个文件
头文件#include<unistd.h>[/code]
[code]
cp复制(复制为ls3文件)
ls
1.功能:列出目标目录中所有的子目录和文件。2.示例:
1
.
列出/home文件夹下的所有文件和目录的详细资料
命令:ls
-l
-R/home
2
.
列出当前目录中所有以“t
”
开头的目录的详细内容
命令:ls
-lt
*
3
.
只列出文件下的子目录
列出/opt
/soft
文件下面的子目录
命令:ls
-F/opt
/soft|grep
/$
列出/opt
/soft
文件下面的子目录详细情况
命令:ls
-l
/opt
/soft|grep"^d"
4
.
列出目前工作目录下所有档案及目录;目录于名称后加"/"
,
可执行档于名称后加"*"
命令:ls
-AF
5
.
计算当前目录下的文件数和目录数
命令:
ls
-l
*|grep"^-"
|wc-l
---
文件个数
ls
-l
*|grep"^d"
|wc-l
---
目录个数
6
.
列出当前目录下的所有文件(包括隐藏文件)的绝对路径,对目录不做递归
命令:find
$PWD-maxdepth1
|xargsls
-ld
ls用来显示文件的详细信息(用户名,群组名,大小,创建时间,读写执行权。ls.tar视频也有讲到)
who
1.实现原理是,通过查找记录登陆信息的文件来获取系统中登陆过用户的信息。who读取想要的信息到存储器中,再用标准输出函数打印到屏幕上,关闭文件
file
1.filesize st_size计算文件的字节数大小2.fileinfo 显示文件信息
(1)用来实现显示文件信息,建立了一个stat数据结构。
(2)要先判断命令是否有操作数
spwd
spwd列出当前目录testioctl
ioctl函数ioctl
用于向设备发控制和配置命令,有些命令需要控制参数,这些数据是不能用read
/write
读写的,称为Out
-of
-band
数据。 也就是说,read
/write
读写的数据是in
-band
数据,是I/O操作的主体,而ioctl命令传送的是控制信息,其中的数据是辅助的数据。
testioctlioctl命令传送的是控制信息,其中的数据是辅助的数据。
echostatesetecho
1.setecho设置回显位的状态,命令行参数为y则开启,否则关闭。
1
.
标准输入的文件描述符为0
.
2
.
使用tcgetattr()
函数和termios结构体可获得标准输入的属性。
3
.
使用tcsetattr()
函数和termios结构体可以将更改后的属性设置重新写回标准输入。
2.echostate
读取驱动设置并显示回显位的状态。
1
.
标准输入的文件描述符为0
2
.
使用tcgetattr()
函数和termios结构体可以读取到设备的属性
3
.
回显位状态放置在termios.c_lflag中
echostatesetecho
man-k
如:通过man查看who四、收获:
这次的作业量比较少,但是因为开始得晚,所以又重蹈了一次覆辙,没有一早开始写。我希望自己可以在以后回顾,继续学牢固。
相关文章推荐
- 信息安全系统设计基础第十周学习总结
- Jamil+c#—实现邮件的发送
- SWT获取windows系统窗口颜色
- 服务号-获取用户基本信息
- LVS DR 负载均衡集群
- 思考
- JVM源码分析之堆外内存完全解读
- 前端之路Jquery_1滑动门效果
- 电影功夫熊猫使用的单词分析
- ios中用AFN做https
- 无法识别的属性“type”+IIS没有Asp.net配置选项的解决方法
- DevExpress点滴学习--换肤
- 数据库笔记----金融数字前面加零
- 欢迎使用CSDN-markdown编辑器
- ubuntu 如何在recovery模式修改root密码
- 信息安全系统设计基础实验一 20135233杨光
- 20135316王剑桥 linux第十周课实验笔记
- emacs的RET是哪个键
- Anroid(仿虎扑体育)ListView中数据按照时间\日期分组(分类)
- JAVA学习笔记-Semaphore和CountDownLatch实例