首页 C语言番外:什么是命令行程序?
文章
取消

C语言番外:什么是命令行程序?

有没有觉得一个学期的 C 语言都学完了,也不知道用 C 语言除了在控制台打印九九乘法表还能做什么?

C 语言能做的事其实很多,在硬件方面可以开发各种智能家电的控制程序,在后续的单片机课程中会学到相关的知识,像51单片机STM32单片机上运行的程序一般就是用 C 语言开发的,后续学到相关的课程可以留意一下;在软件方面,从操作系统(如Linux)、web 服务器(如Nginx)、数据库软件(MySQL)、视频编解码库 FFmpeg,再到我们写的小小的打印九九乘法表的程序,无处不见 C 语言的身影。即使编程语言界的后浪一重又比一重高,至今都无人能撼动 C 语言的江湖地位。

像我们目前写的 C 语言程序,输入、输出都是在命令行中进行的这种叫命令行程序。C 语言番外选择在第一篇就介绍命令行程序也是因为我们后续讲到的一些概念和命令行程序密不可分。很多学校大一上学期就开设 C 语言课了,如果在 C 语言课程前面加一个 Linux 基础的课程我觉得效果可能会更好。

可能有人还对命令行程序有点陌生,我举两个例子,比如查看电脑上的 ip 设置,电脑高手可能会打开 Windows 上的 cmd,然后输入ipconfig,cmd 窗口就会输出本机 IP、路由器 IP等这些信息。再比如查看自己的电脑有没有连接到互联网,电脑高手可能会在 cmd 窗口中输入ping www.baidu.com

可能有人会说,图形界面发展到现在,谁还用命令行程序呀?是的,小白用户确实不需要用命令行。但是要知道,现在大部分的服务器都是运行的 Linux 操作系统,而服务器上一般是不会安装图形界面的。也就是说在 Linux 服务器上做的所有操作都需要输入各种 Shell 命令来完成,而这里说的各种 Shell 命令就是命令行程序。

很多正在学习 C 语言的读者可能还没有在命令行中输过命令(Shell命令或DOS命令),也没接触过 Linux。所以本文接下来的篇幅简单介绍几个常用的命令行命令,也非常建议不具备相关知识的同学先去学习一下 Linux 基础操作。

cd命令,这个命令可以切换 Shell 环境当前所在的目录,使用很简单,cd 后面跟上要去的路径即可。比如现在是在 C 盘的用户目录里,要进入到桌面所在目录,输入cd Desktop回车即可。

ls命令,这个命令会列出当前目录下的文件和文件夹列表,ls是 Linux 中的命令,Windows 上对应的命令是dir,可以在自己电脑上的命令行中试一下。感兴趣的同学也可以用 C 语言写一个 ls 命令,这个程序的原理很简单,先用文件相关函数获取到当前目录下的路径列表,再用printf输出到控制台即可。

除此之外,常用的 Linux 命令还有比如创建文件夹的mkdir,创建文件的touch,输出文件内容的cat等,这里就不多一一举例了,感兴趣的同学可以自行学习。

到这里,相信大家对命令行程序已经有了一个大致的了解。下期我们讲述的问题是:main 函数为什么要return 0;

本文由作者按照 CC BY 4.0 进行授权

-

C语言番外:如何通过命令行编译运行C语言程序?