2.程序员常识

一、前言

本文是为刚入门、或入门编程不久的小白普及一些编程中经常会遇到的基本常识,持续更新

二、终端

“终端”是一个比较专业的名字,常见的叫法还有“黑窗口”、“控制台”等等。

这三个称呼你可以认为是同一个东西,就是当你C/C++程序运行后出现的那个黑黢黢的窗口。

又或者其它语言输出hello world的那个地方,都是这玩意,只不过长的可能不太一样。

这个窗口很古老,在以前没有图形界面的时候,就是靠在它们上面敲命令来控制计算机。

如果你看过一些黑客电影,一些电脑上字符闪烁的画面,用的就是这个东西。

也就是说,你完全是可以通过“终端”来控制电脑的,而无需有其它的图形界面、鼠标之类的东西。

由于编写图形化应用(GUI)对于新手来说过于复杂,而控制台只有字符输入、输出,就很简单,所以新手刚开始编程的时候遇到的基本都是这个东西。

但“终端”也有不同的类型,比如windows系统自带的那个叫做cmd,用来解释windods系统的脚本命令,ubuntu系统自带的叫做bash,用来解释执行ubuntu系统的脚本命令,

在windows系统中,如果你想要打开终端,一般有两种方式。

第一种是按快捷键win+R(win是你键盘上带有窗口图标的那个键,一般在Alt键旁),左下角会弹出一个输入命令框,输入cmd,然后按Enter键就可以进入了:

image-20230921182745736

第二种是任意打开一个文件夹,在路径位置输入cmd,然后按Enter键,就可以在当前文件夹中打开文件。

image-20230921182934736

如果你升级到了win11,那么也可以像linux系统那样,直接右键打开终端了:

image-20230921183233243

但需要注意的是,它打开的终端不一定是cmd,目前windows系统上更优秀的终端叫做PowerShell(如果没有,可以参考官方文档进行安装):

image-20230921183359414

前面那个就是PowerShell,也是我目前用的最多的,后面的命令提示符便是cmd的中文翻译名称,为windows系统上自带的。

不同终端可执行的命令并不完全一致,但基本命令都是相同的,比如切换目录(cd)等,如果需要,可以自己上网搜索,或查看本站相关文章学习。

三、隐藏目录(文件)

隐藏功能并不是window系统独有,其它系统都有这个功能。

它的目的在于将一些对普通用户不重要的信息,比如软件的私密配置文件之类的隐藏起来,避免让用户感觉迷糊。

但对于编程人员来说,这种行为肯定是不能接受的,我们学习编程的过程,很大程度上就是在学习如何更加精细的控制电脑,怎么能让电脑还对我们有所隐藏呢?

在unix/linux系统中,一般是通过命令ls -a来查看当前目录下的隐藏文件/目录。

而在window系统中,我们可以直接通过设置来打开显示所有隐藏文件目录。

比如win 11系统就可以通过下面的方式进行打开:

image-20230921184204608

如果你是其它系统,也可以自行浏览器搜一搜。

四、文件扩展名

正如上面箭头所示,我还打开了文件扩展名。

这个也一定要打开!

因为windows系统上的软件识别文件,就是通过这个文件拓展名是识别的。

比如一个文本文件,以.txt结尾,如果我在里面写的c语言代码,那我就直接将它的后缀名改为.c即可,如果写的python代码,那我就将它的后缀名改为.py即可。

如果你电脑上此刻正好安装了对应的软件,那么它们就能够识别到,并且这个文件的图标也会被替换。

我说这个的目的就是让你知道:文件后缀名仅仅只是方便软件或者人来识别这是个什么文件而已,至于文件里面到底有什么内容,还是取决于你写的什么,并且最终要用什么格式来解释它。

比如你完全可以将一个.exe可执行文件的后缀名改为.txt,让记事本来打开它。

能打开吗?正常来说是可以打开的,只不过打开后你会看到一堆乱码,因为这个文件里面的数据格式不是文本格式。

如果你以后使用了linux相关的系统,比如ubuntu,你会理解的更深,因为你可能会看到,无论是文本文件、可执行文件,又或者是代码文件,都没有后缀名!

当然,这种行为并不推荐,为了自己以后好识别,一般文本文件、代码文件都会添加一个后缀名的。

至于可执行文件,一般不用,因为linux系统中可执行文件可以通过属性来识别。

更直白地说,就是执行ls列举当前目录文件后,可执行文件名字的颜色和其它文件名颜色是不同的。

五、环境变量

环境变量同样是系统通用的,只不过不同系统的设置方式有所不同而已。

它的作用就在于:当你在前面提到的终端中执行一个命令的时候,终端去哪里找到这个命令。

当然,这只是它用的最多的一个功能,常见的用法还有替换字符,正如它的名字,是一个变量

你在终端执行的命令,也是其它程序员所开发的可执行文件而已,只不过执行的方式不是你通过鼠标点击运行,而是通过终端(字符输入、输出)的方式运行。

这里还是以大家用的最多的windows系统为例,你可以直接通过windows自带的搜索功能进行搜索:

image-20230922082434172

一般会有两个环境变量:系统环境变量账户环境变量

由于如今的电脑基本都是一个人使用,所以这两个其实用哪一个都行,其存在的目的主要是为了多用户的环境。

比如当前电脑有两个账户,那么系统环境变量就对每个用户都有效,而个人账户环境变量就只对当前账户有效。

同时需要注意,系统环境变量设置了之后,一般需要重启电脑才能生效(也可能不需要)。

而个人账户的环境变量设置了之后就能立马生效,一般不需要重启电脑。

如果你发现终端依旧无法找到该命令,可以先尝试重开一个终端,而不用重启电脑。

点进去后会有一个窗口,点击右下角的环境变量进入:

image-20230922082949698

一般你能看到很多环境变量:

image-20230922083049626

这些环境变量分为两部分:变量

我们用的最多的就是Path这个环境变量,因为终端执行命令的时候,就是依靠这个Path变量保存的路径(也就是后面的值)来挨个寻找的。

各个值之间使用英文分号(;)隔开,不过一般不用我们管,你可以直接双击这个变量,进入编辑模式:

image-20230922083410544

然后你就能增删这些路径了,比如你自己写了一个叫做test.exe的应用程序,现在想要直接在终端中运行它,一般就有两种方式。

第一种方式就是你在终端中使用cd命令切换到你这个可执行文件的目录,就可以执行它了。

而第二种方式就是将你的这个可执行文件路径,添加到这个Path变量中来,那么你就可以在终端的任意路径下执行这个可执行文件了。

又或者,避免麻烦,你也可以直接将你的可执行文件移动到已经被系统默认添加到Path变量下的路径下,比如C:\Windows\System32

六、内存与硬盘

内存这个东西也是很多新手误会的点,因为内存正常情况下,你是看不到的,我们在文件管理器中看到的那个C盘、D盘之类的,实际上应该叫做硬盘,或者磁盘:

image-20231025215818132

硬盘的作用在于长久化的存储数据,比如视频、音乐、文件等等,即使你关机重启了,它们依旧还在。

而内存,我们则需要在任务管理器中才能看到,这是windows自带的程序,不知道怎么打开的可以自己浏览器搜一搜:

image-20231025220135302

它的作用在于存放你平时运行的程序。

比如QQ、微信,你点击它运行起来了,实际上就是在将它从硬盘中加载到内存中。

所以内存越大,就意味着你可以同时启动的程序就越多,电脑就越不容易卡顿。

但它只是临时存储,最直观的例子就是,当你重启电脑后,就会发现所有之前打开的程序都被关闭了,数据都丢失了。

所以很多编辑器,比如vscode,为了防止出现数据丢失的情况,都会有一个叫做“自动保存”的功能。

你打开软件敲下的所有字符,都是保存在内存里面的,而这个功能的作用就是实时将这些内存中变动的数据写入到硬盘中,从而保证数据不会丢失。

而代价自然就是性能损耗更高了,毕竟它需要随时进行写文件操作。

七、首选项与设置

这两个其实就是一个东西,只不过国内的软件大部分都更倾向于使用“设置”这个词,而很多人都是先接触的手机,再接触的电脑,所以就出现先入为主的思想。

但事实上这只是国内的习惯,很多外国软件喜欢用“首选项”这个词来代表设置,这就导致了很多新手想要找一个软件的设置时,却发现怎么也找不到。

这种情况有很多,比如adobe全家桶,基本都遵循的这个名称:

image-20231124093515096

但如今已经有所改善了,“设置”这个词目前使用频率比“首选项”会高很多,至少在国内软件是这样的。

作者:余识
全部文章:0
会员文章:0
总阅读量:0
c/c++pythonrustJavaScriptwindowslinux