星光影视园网站建设案例,做网站常用软件,怎样做图片链接到网站,wordpress 文章行距目录
Linux中的软件管理工具 – yum
在Linux下安装软件的方式
认识yum
查找软件包
安装
卸载
lrzsz.x86_64
rz
sz
Linux中的编辑器 – vim
vim的基本概念
vim各模式切换
vim命令模式命令
vim底行模式命令
gcc / g
gcc / g的作用
gcc / g语法
预处理
编译
汇…目录
Linux中的软件管理工具 – yum
在Linux下安装软件的方式
认识yum
查找软件包
安装
卸载
lrzsz.x86_64
rz
sz
Linux中的编辑器 – vim
vim的基本概念
vim各模式切换
vim命令模式命令
vim底行模式命令
gcc / g
gcc / g的作用
gcc / g语法
预处理
编译
汇编
链接
动态库和静态库
gdb
debug和release
gdb指令 Linux中的软件管理工具 – yum 在Linux下安装软件的方式
在Linux系统下安装软件的方式有以下三种
下载程序的源代码 自己进行编译 得到可执行程序通过rpm获取安装包 通过rpm命令进行安装 未解决依赖问题通过yum进行安装 本身会考虑依赖关系
通过yum进行安装是我们最常用的一种方式
认识yum yum是一个在Fedora、RedHat以及CentOS中的前端软件包管理器 能够从指定的服务器自动下载RPM包并且安装 可以自动处理依赖性关系 并且一次安装所有依赖的软件包 无须繁琐地一次次下载、安装 它就可以类比我们的windows上的软件商店
一个服务器同一时刻只允许一个yum运行
yum要工作必须要联网
查找软件包
我们可以通过下面的命令来查找软件包 yum list [wzyVM-24-2-centos lesson2]$ grep list
安装 yum install [wzyVM-24-2-centos lesson2]$ sudo yum install sl.x86_64
-y 直接安装 不询问
[wzyVM-24-2-centos lesson2]$ sudo yum -y install sl.x86_64
卸载 yum remove [wzyVM-24-2-centos lesson2]$ sudo yum remove sl.x86_64
-y 直接删 不询问
[wzyVM-24-2-centos lesson2]$ sudo yum -y remove sl.x86_64
lrzsz.x86_64
和Windows进行文件交互
rz sz Linux中的编辑器 – vim
vim的基本概念 vim的本质上是一个多模式的文本编辑器 它主要有三种模式 我们这里会逐一介绍
1. 命令模式 Normal mode
在命令模式下 我们可以控制光标的移动以及字符 字或行的删除 复制粘贴 剪贴等操作
2. 插入模式Insert mode
只有在插入模式下才能进行文字输入 该模式是我们使用最频繁的编辑模式
3. 底行模式Command mode
我们的保存 退出等指令都要在底行模式中进行
vim各模式切换
首先我们使用一张图来理解vim中三种模式之间的联系
vim 默认命令模式 ---- i a o 插入模式---- ESC | ^ : | | ESC| || |V底行模式
普通模式通过 按一次 i键 切换到插入模式普通模式通过 按 键切换到底行模式其他两种模式通过 ESC 切换到普通模式底行模式和插入模式不能互通
下面的字符 n 表示一个具体的数字 比如说 8 12 123等
vim命令模式命令
移动光标相关
「k」光标上移「j」光标下移「h」光标左移「l」光标右移「$」移动到光标所在行的行尾「^」移动到光标所在行的行首「gg」移动到文本开始「Shiftg」/「G」移动到文本末尾「nShiftg」/「nG」移动到第n行行首「nEnter」当前光标向下移动n行「w」光标从左到右从上到下的跳到下一个字的开头「e」光标从左到右从上到下的跳到下一个字的结尾「b」光标从右到左从下到上的跳到上一个字的开头
删除相关
「x」删除光标所在位置的字符「nx」删除光标所在位置开始往后的n个字符「X」删除光标所在位置的前一个字符「nX」删除光标所在位置的前n个字符「dd」删除光标所在行 「ndd」删除光标所在行开始往下的n行
复制粘贴相关
「yy」复制光标所在行到缓冲区「nyy」复制光标所在行开始往下的n行到缓冲区「yw」将光标所在位置开始到字尾的字符复制到缓冲区「nyw」将光标所在位置开始往后的n个字复制到缓冲区「p」将已复制的内容在光标的下一行粘贴上「np」将已复制的内容在光标的下一行粘贴n次
剪切
「dd」剪切光标所在行「ndd」剪切光标所在行开始往下的n行「p」将已剪切的内容在光标的下一行粘贴上「np」将已剪切的内容在光标的下一行粘贴n次
撤销
「u」撤销「Ctrlr」撤销刚刚的撤销
大小写切换
「~」完成光标所在位置字符的大小写切换「n~」完成光标所在位置开始往后的n个字符的大小写切换
替换
「r」替换光标所在位置的字符「R」替换光标所到位置的字符直到按下「Esc」键为止
更改
「cw」将光标所在位置开始到字尾的字符删除并进入插入模式「cnw」将光标所在位置开始往后的n个字删除并进入插入模式
翻页
「Ctrlb」上翻一页「Ctrlf」下翻一页「Ctrlu」上翻半页「Ctrld」下翻半页
vim底行模式命令
行号设置
「set nu」显示行号「set nonu」取消显示行号
保存退出
「w」保存文件「q」退出vim「q!」强制退出「wq」保存退出
分屏指令
「vs 文件名」实现多文件的编辑「Ctrlww」光标在多屏幕下进行切换
执行指令
「!指令」在不退出vim的情况下 可以在指令前面加上「!」就可以执行Linux的指令 例如查看目录 编译当前代码等
gcc / g
gcc / g的作用 gcc和g分别是GNU的C和C的编译器 语言从源文件到可执行指令要分为以下四个步骤
预处理 去除注释 头文件展开 宏替换 条件编译编译 将c/c 代码翻译成汇编代码汇编 将汇编代码转化为二进制语言链接 将汇编过程产生的二进制语言进行连接
gcc / g语法
gcc/g 选项 文件
-E 只进行预处理 不生成文件 你需要把他重定向到一个输出文件里面否则将把预处理后的结果打印到屏幕上-S 编译到汇编语言-c 编译到目标代码二进制文件-o 将处理结果输出到指定文件 该选项后需紧跟输出文件名-static 此选项对生成的文件采用静态链接-shared 此选项将尽量使用动态库生成文件较小-g 生成调试信息若不携带该选项则默认生成release版本-w 不生成任何警告信息Wall 生成所有警告信息-O0/-O1/-O2/-O3 编译器优化选项的四个级别 -O0表示没有优化 -O1为缺省值 -O3优化级别最高
gcc -E xxx.c -o xxx.i
gcc -S .s
gcc -c .o
预处理
预处理的作用包括下面四个
去除注释头文件展开宏替换条件编译gcc -E test.c -o test.i 编译
编译的作用包括下面两个
检查代码语法是否有错误将代码翻译成汇编语言
代码如下 gcc -S test.i -o test.s 汇编
汇编的作用主要有一个
将汇编语言翻译成二进制语言
代码如下 gcc -c test.s -o test.o 链接
链接的作用主要有一个
将生成的 .o文件二进制文件 进行链接
代码如下 gcc test.o -o testhv 动态库和静态库
函数库一般分为静态库和动态库两种
静态库是指编译链接时 把库文件的代码全部加入到可执行文件当中 因此生成的文件比较大 但在运行时也就不再需要库文件了 静态库一般以.a为后缀动态库与之相反 在编译链接时并没有把库文件的代码加入到可执行文件当中 而是在程序运行时由链接文件加载库 这样可以节省系统的开销 动态库一般以.so为后缀
动态链接
优点省空间 bin体积小 加载速度快缺点依赖动态库 程序可移植性较差
静态链接
优点不依赖第三方库 程序的可移植性较高缺点浪费空间
我们的gcc/g编译器默认使用的是动态链接
我们可以使用file指令查看 使用ldd指令来查看可执行文件所依赖的库 其中的 /lib64/libc.so.6就是c语言标准库
我们可以使用 -static指令来强制进行静态链接
gdb
debug和release
我们在C语言的学习阶段就知道了程序有两种发布版本
分别是 release 和 debug
debug版本程序本身会被加入更多的调试信息 以便于进行调试release版本不会添加任何调试信息 是不可调试的
我们在linux中默认生成的文件都是release版本的 是不可以使用gbd调试的
如果我们想要它可被调试则需加入debug信息
具体指令如下 gcc test.c -o test -g
gdb指令
【进入gdb】
gdb 文件名
【调试】
「run/r」运行代码启动调试「next/n」逐过程调试「step/s」逐语句调试「until 行号」跳转至指定行「finish」执行完当前正在调用的函数后停下来「continue/c」运行到下一个断点处「set var 变量x」修改变量的值为x 不常用
【显示】
「list/l n」显示从第n行开始的源代码 每次显示10行 若n未给出则默认从上次的位置往下显示「list/l 函数名」显示该函数的源代码「print/p 变量」打印变量的值「print/p 变量」打印变量的地址「print/p 表达式」打印表达式的值 通过表达式可以修改变量的值「display 变量」将变量加入常显示每次停下来都显示它的值「display 变量」将变量的地址加入常显示「undisplay 编号」取消指定编号变量的常显示「bt」查看各级函数调用及参数「info/i locals」查看当前栈帧当中局部变量的值
【断点】
「break/b n」在第n行设置断点「break/b 函数名」在某函数体内第一行设置断点「info breakpoint/b」查看已打断点信息「delete/d 编号」删除指定编号的断点「disable 编号」禁用指定编号的断点「enable 编号」启用指定编号的断点
【退出gdb】
「quit/q」退出gdb