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

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

Linux 文件的基本操作

  • touch 命令创建空白文件:先 cd ~ 切换回用户,然后touch test.
    使用 mkdir(make directories)命令可以创建一个空目录;使用 -p 参数,同时创建父目录(如果不存在该父目录)。

  • 使用cp(copy)命令复制一个文件或目录到指定目录;复制目录需要加上-r或者-R参数,表示递归复制。

  • 使用rm(remove files or directories)命令,删除一个文件或目录;-f参数强制删除;要删除一个目录,也需要加上-r或-R参数.

  • 使用mv(move or rename files)命令,移动文件

  • 重命名 :mv 旧的文件名 新的文件名

  • 使用cat,tac和nl命令查看文件

  • more和less命令分页查看文件,使用Enter键向下滚动一行,使用Space键向下滚动一屏,按下h显示帮助,q退出。

  • grep -nr xxx /usr/include 在/usr/include里面查找XXX

  • man -k XXX 寻找XXX的相关问题

gcc

  • GNU CC(简称为gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。

  • 预处理: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

  • 前三步,GCC的参数连起来是“ESc”,相应输入的文件的后缀是“iso”

  • $gcc hello.c -o hello

  • -o选项可以省略很多中间步骤一次性输出可执行文件

gdb

  • gdb主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数即可。
  • gdb programm(启动GDB)
  • b 设断点(要会设4种断点:行断点、函数断点、条件断点、临时断点)
  • run 开始运行程序
  • bt 打印函数调用堆栈
  • p 查看变量值
  • c 从当前断点继续运行到下一个断点
  • n 单步运行
  • s 单步运行
  • quit 退出GDB
  • GDB的n(next)命令让GDB执行下一行,然后暂停。 s(step)命令的作用与此类似,只是在函数调用时step命令会进入函数,所以优先使用n
  • display 跟踪变量值的改变
  • until 跳出循环
  • finish 跳出函数
  • help 帮助

VIM编辑器

  • 大写“K”可以用来查找函数的帮助信息:查看 man page,命令模式下,将光标放在函数名上,按"K"可以直接察看 man page。
    几个设置

  • :set nu 显示行号

  • :set ai 自动缩行

  • :set ts=4 设置一个 TAB 键等于几个空格
    移动光标

  • [[ 转到上一个位于第一列的"{"

  • ]] 转到下一个位于第一列的"{"

  • { 转到上一个空行

  • } 转到下一个空行

  • gd 转到当前光标所指的局部变量的定义

自己的收获

通过对《深入理解计算机系统》的学习,我了解了一个程序代码在机器内部是怎么运行的,计算机是怎么看懂高级程序语言并执行的一些细节。这些知识让我看到了程序更深层次的内容,对编写高效率的程序有帮助。

自己的不足

C语言基础不够好,写的代码太少。

原文地址:https://www.cnblogs.com/5315hejialei/p/6036276.html