Linux必须要懂的几个方面
一.Linux的基本操作命令
1. linux下的常用命令:ls,pwd,mkdir,cd,cp(复制),mv(改名或者移动文件位置),rm,wc(统计文件中的行数字数),chmod,chown(更改文件或目录的属主和属组),find(查找文件),grep(在指定文件中查找符合条件的字符串),tar(压缩文件或者解压文件),touch(创建一个文件)
2. 常用网络命令:ifconfig(查看和更改网络接口的地址和参数,包括IP地址,子网掩码,广播地址等),netstat(查看系统的网络状态,例如开启的端口号,提供的服务,以及服务器的状态等,还可以显示路由表,网络接口状态)
3. 系统管理常用命令:reboot,apt-get install ****,mount(用来挂载指定的文件系统),ps(用来监视系统中进程的状态),kill (用来终止一个进程),man+命令用来查看帮助
二.Vim,makefile,gcc,g++,gdb工具的使用
Vim:vim有命令行,插入,底行三种模式。当我们进入vim时处于命令行模式,按下“i”进入插入模式,编辑完成输入“:”进入底行模式。
常用命令如下:
Wq,q!,num+回车键(跳转到num行),set nu(显示行号)
查找替换命令:
/关键字(按N键陆续向下查找)
%s/被替换字符/字符
命令行快捷键:
X(每按一次就删除后面一个字符)
#x(删除后面#个字符)
Dd(删除所在行)
#dd(删除#行)
Yy(复制光标所在行到缓冲区)
#yy
P(缓冲区粘贴)
Shift+g跳转到最后一行,gg跳转到第一行
Gcc:
编译过程:
预处理:把头文件内容加到.c文件中
命令 gcc -e test.c -o test.i
编译:语法检测,转换成汇编语言
Gcc -s test.i -o test.s
汇编:将会变语言转换为二进制文件
Gcc -c test.s -o test.o
连接:将所有的目录文件和所需的库文件链接在一起
Gcc test.o -o test
连接器:
Gcc test.o -o test -I/xxx/xx/xxx(向程序添加非默认路径的头文件)
Gcc test.o -o test -L/xxx/xx/xxx(向程序添加非默认路径的库文件)
Gcc test.o -o test -lm(向程序添加数学库)
Gcc test.o -o test -static -lm(采用静态方式链接添加库,默认采用动态)
g++:参照gcc。
Gdb:
首先对需要调试的c文件,编译时,添加“-g”的命令,例如:gcc -g test.c -o test
$ gdb test 启动调试
调试的命令及功能如下:
命令 | 简写 | 功能 |
list | l | 显示源码 |
break | b | 设置断点 |
run | r | 运行 |
continue | c | 继续运行 |
| p | 打印变量值 |
next | n | 执行下一条语句,将函数当做是一条语句 |
step | s | 执行下一条语句,遇到函数会进入函数内部,执行函数体内的语句,与next不同 |
quit | q | 结束调试,退出gdb |
Makefile:
创建两个文件作为例子编写makefile
1 target = JustForTest2018.8.1
2 object = JustForTest2018.8.1.o 2JustForTest2018.8.1.o
3 cc = gcc
4
5 $(target):$(object)
6 $(cc) $(object) -o $(target)
7
8
9 clean:
10 rm *.o $(target)
11
Makefile编写成功。
三.linux下开发嵌入式设备的方法与知识点
1. 编译器。
arm-linux-gcc安装与环境的配置。
2. 编译程序时需要的库。
3. Makefile的解读。