公司里基本上都是在Linux上进行编程,所以Linux基本操作、Cmake、g++、gdb、Shell编程等的最基本的知识的学习放在最开始。
一、Linux基础
Linux系统中一切皆文件,文件夹也是文件!Linux属于多用户,在登陆计算机(操作系统),允许同时登陆多个用户进行操作,所以大多数公共调试机器都是用Linux系统,可以多人同时登陆。
1.1 目录结构
bin: 全程binary,存放的二进制文件,可直接运行;dev:存放的外接设备需要挂在; home:表示“家” 除了root用户以外其他用户的家目录。 proc:process,存储Linux运行时的进程; root:root用户的家目录; usr:存放用户自己安装的软件;var:存放程序/系统的日志;mnt当外接设备需要挂载的时候,就需要挂载到mnt目录下。
我的用户名是cloud,所以我的home是这样:

1.2 指令
ctrl+alt+t 启动终端。输入到终端的指令格式:命令(空格)[选项] (空格)[操作对象],选项和操作对象都可以没有。
ls -l -a -h /home 等价于ls -lah /home ls用法 ls或者ls [路径] 路径可以是绝对路径:相对跟目录的路径;相对路径:相对当前目录的路径。
-l -a -h 就是选项,-l表示以详细列表的形式展示,-a表示显示所有的文件/文件夹(包含了隐藏的) -h表示以可读性较高的显示形式显示。
例子:ls 相对路径: ls ./ 表示当前目录下 ls../表示上一级目录一下。 ls绝对路径: ls /home
pwd打印当前终端所在的目录,cd默认是进入~目录下,~目录表示当前用户所在的目录,/表示系统的根目录。

Linux的所有文件夹都是4k,第一列是d表示文件夹,是-表示是文件,文件名以.开始的文件是隐藏文件,ctrl+l清平。

mkdir创建文件夹,mkdir 文件夹名字。 mkdir -p一次性创建多层不存在的目录。 mkdir 文件夹1 文件夹2 ... 一次性创建多个文件夹。touch也可以创建文件和文件夹,看到不要懵就行。
rm 文件 删除当前目录下的文件,rm 绝对路径/文件,删除绝对路径下的文件。 rm -r -f 等价于rm -rf 需要移除的目录,目录下的所有文件和文件夹都被删除了。
cp 复制文件/文件夹到指定目录 cp [被复制的文件路径][文件被复制到的路径] cp /home/cloud/file ./ 复制文件夹要加上-r的参数,表示递归的意思,跟rm的一样。
mv 移动文件到新位置或者重命名文件 mv 文件 新文件名。移动的操作类似cp。
reboot重启,shutdown -h now关机