man
(manual):查看命令的帮助
例如:man rm
查看rm的命令帮助
GBK:汉字国际拓展码,基本上采用了原来GB2312-80所有的汉字及码位,并涵盖了原Unicode中所有的汉字。
UTF-8:万国码
简单来说即使GBK用2位字节表示一个汉字,UTF-8用3位字节表示一个汉字
出现乱码时就要检查是否用了合适的方式打开
一个文件有三种权限对象:u(user)所有者、g(group)所属组、o(other)其他人
三种权限
权限名称 | 值 |
---|---|
r | 4 |
w | 2 |
x | 1 |
r:读,可以查看文件内容,列出目录内容
w:写,改写文件内容,创建或删除目录中的文件
x:执行,可以被执行,可以进目录
GCC:LINUX下最常用的符合ANSI C标准的编译系统
选项
-E
:对源文件进行预编译
-S
:对源文件进行编译
-C
:对源文件过行汇编
-o file
:输出目标文件file,不指定时输出的为默认文件a.out
编译过程
预处理:把c文件中的include的头文件全部不加载到c文件首部
编译:单词拼写错误—语法分析,检查关键字,检查标识符等
汇编:把汇编程序翻译成CPU可以识别的二进制文件,也叫目标文件
连接:经常程序由多个源文件组成,每个源文件都有对应目标文件和库函数,需要把这些东西连接在一起才能被CPU运行。连接就是把这些目标文件连接在一起,最终生成一个可以直接运行的文件,叫做可执行文件
静态连接:把库函数写进c里面,不需要外部环境即可运行,文件格式比较大
动态连接:程序运行时才把需要使用的库进行连接,文件格式比较小