1、计算机原理和Linux基础
计算机由硬件部分和软件部分共同组成
硬件部分:
CPU :数据运算、过程控制
内存 :临时存储数据,如内存条、显存等,访问速度快,吊点数据丢失,贵
闪存 :永久存储海量数据,如硬盘、光盘、U盘等 不会掉电丢失,便宜
软件部分:
操作系统
终端软件
带GUI的应用程序
2、Linux命令
当前目录:在文件系统中当前所处的位置,即当前所处的目录
在Linux系统中使用“.”表示当前所处目录
主目录:用户登录系统的初始目录,使用 “~”表示。
主目录位于/home目录下,目录名和用户名同名
tarena用户的主目录是/home/tarena zzq用户的主目录是/home/zzq
路径:路径用来表示文件系统里某个文件或文件夹所在的位置
路径描述了从某个文件夹开始到某个文件或文件夹为止的路线
根据起点的不同,可以把路径分为绝对路径和相对路径
绝对路径的起点固定是根目录
绝对路径一定是以/做起点,以/作起点的路径也一定是绝对路径
相对路径的起点是当前目录
pwd:当前目录
cd:进入目录路径 可以是相对路径,也可以是绝对路径 cd/home/tarena/workdir/ cd/
mkdir:创还能空的目录 要求目录本身不存在,但是父目录已经存在 如果要连续创建不存在的目录 需要加上-p mkdir a/b/c -p
touch:创建文件
ls:列举当前目录下所有文件和文件夹
ll:以单文件为一行的方式列举当前目录下所有文件和文件夹
rm:删除文件或者目录 remove rm a.txt rm/home/tarena/b.txt rm a -fr rm /home/tarena/A -fr
cat:快速查看文件内容
cp:拷贝文件 cp hello.c world.c 将hello.c拷贝一份当当前目录下 新的文件名称为world.c
cp /usr/include/stdio.h /usr/local 将/usr/include/下的stdio.h拷贝到 /usr/local/下
gcc:编译程序 gcc hello.c => 在当前目录生成a.out文件
./a.out: 执行a.out程序 application output
3、vim编辑器
vim编辑器是Linux系统中用来记录文字信息的工具
vim编辑器只能在终端窗口中使用
Linux最常用的C编辑器
用来编辑代码
vscode
sublime
eclipse.....
vi里提供了三种工作模式,每种工作模式对应一组功能
任何时候只能出于一种工作模式下
三种工作模式分别是一般模式,插入模式和命令行模式
正常模式下可以执行一些简单命令,例如复制粘贴等等
插入模式下可以修改文字内容,在当前模式下实现文件的编辑
命令行模式下可以执行复杂命令
vim a.c
每次刚进入vim时一定处于正常模式,不同工作模式之间可以相互转换,
正常模式下输入i可以转换成插入模式,
正常模式下,输入:可以进入命令行模式
插入模式没法直接编程命令行模式,反之亦然
任何时候驶入esc可以进入一般模式
移动光标与撤销操作
G:移动到文件的最后一行
nG:移动到文件的第n行
u:撤销上一步操作
vim命令行模式
w:保存所有修改而不需要退出vim编辑器
wq:首先保存 所有没有保存的修改,然后再退出
q!:首先丢失所有没有保存的修改然后再退出
4、第一个C程序
#include <stdio.h>
int main(void)
{
printf("hello world\n");
return 0;
}
源文件=>预处理=>编译=>汇编=>链接=>可执行文件
1、预处理:对源文件中以#开头的命令进行处理
例如#include <stdio.h>将stdio.h文件的内容插入到当前文件中
输出以.i为扩展名的xxx.i
gcc -E hello.c -o hello.i
-E:只对源文件执行预处理步骤
-o:指定生成的文件名