20135316王剑桥 linux第二周课实验笔记

时间:2023-03-08 17:48:25
20135316王剑桥 linux第二周课实验笔记

Linux中命令格式为:

command [options选项] [arguments参数] //中括号代表是可选的,即有些命令不需要选项也不需要参数

ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略

cheat命令提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。

find查找一个文件在系统中的什么位置,locate是神速版本的find(Windows下有个Everything工具和locate类似).

grep 可以对文件全文检索,支持正则表达式,正则表达式是一个重要的元知识。

whereis,which告诉你使用的命令工具装在什么地方。

GCC编译代码的过程如下:20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记

我们可以把编译过程分成四步,以编译hello.c生成可执行文件hello为例,如下图:

20135316王剑桥 linux第二周课实验笔记

预处理: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编译时要加“-g”参数

GDB最基本的命令有:

gdb programm(启动GDB)

b 设断点(要会设4种断点:行断点、函数断点、条件断点、临时断点)

run 开始运行程序

bt 打印函数调用堆栈

p 查看变量值

c 从当前断点继续运行到下一个断点

n 单步运行

s 单步运行

quit 退出GDB

GDB的n(next)命令让GDB执行下一行,然后暂停。 s(step)命令的作用与此类似,只是在函数调用时step命令会进入函数

其他几个我认为应该掌握的调试命令有:

display 跟踪变量值的改变

until 跳出循环

finish 跳出函数

help 帮助

Vim编辑器        emacs编辑器20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记20135316王剑桥 linux第二周课实验笔记