大家的C语言-303-初始环境搭建-Shell

Shell是什么

终端只是提供了与操作系统沟通的途径,但没有规定怎样与操作系统沟通。就如手机只是提供了两个人通话的途径,但并没有限制两个人之间说什么。人与人之间沟通必须用两个人都能听懂的语言。对一个只会说英语的人讲汉语,他肯定是一脸懵。计算机也一样,你只能用它懂的方式与它沟通。而它能听懂什么就是由Shell规定的。与CPU指令集类似,Shell规定了可以向操作系统输入哪些指令。本教程只介绍我们编程用到的基本Shell指令1。很简单只有步到5个,之后我们会用图形工具编写程序。
我们在终端中的一切指令都要由Shell进行解析,并执行操作。如果输入的内容Shell无法解析就会报错。这里要提到的是,Shell是对能解析并执行终端中输入指令的程序的总成,一个Linux系统上可以有多个由不同组织提供的不同版本的Shell程序。具体有哪些版本不是本教程的内容就不多介绍了,若感兴趣请自行调查。

当前路径

Linux中所有数据都是以文件的形式保存的,而每个文件都存放在文件夹中。同时文件夹也要存放在另一个文件夹中(根文件夹除外)。系统中高层的文件夹叫根文件夹,用字符/代表。除根文件夹外,其他所有文件夹都是根文件夹的子文件夹,或是其子文件夹的子文件夹,或是其子文件夹的子文件夹的子文件夹…。
大家的C语言-303-初始环境搭建-Shell_第1张图片
表示文件夹或文件所在的文件夹的字符串被称为路径。如/home/eniac/Desktop,该字符串表示文件或文件夹保存在/目录的home子目录的enica子目录的Desktop子目录下。这种以/(根目录)开始的路径被称为绝对路径
绝对路径可以在任何时候被使用,但是使用时会带来一些不方便。如果我们想在/home/eniac/Desktop路径指定的文件夹下创建一个名为OurC的新文件夹,我们就必须输入/home/eniac/Desktop/OurC。这太长了,因此操作系统引入了当前路径的概念。输入的路径不是绝对路径时,Shell会将给出的路径拼接到当前路径后作为最终的路径。
由于我们是在桌面上点击鼠标右键打开的终端,因此终端的当前路径是桌面文件夹路径。可以使用命令pwd查看当前路径。
大家的C语言-303-初始环境搭建-Shell_第2张图片
如图,当前路径是/home/eniac/Desktop。上一节我们使用mkdir OurC创建了一个文件夹,由于我们没有指定绝对路径,Shell会将OurC拼接到/home/eniac/Desktop后面。因此mkdir实际创建的文件夹为/home/eniac/Desktop\OurC。不是以/开头的路径是依赖于当前路径的,因此被称为相对路径
之后我们所有的源文件都会保存到OurC中。

修改当前路径

由于我们今后的所有源文件都要放在OurC中。因此把当前路径修改为/home/eniac/Desktop/OurC,再操作源文件时就不用指定源文件的绝对路径了。这会给我们的操作带来很大的方便。
cd指令用于修改当前路径。现在输入cd OurC回车。由于我们指定的是相对路径OurC,因此cd指令会将当前路径修改为/home/eniac/Desktop\OurC
再次输入pwd回车,查看结果。
大家的C语言-303-初始环境搭建-Shell_第3张图片
下节将介绍一个简单的文本编辑器,之后我们就可以开始编写C语言的源代码了。


  1. 指令本质上也是可执行文件 ↩︎

你可能感兴趣的:(大家的C语言)