dede怎么做商城网站,订制网站建设,台州企业网站搭建图片,网站界面设计规范文章目录 Linux 软件包管理器 yum什么是软件包关于rzsz查看软件包安装软件卸载软件安装扩展源 Linux 编辑器 vimvim的基本概念正常/普通/命令模式(Normal mode)插入模式(Insert mode)底行模式(last line mode) vim的基本操作[命令模式]切换至[插入模式][插入模式]切换至[命令模… 文章目录 Linux 软件包管理器 yum什么是软件包关于rzsz查看软件包安装软件卸载软件安装扩展源 Linux 编辑器 vimvim的基本概念正常/普通/命令模式(Normal mode)插入模式(Insert mode)底行模式(last line mode) vim的基本操作[命令模式]切换至[插入模式][插入模式]切换至[命令模式][命令模式]切换至[底行模式]退出vim vim命令模式底行模式 Linux 编译器 gcc/g默认编译预编译编译汇编链接动态库和静态库动态链接和静态链接的对比 Linux 项目自动化构建工具 make/makefileLinux 调试工具 gdbdebug和releasegdb指令 Linux 软件包管理器 yum
什么是软件包
在Linux下安装软件有三种方式源代码安装、rpm安装、yum安装。
源代码安装就是下载程序的源代码并进行编译得到可执行程序。
但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。
软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系。
yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上。
关于rzsz
这个工具用于Windows机器和远端的Linux机器通过XShell传输文件。
安装完毕之后可以通过拖拽的方式将文件上传过去。
注意关于yum的所有操作必须保证那个主机虚拟机网络畅通
可以通过ping指令验证
ping ww.baidu.com查看软件包
通过 yum list 命令可以罗列出当前一共有哪些软件包.。由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的包.。例如
yum list | grep lrzsz结果如下
注意
软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.“x86_64” 后缀表示64位系统的安装包, “i686” 后缀表示32位系统安装包. 选择包时要和系统匹配.“el7” 表示操作系统发行版的版本. “el7” 表示的是 centos7/redhat7. “el6” 表示 centos6/redhat6.最后一列, base 表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” 这样的概念.
安装软件
通过 yum, 我们可以通过很简单的一条命令完成 gcc 的安装
sudo yum install lrzszyum 会自动找到都有哪些软件包需要下载, 这时候敲 “y” 确认安装.
出现 “complete” 字样, 说明安装完成. 注意
安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错.
卸载软件
卸载命令
sudo yum remove lszrz安装扩展源
尽管yum已经为我们准备了很多软件但也有很多软件在yum上找不到所以yum还有一个扩展源是一些还没有进入yum的软件但是以后可能会进入yum但现阶段还不成熟。如果我们就是想要使用yum扩展源中的软件就需要我们先下载yum扩展源然后再按照之前的方法下载软件即可。
安装扩展源命令
yum install -y epel-releaseLinux 编辑器 vim
vim的基本概念
vim是一个多模式的编辑器本文主要介绍最常用的三种模式命令模式(Normal mode)、插入模式(Insert mode)和底行模式(last line mode)各模式的功能区分如下
正常/普通/命令模式(Normal mode)
控制屏幕光标的移动字符、字或行的删除移动复制某区段及进入Insert mode下或者到 last line mode
插入模式(Insert mode)
只有在Insert mode下才可以做文字输入按ESC键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
底行模式(last line mode)
文件保存或退出也可以进行文件替换找字符串列出行号等操作。 在命令模式下: 即可进入该模 式。
添加行号set nu
去除行号set nonu
要查看你的所有模式打开vim底行模式直接输入help vim-modes。
三种模式的相互切换 vim的基本操作
进入vim,在系统提示符号输入vim及文件名称后就进入vim全屏幕编辑画面。不过有一点要特别注意就是在进入vim之后是处于[命令模式]要切换到[插入模式]才能够输入文字。
[命令模式]切换至[插入模式]
输入a,i,o均可
[插入模式]切换至[命令模式]
目前处于[插入模式]就只能一直输入文字如果发现输错了字,想用光标键往回移动将该字删除可以先按一下ESC键转到[命令模式]再删除文字。当然也可以直接删除。
[命令模式]切换至[底行模式]
shift ;, 其实就是输入:
退出vim
在[底行模式]下
w保存当前文件
wq保存并退出vim
q不保存退出vim
q!/wq强制执行操作
vim命令模式
常用指令
指令含义gg定位光标到最开始行G定位光标到结尾行n G光标定位到任意行(n) yy赋值光标所在行和其下(n - 1)行(n) p粘贴n重复行到光标下一行(n) dd剪切/删除u撤销CTRL r反撤销$定位光标到当前行结尾^定位光标到当前行开始w/b光标按单词在行内/跨行移动h/j/k/l光标左下上右移动shift ~快速大小写切换(n) r对光标及之后位置进行批量替换(n) x对光标及之后位置的字符删除R批量替换模式(Esc退出)
底行模式
「/关键字」: 先按「/」键再输入您想寻找的字符如果第一次找的关键字不是想要的可以一直按「n」会往后寻找到想要的关键字为止。
「?关键字」先按「?」键再输入您想寻找的字符如果第一次找的关键字不是想要的可以一直按「n」会往前寻找到想要的关键字为止。
Linux 编译器 gcc/g
两种编译器的用法几乎相同区别在于gcc只能编译C语言g可以编译C语言和C。
以下介绍以gcc为例。
默认编译
使用gcc编译代码时需要使用指令
gcc test.c这样会生成一个a.out文件在当前目录下使用./a.out即可执行该程序。
因为gcc编译生成的文件默认文件名为a.out编译后生成可执行文件就可以使用相对路径执行该文件。
如果想为生成的文件命名需要添加-o [文件]选项。
预编译
编译过程分为预编译(进行宏替换)、编译(生成汇编代码)、汇编(生成二进制文件)、链接(生成可执行文件或库文件)四个过程。
预编译的作用
展开头文件条件编译宏替换去注释
所以经过预编译后的文件仍为C语言文件。
如果想得到预编译后的文件可以使用-E选项。同时使用-o [文件]选项来命名生成的文件。
gcc -E test.c -o test.i命名预编译后的文件没有硬性的规则不过一般我们把经过预编译后的文件命名为.i文件。
编译
编译过程将C/C文件转成汇编文件。
如果想得到编译后的文件可以使用-S选项。同时使用-o [文件]选项来命名生成的文件。
gcc -S test.i -o test.s我们一般将编译后的文件命名为.s文件。
需要注意的是我们可以对test.i编译也可以对test.c编译前者是直接编译后者是先预编译再编译生成的汇编文件没有区别。
汇编
汇编过程将汇编代码转换为二进制代码。
gcc -c test.s -o test.o汇编生成的文件称为可重定位目标二进制文件简称目标文件在Linux下后缀一般为.o在Windows下后缀为.obj。
目标文件还不能执行要想生成一个可执行程序还要进行最后一步链接。
链接
目标文件和库进行链接形成可执行程序。
库(库文件)提供给我们方法的实现如printf等。
C语言的标准库本质就是一个文件有自己的路径。
动态库和静态库
Linux下动态库后缀为.so静态库后缀为.a库的命名规则为libname.so.xxx其中name是区分不同库文件的部分其余部分相同。
Windows下动态库后缀为.dll静态库后缀为.lib。
链接分为动态链接和静态链接动态链接用到的库称为动态库静态链接用到的库称为静态库。
Linux下动态库的路径/lib64/libc.so静态库的路径/lib64/libc.a。
静态链接时在程序运行的过程中会到动态库中查找所需方法所以动态库不能缺失缺失后不致影响一个程序很多程序都无法正常运行在编译器使用静态库进行静态链接时将自己的方法拷贝到目标程序中该程序以后不再依赖库。
在Linux中编译形成的可执行程序默认采用动态链接如果要按照静态链接的方式进行编译需要加-static选项。
如果没有静态库使用-static会报错。
如果没有动态库有静态库而且编译器能找到也可以编译。
-static的本质改变优先级且只适配一次即一旦声明-static就不会再使用动态库。
查看文件链接的库以及链接方式的指令flie [文件]
动态链接和静态链接的对比
动态库时共享库有效的节省资源磁盘空间内存空间网络空间。但动态库一旦缺失各个程序都无法正常运行。
静态库不依赖库程序可以独立运行但程序体积大比较消耗资源。
Linux 项目自动化构建工具 make/makefile
一个工程中的源文件不计数其按类型、功能、模块分别放在若干个目录中makefile定义了一系列的规则来指定哪些文件需要先编译哪些文件需要后编译哪些文件需要重新编译甚至于进行更复杂的功能操作。
make是一条命令makefile是一个文件两个搭配使用完成项目自动化构建。
例如当我们写出一个C语言文件test.c
#include stdio.hint main()
{printf(Hello Linux\n);return 0;
}我们可以在同一目录下创建一个makefile文件并在其中写
test:test.cgcc -o test test.c.PHONY:clean
clean:rm -f test其中第一行和第五行叫做依赖关系第二行和第六行叫做依赖方法。
make是否执行比较可执行程序的最近修改时间和源文件的最近修改时间如果.exe新于.c则不执行make如果.exe老于.c则执行make。
而.PHONY:[文件]可以使该文件忽略时间总是被执行。
使用make时后面要加指令如make clean如果不加指令默认执行makefile中的第一条指令。
Linux 调试工具 gdb
debug和release
在Linux下编译生成的可执行程序默认是release版本无debug信息想要生成debug版本的可执行程序需要在编译时加-g选项。
readelf可以读取可执行程序文件的指令。
readelf -S [文件] | grep -i debug可以查看文件中有没有debug信息。
gdb指令
指令含义l [行号/函数名]查看代码r启动程序到断点停下b [行号/函数名]打断点info b查看断点d [断点编号]取消断点n逐过程调试s逐语句调试p [变量]查看变量值display [编号]常显示变量值undisplay取消常显示until [行号]跳转至x行finish直接结束当前函数c运行到下一个断点disable [编号]关闭断点enable [编号]打开断点 文章转载自: http://www.morning.gctgc.cn.gov.cn.gctgc.cn http://www.morning.smqjl.cn.gov.cn.smqjl.cn http://www.morning.rfhwc.cn.gov.cn.rfhwc.cn http://www.morning.ycwym.cn.gov.cn.ycwym.cn http://www.morning.cttgj.cn.gov.cn.cttgj.cn http://www.morning.rgsnk.cn.gov.cn.rgsnk.cn http://www.morning.bljcb.cn.gov.cn.bljcb.cn http://www.morning.elmtw.cn.gov.cn.elmtw.cn http://www.morning.sbqrm.cn.gov.cn.sbqrm.cn http://www.morning.cjmmn.cn.gov.cn.cjmmn.cn http://www.morning.lbrrn.cn.gov.cn.lbrrn.cn http://www.morning.jwbnm.cn.gov.cn.jwbnm.cn http://www.morning.kpqjr.cn.gov.cn.kpqjr.cn http://www.morning.rylr.cn.gov.cn.rylr.cn http://www.morning.jnoegg.com.gov.cn.jnoegg.com http://www.morning.fbfnk.cn.gov.cn.fbfnk.cn http://www.morning.syglx.cn.gov.cn.syglx.cn http://www.morning.nzklw.cn.gov.cn.nzklw.cn http://www.morning.dqxnd.cn.gov.cn.dqxnd.cn http://www.morning.qwdlj.cn.gov.cn.qwdlj.cn http://www.morning.sfwd.cn.gov.cn.sfwd.cn http://www.morning.hfyll.cn.gov.cn.hfyll.cn http://www.morning.frnjm.cn.gov.cn.frnjm.cn http://www.morning.zmzdx.cn.gov.cn.zmzdx.cn http://www.morning.jbtzx.cn.gov.cn.jbtzx.cn http://www.morning.brwnd.cn.gov.cn.brwnd.cn http://www.morning.mzzqs.cn.gov.cn.mzzqs.cn http://www.morning.pxrfm.cn.gov.cn.pxrfm.cn http://www.morning.tsflw.cn.gov.cn.tsflw.cn http://www.morning.zgpgl.cn.gov.cn.zgpgl.cn http://www.morning.brwwr.cn.gov.cn.brwwr.cn http://www.morning.bloao.com.gov.cn.bloao.com http://www.morning.smggx.cn.gov.cn.smggx.cn http://www.morning.yckrm.cn.gov.cn.yckrm.cn http://www.morning.tntbs.cn.gov.cn.tntbs.cn http://www.morning.zplzj.cn.gov.cn.zplzj.cn http://www.morning.trplf.cn.gov.cn.trplf.cn http://www.morning.rpth.cn.gov.cn.rpth.cn http://www.morning.jfcbs.cn.gov.cn.jfcbs.cn http://www.morning.zlchy.cn.gov.cn.zlchy.cn http://www.morning.khpgd.cn.gov.cn.khpgd.cn http://www.morning.rxnr.cn.gov.cn.rxnr.cn http://www.morning.dmzfz.cn.gov.cn.dmzfz.cn http://www.morning.pnmnl.cn.gov.cn.pnmnl.cn http://www.morning.jzfxk.cn.gov.cn.jzfxk.cn http://www.morning.mngh.cn.gov.cn.mngh.cn http://www.morning.brlcj.cn.gov.cn.brlcj.cn http://www.morning.mkczm.cn.gov.cn.mkczm.cn http://www.morning.knzmb.cn.gov.cn.knzmb.cn http://www.morning.pqryw.cn.gov.cn.pqryw.cn http://www.morning.sooong.com.gov.cn.sooong.com http://www.morning.zymgs.cn.gov.cn.zymgs.cn http://www.morning.gyxwh.cn.gov.cn.gyxwh.cn http://www.morning.skmpj.cn.gov.cn.skmpj.cn http://www.morning.dglszn.com.gov.cn.dglszn.com http://www.morning.kybyf.cn.gov.cn.kybyf.cn http://www.morning.gwxsk.cn.gov.cn.gwxsk.cn http://www.morning.stfdh.cn.gov.cn.stfdh.cn http://www.morning.prfrb.cn.gov.cn.prfrb.cn http://www.morning.rkyw.cn.gov.cn.rkyw.cn http://www.morning.dodoking.cn.gov.cn.dodoking.cn http://www.morning.hhfqk.cn.gov.cn.hhfqk.cn http://www.morning.dwxqf.cn.gov.cn.dwxqf.cn http://www.morning.tnjkg.cn.gov.cn.tnjkg.cn http://www.morning.qlpq.cn.gov.cn.qlpq.cn http://www.morning.mrfnj.cn.gov.cn.mrfnj.cn http://www.morning.trbxt.cn.gov.cn.trbxt.cn http://www.morning.gcxfh.cn.gov.cn.gcxfh.cn http://www.morning.flzqq.cn.gov.cn.flzqq.cn http://www.morning.wqtzs.cn.gov.cn.wqtzs.cn http://www.morning.dgxrz.cn.gov.cn.dgxrz.cn http://www.morning.rcww.cn.gov.cn.rcww.cn http://www.morning.ckxd.cn.gov.cn.ckxd.cn http://www.morning.mswkd.cn.gov.cn.mswkd.cn http://www.morning.rckdq.cn.gov.cn.rckdq.cn http://www.morning.gyrdn.cn.gov.cn.gyrdn.cn http://www.morning.nlryq.cn.gov.cn.nlryq.cn http://www.morning.rdxp.cn.gov.cn.rdxp.cn http://www.morning.ryywf.cn.gov.cn.ryywf.cn http://www.morning.nhbhc.cn.gov.cn.nhbhc.cn