目录
一.linnux系统中的基本命令
1.虚拟机中的常用快捷操作
ctrl + alt + t 打开一个新的终端
ctrl + shift + t 在同一个终端新打开一个窗口
ctrl + shift + '+' 放大字体
ctrl + '-' 缩小字体
ctrl + alt + 回车 全屏
2.终端
linux@linux-virtual-machine:~$
2.1 linux
linux:系统登录的用户名
超级用户
有且只有一个,用户名为:root
操作文件(创建文件、删除文件、修改文件、移动文件)权限更高
普通用户
可以有多个,也可以一个没有,用户名没有限制(不能与root重名)
操作文件会收到权限的限制
2.2linux-virtual-machine:主机名
2.3 ~:
~:表示家目录
3.Linux系统中的命令:
格式:
command [-options] argument1 argument2 argument3 ...
1.ls命令:
查看当前目录下的文件
蓝色:目录文件(文件夹)
白色:普通文件(文本文件、图片、音视频、压缩包
ls -a 查看当前目录下的所有文件(包括隐藏文件)
ls -l 查看当前目录下文件的详细信息
2.mkdir命令:
创建一个目录文件(文件夹) mkdir dirname
3.rmdir命令:
删除一个空目录文件 rmdir dirname
4.touch命令:
创建一个空文本文件 touch filename
5.rm命令:
删除一个文件
rm filename
rm -rf dirname 删除非空目录
6.cd命令:
切换到某个目录
cd /
cd ~ :切换到家目录。
cd .. :切换到上一层目录
7.pwd命令:
查看当前所在的目录
8.cp命令:
文件拷贝
拷贝普通文件: cp filename dirname
拷贝目录文件:cp dirname1 dirname2 -rf
9.mv命令:
文件移动(文件剪切)mv filename dirname
修改文件名 mv oldname newname
二.Linux系统的目录结构:
1. 根目录 /
根目录是文件系统最顶层目录,存放系统文件
bin 存放可执行文件
dev 存放设备文件
etc 存放配置文件
lib 存放库文件
mnt 存放挂载文件目录
proc 存放进程信息目录
var 存放日志文件目录
2. 家目录 ~
Linux系统为每个登录用户提供一个家目录(可以在家目录中创建文件、删除文件、修改文 件、执行程序)
root /root 超级用户的家目录
linux /home/linux linux用户的家目录
3. 当前目录的上一级目录 ..
当前目录 .
4. 路径
(1). 相对路径:登录用户不同,所在目录不同,相同路径会有不同的含义
dirname
./dirname
../dirname
../../../dirname
~/Desktop/dirname
(2).绝对路径:登录用户不同,所在目录不同,相同路径不会有不同含义
/home/linux/Desktop/dirname
三.Linux系统下C语言开发步骤:
1. vim编辑器:
1.打开C语言文件(C语言文件以.c结尾)
vim filename.c
2.点击i键进入插入模式
i
3.编写C语言代码
#include <stdio.h>
int main(void)
{
printf("hello world");
return 0;
}
4.点击ESC
输入:wq
:wq 保存并且退出
:wq! 强制保存并退出
:q 退出
:q! 不保存强制退出
:w 只保存不退出
2. 使用gcc编译代码
1. 编译hello.c文件默认生成a.out文件
gcc hello.c
2. 编译分为4个流程步骤:
1.预处理:
将C语言代码展开(处理程序中与#号相关的代码)
#include <stdio.h>
将头文件stdio.h展开到代码中
#if
#elif
#else
#endif
#ifndef
#ifdef
根据条件编译规则将符合条件的代码加入到编译中,不符合条件的代码从编译中去除
#define
宏完成替换
gcc -E hello.c -o hello.i
2.编译:
将C语言代码编译成汇编代码
gcc -S hello.c -o hello.s
3.汇编:
将汇编代码编译成二进制代码
gcc -c hello.c -o hello.o
4.链接:
将二进制代码链接成为可执行程序
gcc hello.c -o hello
3. 程序错误:
1.语法错误
1.每次编译代码都寻找第一个错误并修改,直到错误完全解决为止
2.错误分为:error、warnning
error:无法生成可执行程序
warning:可以生成可执行程序,但程序中有可能出现错误
2.逻辑错误
1.加入打印解决问题
2.gdb调试器
gdb调试器:
1.编译代码时必须加-g选项,允许GDB调试
gcc filename.c -g
2.使用gdb调试代码
gdb ./a.out
3.输入命令完成GDB调试
l 查看代码
b 函数名/行号 设置断点
r 运行代码
n 单步执行
c 继续执行到下一个断点
p 变量名 查看变量值
s 进入函数内部调试
q 退出
查看代码 -> 设置断点 -> 运行代码 -> 单步执行
4.执行代码
./a.out