导语
Linux作为与Windows齐名的操作系统,越来越在程序设计中显得举足轻重,同等情况下,在Windows上的很多操作,在Linux上会更简单,更高效,因此学习Linux是非常有必要的
Linux程序
Linux程序的内核是用C语言编写的,因此Linux天然的与C十分亲近,随着时间的推移,越来越多新的语言层出不穷,Linux也大多支持它们,不过要安装对应的依赖。
Linux应用程序一般为两种类型的文件:可执行文件和脚本文件,前者类似Windows的.exe,后者类似Windows的.bat或.cmd
Linux和Windows在文件方面有一个很大的不同点,Windows一般依赖后缀名来识别文件的类型,Linux依赖文件系统属性指明文件的类型,或者说,权限,很多时候,在Linux中程序和脚本是可以互换的
使用Linux时,如果没有安装图形化程序,绝大多数情况下,用户都是与shell程序进行交互(类似Windows命令行)
与Windows一样,Linux也有一个搜索路径,这个路径存储在shell变量PATH里,一些常用的路径如下(书上原话)
/bin:二进制文件目录,用于存放启动系统时用到的程序
/usr/bin:用户二进制文件目录,用于存放用户使用的标准程序
/usr/local/bin:本地二进制文件目录,用于存放软件安装的程序
//不要从PATH删除目录,可以添加
//Linux用/分割目录名
文本编辑器
在Linux中编写和输入代码需要一个文本编译器(和Windows的文档定位类似),Linux的文本编译器有多种,最有名的是vi和vim,经久不衰
C程序编译
Linux系统中自带C语言的编译器,如gcc、GNU等,下面是一个基本的例子
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello World\n");
exit(0);
}
之后在shell中执行
gcc -o hello hello.c
./hello
结果如下图
大多数情况下,gcc或cc命令就能实现将c语言代码转成可执行文件,-o选项告诉编译器可执行程序的名字,编译器会把程序放在一个xxx.out的文件里
文件简介
应用程序
系统提供的程序和开发工具一般都在/usr/bin中,后续安装的路径也是这里
系统管理员为某个特定的主机或本地网络添加的程序通常可在目录/usr/local/bin或/opt中找到
头文件
使用高级程序设计语言时,总是需要头文件来进行对系统函数和库函数的声明,它们通常在/usr/include及其子目录中,依赖于特定Linux版本的头文件通常可在目录/usr/include/sys和/usr/include/linux中找到
有些语言特定的头文件路径也可能在其他地方
库文件
库是预先编译好的函数集合,库文件一般在/lib和/usr/lib中,一般以lib开头
静态库
归档文件,以.a结尾,是一组处于“准备好使用”状态的文件
共享库
简介,以下为书上原话
当一个程序使用共享库时,它的链接方式是这样的:程序本身不再包含函数代码,而是引用运行时可访问的共享代
码。当编译好的程序被装载到内存中执行时,函数引用被解析并产生对共享库的调用。
如果有必要,共享库才被加载到内存中。
总结
本章简单介绍一些Linux相关的概念,特别是Linux和C语言的关系,还有一些常用的文件
参考文献
- 《Linux程序设计(第4版)》