20145317 《信息安全系统设计基础》第八周总结2
考题复习
- 填空:Linux Bash中,查找home目录中昨天创建的文件的命令是(find ~ -ctime 1)。
- 在指定目录下搜索指定文件名的文件:
find /etc/ -name interfaces
注意 find 命令的路径是作为第一个参数的
- 基本命令格式为 find [path] [option] [action]
- 与时间相关的命令参数:
-atime
最后访问时间
-ctime
创建时间
-mtime
最后修改时间
- 判断:Linux Bash中,set/env/exprot三个命令功能等价 。x
- set,env,export。这三个命令很相似,都可以用于打印相关环境变量,区别在于涉及的是不同范围的环境变量,详见下表:
- set:显示当前 Shell 所有环境变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量
- env:显示与当前用户相关的环境变量,还可以让命令在指定环境中运行
- export:显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变
- man -k 填空: 数据结构中有二分查找算法,C标准库中有这个功能的函数,这个函数是(bsearch)
- cheat 填空:实现“Display files,Sorted by size”功能的ls命令是 ( ls –S )
- find 填空:查找根目录下所有目录的find命令是(find / -type d)
- grep 填空:查找宏 STDOUT_FILENO 的值的命令是(grep -nr STDOUT_FILENO /usr/include)在vim中,查看printf man pages(帮助文档)的命令是?
grep
命令,在文本中或 stdin 中查找匹配字符串,格式grep [命令选项]... 用于匹配的表达式 [文件]...
3K
- 除了main.c外,hello.c的源代码不想给别人,如何制作一个myhello.a静态库?main.c如何使用myhello.a?
gcc -c hello.c
ar rcvs libhello.a hello.c
- gcc main.c -o main -L. -lhello (or gcc main.c ./libhello.a -o main)
- - 创建静态库:使用AR工具
gcc -c XX.c
ar rcs libXX.a(静态库名) XX.o(添加的程序)
- - 使用静态库:编译连接输入文件和静态库
gcc -O2 -c XX.c(调用静态库程序名)
gcc -static -o p2 XX.o(调用静态库程序名) libXX.a(静态库)
- 除了main.c外,hello.c的源代码不想给别人,如何制作一个myhello.so共享库?main.c如何使用myhello.so?
gcc -fPIC -c hello.c
gcc -shared -o libhello.so hello.o
gcc -o main main.c -L. -lhello
libhello.so 要拷贝到/lib or /usr/lib
- 共享库的生成
gcc -fPIC -c xxx.c
gcc -shared -o libxxx.so xxx.o
- 共享库的使用:
gcc -o main main.c -L. -lxxx
- 写出编译上面代码的makefile,编译出来的目标文件为testhello, 只用显式规则就可以.
testhello: main.o hello.o
gcc main.o hello.o -o testhello
main.o: main.c hello.h
gcc -c main.c
hello.o: hello.c hello.h
gcc -c hello.c
- Makefile基本写法:test(目标文件): prog.o code.o(依赖文件列表)
tab(至少一个tab的位置) gcc prog.o code.o -o test(命令)
......
-
20145317 《信息安全系统设计基础》第八周总结2
原文:http://www.cnblogs.com/5317p/p/6036817.html