20145310 《信息安全系统设计基础》期中总结

20145310 《信息安全系统设计基础》期中总结

linux常用命令

man命令
在 Linux 环境中,如果你遇到困难,可以使用man 命令,它是Manual page的缩写。要查看相应区段的内容,就在 man 后面加上相应区段的数字即可
man命令通常与管道命令结合使用
man -k k1 | grep k2 | grep 2
man -k 填空:Linux中显示文件(file )属性(status)的命令是( stat )
数据结构中有线性查找算法,C标准库中没有这个功能的函数,但Linux中有,这个函数是(lfind或lsearch)

cheat命令
在linux上,man命令几乎是万能的,但它却不是最高效的。由于它给出的帮助信息很长,在短时间内不好理解,所以在这种情况下,用cheat命令更方便,cheat命令简单来说,就是告诉你一个命令如何使用。它没有提供其他额外多余的信息,只通过使用实例告诉你一个命令如何使用。

grep命令
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
命令格式:grep [options]
[options]主要参数:
-c:只输出匹配行的计数
-I:不区分大小写(只适用于单字符)
-h:查询多文件时不显示文件名
-l:查询多文件时只输出包含匹配字符的文件名
-n:显示匹配行及行号
-s:不显示不存在或无匹配文本的错误信息
-v:显示不包含匹配文本的所有行
如果想查找某个宏,我们已知宏保存在include文件夹中,所以可以使用下列语句:grep -nr XXX /usr/include

查找匹配字符串grep
grep [命令选项]... 用于匹配的表达式 [文件]...
例:搜索/home/shiyanlou目录下所有包含"shiyanlou"的所有文本文件,并显示出现在文本中的行号:
grep -rnI "shiyanlou" ~
-r 参数表示递归搜索子目录中的文件,-n表示打印匹配项行号,-I表示忽略二进制文件
查看环境变量中以"yanlou"结尾的字符串:
export | grep ".*yanlou$"
查找宏的值:
grep –nr [宏名称、全大写] /usr/include
其中-r代表递归查找,-n代表行数
基本指令
apt-get、cd、mkdir、cp(复制)、rm(删除)、mv(移动、重命名)、rename(批量重命名)、cat(正序查看文件)、tac(倒序查看文件)、nl(添加行号并打印)、more和less(分页查看)、zip、rar、tar、df(查看磁盘容量)、du(查看目录容量)、wc(计数)、uniq(去重)......

Linux编程基础

vim编辑器
1 vim的三种模式
命令行模式:只能移动光标,删除,复制,粘贴
插入模式:编辑文字
底行模式:文件保存或退出,设置编辑环境
2 操作
· 插入:i 在当前光标处进行编辑
I 在行首插入
A 在行末插入
a 在光标后插入编辑
o 在当前行后插入一个新行
cw 替换从光标所在位置后到一个单词结尾的字符
· 保存文档:进入命令行模式,输入w回车,保存文档;输入:w 文件名可以将文档另存为其他文件名或存到其它路径下
· 退出vim:进入命令行模式,输入wq回车,保存并退出编辑
3 剪切及粘贴
· 删除:dd删除整行
· 复制:yy复制整行
· 粘贴:p

gcc的使用
预处理:gcc –E hello.c –o hello.i;(gcc –E调用cpp)
编译:gcc –S hello.i –o hello.s;(gcc –S 调用ccl)
汇编:gcc –c hello.s –o hello.o;(gcc -c 调用as)
链接:gcc hello.o –o hello;(gcc -o 调用ld)
调试工具gdb的使用
gdb program 启动gbd
b 设断点(4种断点:行断点、函数断点、条件断点、临时断点)
run 开始运行程序
bt 打印函数调用堆栈
p 查看变量值
c 从当前断点继续运行到下一个断点
n 单步运行
s 单步运行
quit 退出gdb
display 跟踪变量值的改变
until 跳出循环
静态库
静态库是一系列的目标文件(.o文件)的归档文件((lib+name).a文 件);链接阶段,选择静态库,后缀名为“.a”;选择动态库,后缀名为“.so”。
静态链接库的生成:gcc -c 文件名.c ar rcsv libxxx.a xxx.o
静态库的使用:gcc -o 文件名 文件名.c -L. -lxxx//链接到静态库
注意:
-L:在库文件的搜索路径列表中添加dir目录
-l:在头文件的搜索路径列表中添加dir目录
共享库
共享库的生成:
gcc -fPIC -c xxx.c`` gcc -shared -o libxxx.so xxx.o
共享库的使用:gcc -o main main.c -L. -lxxx
注册共享库的方法:将库文件直接复制到/lib或者/usr/lib目录下: cp (lib+name).so /lib
GDB调试
进入gdb:
gcc -g xxx.c -o xxx
gdb xxx
查看源码:
(gdb) l:进行行号提示
(gdb) b n:在第n行设置断点
(gdb) r:运行代码,运行至断点处
(gdb) n:单步运行
(gdb) c:使程序继续往下运行,直到再次遇到断点或程序结束
(gdb) q:退出GDB
(gdb) watch n:在"n"设置了观察点,观察变量的变化情况
四种断点:
函数断点:b 函数名 条件表达式
行断点:b 行数或函数名 条件表达式
条件断点:b 行数或函数名 if表达式
临时断点:tbreak 行数或函数名 条件表达式
makefile
功能:识别文件代码是否更新,减少编译工作量
格式为:
目标体:依赖文件
[tab键]各目标体运行命令
目标体:由make创建,通常是目标文件或可执行文件
依赖文件:创建目标体所依赖的文件
运行命令:创建每个目标体时需要的运行命令,必须以tab键开头。
使用make的格式:make 目标体

其他(感悟、思考等,可选)

学习了半个学期,感觉还有很多知识没有消化好。

参考资料

posted @ 2016-11-06 22:21  20145310刘宇飞  阅读(170)  评论(1编辑  收藏  举报