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

复习与回顾

linu基本命令

1、linux 查找命令
  • man 命令,查找相关命令参数选项。例如 man -k printf查找和printf有关的帮助。man 3 printf查找与printf有关的函数信息。
  • cheat 命令,提供相关命令实例。例如:cheat find
  • locate,which,whereis查找命令。
2、文件命令操作
  • 创建文件touch xxx.txt,创建目录mkdir xxx
  • 删除文件rm file,强制删除文件rm -f file,删除目录rm -r list.
  • 复制文件到指定目录cp file list,复制目录到指定目录:cp -r list1 list2.
  • 移动文件到指令目录mv file list,文件重命名:mv file file1
3、文件的解压缩命令
  • zip压缩文件:zip -q -r xxx.zip file1 file2,使用-e参数创建加密压缩包。解压文件:解压到当前目录下unzip xxx.zip.
  • tar压缩文件:tar -czvf filename.tar file1 file2,解压文件tar -xzvf filename.tar
4、sort命令

将文本文件内容加以排序。可针对文本文件的内容,以行为单位来排序。

  • Linux Bash中,ls . | sort 命令的功能是(显示当前目录内容并排序)
5、统计代码行数命令

wc -l filename

GCC

GCC编译程序的过程分为预处理、编译、汇编、链接四个阶段
1、使用GCC编译时要加“-g”参数,然后才能够用gdb调试
2、常用命令
gdb programm(启动GDB)

  • l 查看所载入的文件
  • b 设断点
    1、行断点:break line
    2、函数断点:break function
    3、条件断点:break line if 条件
    4、临时断点:tbreak
  • info 查看断点情况
  • run 开始运行程序
  • bt 打印函数调用堆栈
  • p 查看变量值
  • c 从当前断点继续运行到下一个断点
  • n 单步运行(不进入)
  • s 单步运行(进入)
  • quit 退出GDB

静态库和动态库

1、 静态库

  • 静态库的生成:ar rcsv libxxx.a xxx.o
  • 静态库的使用: gcc -o main main.c -L. -lxxx
  • 创建它的可执行文件
 gcc -static -o p2 main2.o ./libvector.a```
-  参数:
gcc -c只编译,不连接成为可执行文件。
ar -r:在库中插入模块(替换)
-c:创建一个库
-s:写入一个目录文件索引到库中

2、动态库
· 动态库的生成:```gcc -fPIC -c xxx.c
 gcc -shared -o libxxx.so xxx.o```
 · 共享库的使用:```gcc -o main main.c -L. -lxxx```

####总结与反思
  其实从最开始的每周几十页的内容的各种不适应,到现在大概能够掌握高效学习的要领中间还是有一段的过程,很庆幸我没有放弃。说一说前几周的学习吧,每次都是快速了解这周的知识核心,然后在此基础上进行进一步的学习并掌握要领。当然当时学完之后还是懵懵懂懂的,有些都不是特别理解为什么要那样做,但是让人感觉很欣喜的是在期中复习的时候再翻看以前的博客,一些以前理解不到位的知识豁然开朗,知识就是这样在反复学习中被我们慢慢消化吸收。
原文地址:https://www.cnblogs.com/yayaer/p/6033908.html