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