Unix
彩虹糖梦
A penny for my thoughts, oh no I’ll sell them for a dollar. They're worth so much more after I’m a goner.
展开
-
Unix学习笔记(一)
1. welcome.c源码:#include <stdio.h> #include <unistd.h> int main(int argc, char **argv) { printf("Welcome to CS631 Advanced Programming in the UNIX Environment, %s!\n", getlogin()); }输出:...原创 2018-04-30 09:39:02 · 1430 阅读 · 3 评论 -
Unix学习笔记(二)
1. openmax.c源码:#include <sys/resource.h> #include <errno.h> #include <limits.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h>原创 2018-04-30 19:55:21 · 493 阅读 · 0 评论 -
Unix学习笔记(四)
继续我们的Unix学习之旅,今天依旧把重点放到进程和内存管理上。1. size重点在于这张图,通过这张图,我们要了解到在内存构造中,低地址到高地址分别放着哪些内容,了解程序运行中有关于内存的相关机制。我们可以执行如下的命令:size a.out观察输出:可以看到,通过这个命令我们只能看到text(代码段),data(initialized data),bss(uninitialized data)...原创 2018-05-17 21:00:27 · 143 阅读 · 0 评论 -
Unix学习笔记(三)
这一部分的重点在于进程。1. test.c 源码:#include <unistd.h> #include <stdio.h> int main(){ printf("%d\n",getpid()); printf("%d\n",getppid()); }输出:这一段代码十分简单,getpid(),getppid()分别获取当前进程和当前进程父进程的进程i...原创 2018-05-12 15:25:57 · 289 阅读 · 0 评论 -
Unix模拟题(一)
题目:打开命令行输入参数所要求打开的文件(如果不存在则创建,并开放所有权限),然后清空文件内容,向文件内写入hello world之后,从当前位置开一个大小为10000的洞,最后输出文件内的前五个字符。实例: ./a.out file考点:open,write,read,lseek的使用。注意点:1.返回值异常要及时报错。2.产生的空洞要再次写入才能显示出来。也就是说lseek之后还要再write...原创 2018-06-14 23:49:45 · 373 阅读 · 1 评论 -
Unix模拟题(二)
题目:遍历命令行输入的目录,找到目标文件,并在目标文件中追加写入hello world! 使用方法: ./a.out dir_name file_name考点:DIR类和结构体dirent的使用,opendir,readdir函数的使用,学会遍历目录,openat函数的使用,还有O_APPEND追加至文件末尾的使用。源码:#include <sys/types.h> #include ...原创 2018-06-23 10:01:37 · 243 阅读 · 0 评论 -
Unix模拟题(三)
全是问题的程序,别问我为什么,明天就考试了...#include <sys/types.h> #include <errno.h> #include <pwd.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> #include <string.h&原创 2018-06-25 22:15:40 · 219 阅读 · 0 评论