1、Linux系统介绍
不同于Windows,Linux是一个开源的操作系统。
Linux一切皆文件,对文件的操作有:创建文件、编辑文件、保存文件、关闭文件、重命名文件、删除文件、恢复文件。
1.1 目录结构
根目录 /
bin:全称binary,含义是二进制。该目录中存储的都是一些二进制文件,文件都是可以被运行的。
dev:该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载。
etc:该目录主要存储一些配置文件。
home:表示除了root用户以外其他用户的家目录,类似于windows下的user/用户
proc:全称process,表示进程,该目录中存储的是Linux运行时候的进程。
root:该目录是root用户自己的家目录
sbin:全称super binary,该目录也是存储一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行。
tmp:表示临时文件夹,当系统运行时候产生的临时文件会存在该目录。
usr:存放用户自己安装的软件,默认位置
var:存放的程序/系统的日志文件的目录
mnt:当外接设备需要挂载的时候,就需要挂载到mnt目录下。
1.2 命令
linux的命令是指在linux终端中运行的内容。
命令格式: 命令 【选项】 【操作对象】
pwd 打印当前目录
ls 列出当前工作目录下的文件及文件夹的名称
**ls [path]**列出指定目录下的文件及文件夹名称
ls [可选项] 以指定的格式进行显示文件
cd切换到当前用户的家目录
mkdir创建目录
mkdir -p创建多层目录
mkdir path1 path2一次性创建多个目录
touch创建新文件
**rm **删除文件或者目录
rm -rf删除路径
cp 赋值文件/文件夹到指定的位置
cp -r复制文件夹
mv移动文件到新的位置,或者重命名文件
1.3文件编辑器
vim、nona、gedit
2、编译器
使用g++编译C++代码。
步骤:预处理、编译、汇编、链接
1、预处理-Processing
g++ -E test.cpp -o test.i
2、编译
g++ -S test.i -o test.s
3、汇编
g++ -C test.s -o test.o
4、链接
g++ test.o -o test
g++重要编译参数
1、-g 编译带调试信息的可执行文件
#产生带调试信息的可执行文件test
g++ -g test.cpp -o test
2、-O[n] 优化源代码
-O选项会告诉g++对源代码进行基本优化。这些优化在大多数情况下都会使程序执行的更快。
-O 同时减小代码的长度和执行时间,其效果等价于-O1
-O0 表示不做优化
-O2 除了完成-O1的优化之外,还进行一些额外的调整工作,如指令调整等。
-O3 则包括循环展开和其他一些与处理特性相关的优化工作
3、-l和-L指定库文件 |指定库文件路径
4、-I 指定头文件搜索目录
g++ -I
5、-Wall 打印警告信息
3、GDB调试命令
- (gdb)help(h) #查看命令帮助
- (gdb)run® # 重新开始运行文件
- (gdb)start # 单步执行,运行程序
- (gdb)list(l) #查看源代码
- (gdb)set #设置变量的值
- (gdb)next(n) #单步调试
- (gdb)backtrace(bt) #查看函数的栈帧和层级关系
- (gdb)info(i) #查看函数内部局部变量的值
- (gdb)finish #结束当前函数,返回到函数调用点
- (gdb)continue© #继续运行
- (gdb)print§ #打印值及地址
- (gdb)quit(q) #退出gdb