1、C/C++语言偏向于计算机底层,避免不了和操作系统打交道。Linux系统是开源的,我们可以免费获取Linux操作系统的源码,有利于我们的学习;而Windows之类的操作系统的是不开源的,是收费的。
2、C/C++发展的方向之一就是服务器端开发。目前服务器端的市场大部分都被Linux系统占据了。理解或熟悉在Linux系统上开发已经是很多公司在招聘时的必备项或者加分项。
3、Windows操作系统是图形化界面的,只通过点点鼠标就能完成诸多操作,非常方便。但是,这样我们只是会使用,并不理解计算机的底层原理。在Linux系统上,我们需要使用各种命令去实际操控计算机完成我们想要的操作,并且我们可以深入查看操作系统的源码,去真实了解到操作系统运行的原理。
1、Linux:命令行操作系统 Windows:图形化界面
2、Linux 开源项目 (免费获取Linux操作系统的源码)。 内核源码,免费
Windows 不开源项目,收费
3、Linux :服务器端开发,手机和嵌入式设备(智能家具,遥控器....)
Windows : 个人电脑
4、Linux: 多用户系统 Windows : 单用户系统
后续我们所有的开发都是在终端,通过命令的方式实现的。
1、打开方式:1. 桌面右键点击 Open in Terminal
2. 快捷键:同时按下 Ctrl + Alt +T
2、介绍
如果是在购买的云服务器上运行的Linux系统(Ubuntu版)的终端,就如图片所示;在自己本地运行的系统终端只是没有File、Edit、.....那一行,无较大区别。
student:就是我们在安装Linux系统时,我们自己创建身份时的用户名。
localhost:在创建用户名的同时,为我们个人使用的虚拟机创建的主机名。
Desktop:就是我们当前所在目录。
$:说明我们现在是普通用户身份。Linux上也分普通用户身份和管理员身份,# 代表管理员身份,二者权限不同。普通用户可以通过:sudo su 命令切换到管理员身份,此时需要输入身份密码,且密码不屏显。
3、终端界面字体大小放大与缩小
放大:"Ctrl" + "Shift" + "+ " 三键组合
缩小:"Ctrl" + "-" 两键组合
4、Linux目录结构
Linux系统与Windows系统不同,Windows系统的根目录有C盘、D盘等,而Linux只有一个根目录:" / "。其目录结构是一个树状结构,如下图所示:
1、bin:存放常用的命令(二进制可执行程序)。我们要使用的大部分命令都在这里保存着。
2、boot:存放系统内核与与启动相关的文件。
3、dev:存放设备文件(现在还不懂,后面学会了就懂了)
4、etc:存放系统配置文件。和在Windows系统上一样,我们需要进行各种系统配置。
5、home:用户的家目录。在我们创建用户身份时,会在home目录下以用户名创建一个子目录,如:/home/student。我们普通用户的活动范围只有student这个目录中,对于除此以外的其他所有目录,我们只能访问,不能进行任何操作,并且还不能访问boot目录。
6、lib:存放系统的库文件
7、proc:虚拟文件系统目录,以进程为单位存储内存的映射(就是进程的一些信息)。
8、usr:存放系统应用程序文件及文档。比如C语言的头文件 stdio.h 就在 /usr/include目录中。
9、var:存放系统日志文件,时刻更新。
10、root:管理员的活动范围。
11、mnt:临时挂载点。就如我们将u盘插到计算机上,系统就会将硬盘中的文件目录通过这里链接到计算机中。
12、tmp: 存放各种临时文件,是所有用户均可访问的地点 。
1、绝对路径: 是从系统根目录(“/”)开始到指定位置的路径
例如:以绝对路径表示 main.c 的位置 /home/stu/main.c
以绝对路径表示桌面的位置 /home/stu/Desktop
2、相对路径: 是从当前目录开始到指定位置的相对路径
例如: “.” 代表当前位置 “..” 代表当前位置的上一层目录
“./main.c” 表示当前位置下的 main.c 文件
Linux 下所有的东西都可以看做文件(一切皆文件),Linux 将文件分为以下几种类型:
◼ 普通文件 ‘-’ ,.c文件和 .txt之类的都是普通文件。
◼ 目录文件 ‘d’
◼ 管道文件 ‘p’
◼ 链接文件 ‘l’
◼ 设备文件(块设备 ’b’ 、字符设备 ‘c’)
◼ 套接字文件 ‘s’
Linux 上不以文件的扩展名(后缀名)区别文件类型,而是在文件属性中有一列专门记录文件类型。在后续文章中会详细说明。
在Linux学习部分,理论知识很多,理论学习要占大部分比例,但是我们学到的理论都是可以通过实操来验证的。并且我们要将记忆与实操结合,在练习的过程中加深理解。