目录

一.Linux 软件包管理器 yum

1.什么是软件包

2.centos 7中安装形式

3.yum安装好处:

4.yum工具的常用选项

(1)yum list | grep sl

软件包信息介绍:

(2)sudo yum install sl ——安装软件

(3)sudo yum remove sl ——卸载软件

5.yum相关命令

二.Linux编辑器-vim

1.vim是什么?

2.为什么要学vim?

3.vim的三种模式

(1)底行模式下的操作

(2)三种模式转换关系

4.命令模式下的文本批量化操作:

5.批量化操作

(1)批量化注释-视图模式

(2)批量化替换

6.整个代码编译的流程

三.Linux编译器-gcc/g++使用

g++下载命令:sudo yum install -y gcc-c++

编译过程:

gcc test.c -o mytest 把文件编译后放进 mytest中

1.预处理

预处理,编译,汇编,链接

2.头文件和库文件

3.动态/静态链接

下载代码:

四.Linux调试器-gdb调试器 使用

1.gdb binFile 退出: ctrl + d 或 quit 调试命令:

(1)gcc hello.c -o hello_g -g 转为debug版本

(2)gdb hello_g 进行调试

(3)gdb下的list命令显示代码,简称 l

回车默认是继续执行上一条指令,l 0 后 多次回车就会显示全部代码

(4)b 15 - 打断点在第15行(breakpoint), info b- 显示断点信息

(5) d 1——1是第一个断点的断点序号 - 删除第几个断点(delete)

(6)r - 重新从头开始执行程序(run),会直接跳到第一个断点处, c - 从一个断点,之间跳转到另一个断点(continue) 相当于F5

(7)p 变量名 - 显示某变量的值

(8)display 变量名/&变量名 - 持续显示某变量的值/地址(相当于监视)

undisplay 序号 - 删除第几个变量名/&变量名

(9)n - 逐过程=F10(next),s - 逐语句=F11(step)进入函数

(10)until 行号 直接跳到第几行

(11)finish 完成当前函数并跳出

(12)bt——查看调用堆栈

五.Linux项目自动化构建工具-make/Makefifile

1.make与makefile:

2.makefile使用:

make的顺序

3..PHONY 解释

makefile是如何识别我的exe/bin文件是新的还是旧的呢? ?

4.gcc -o $@ $^

5.makeflie中编不过就加上 -std=c99

六.进度条小程序

1.缓冲区

2.回车\r vs换行

3.倒计时程序:

4.进度条(需要usleep)

七.git

1.git,gitee,github介绍

2.git历史

3.如何使用gitee?

(1)git pull同步文件

4.注意事项

b:配置一下你的用户名和邮箱,目的:让文件内容可追溯。

git log可以查看作者信息:

C. gitignore:黑名单


一.Linux 软件包管理器 yum

1.什么是软件包

在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安
装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.
yum(Yellow dog Updater, Modifified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat,
Centos等发行版上.

2.centos 7中安装形式

1.源码安装
2. rpm包安装
3.yum安装

3.yum安装好处:

1.不用编译源码
2.不用解决软件的依赖关系(此处作为了解)
如果我要知道我要安装什么软件,用yum可以很简单^

我们要安装别人的软件:
1.需要别人先把代码给我编译成为可执行程序
2.需要有人将编好的软件,放在用户能下载的地方(官网,应用软件市场)

Linux也是一样的!

手机安装示例:

yum安装示例:yum类似于手机上的应用市场APP,迅雷这些安装软件

4.yum工具的常用选项

install 表示安装软件包

list 列出所有可供安装的软件包

search 搜索包含指定关键字的软件包

remove 卸载指定的软件包

(1)yum list | grep sl

yum list:把yum包含的软件包都列出来。

yum list | grep sl :把yum包含的软件包中还有sl的软件包都列出来。

[zsh@ecs-78471 lesson6]$ yum list | grep sl
cyrus-sasl-lib.x86_64                    2.1.26-23.el7                 @anaconda
openssl.x86_64                           1:1.0.2k-24.el7_9             @updates
openssl-libs.x86_64                      1:1.0.2k-24.el7_9             @updates
python-slip.noarch                       0.4.0-4.el7                   @anaconda
python-slip-dbus.noarch                  0.4.0-4.el7                   @anaconda
rsyslog.x86_64                           8.24.0-57.el7_9.1             @updates
slang.x86_64                             2.2.4-11.el7                  @anaconda
NetworkManager-adsl.x86_64               1:1.18.8-2.el7_9              updates
NetworkManager-fortisslvpn.x86_64        1.2.8-7.el7                   epel
NetworkManager-fortisslvpn-gnome.x86_64  1.2.8-7.el7                   epel
aisleriot.x86_64                         1:3.22.2-1.el7                epel
anope-openssl.x86_64                     2.0.10-1.el7                  epel
apr-util-openssl.x86_64                  1.5.2-6.el7                   base
autocorr-sl.noarch                       1:5.3.6.1-25.el7_9            updates
batik-slideshow.noarch                   1.8-0.12.svn1230816.el7       base
bitten-slave.noarch                      1:0.6-3.el7                   epel
cgnslib.x86_64                           3.2.1-4.el7                   epel
cgnslib-devel.x86_64                     3.2.1-4.el7                   epel
cinnamon-translations.noarch             3.6.2-2.el7                   epel
csslint.noarch                           0.10.0-2.el7                  epel
cyrus-sasl.i686                          2.1.26-24.el7_9               updates
cyrus-sasl.x86_64                        2.1.26-24.el7_9               updates
cyrus-sasl-devel.i686                    2.1.26-24.el7_9               updates
cyrus-sasl-devel.x86_64                  2.1.26-24.el7_9               updates
cyrus-sasl-gs2.i686                      2.1.26-24.el7_9               updates
………………

软件包信息介绍:

lrzsz.x86_64         0.12.20-36.el7         @base
lrzsz软件包名称        x86:适用的平台        _64:64位        "el7" 表示的是 centos7
base 表示的是 "软件源" 的名称
注意事项:
软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
"x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配.
"el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.
最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念

(2)sudo yum install sl ——安装软件

或sudo yum install sl.x86_64 ——安装sl

需要安装的几个软件:

①sudo yum install sl

②sudo yum install -y lrzsz

③sudo yum install -y epel-release(准官方服务器列表)

④sudo yum install -y vim

(3)sudo yum remove sl ——卸载软件

sudo yum remove sl ——卸载sl这个软件

5.yum相关命令

yum makecache命令的功能是将服务器的软件包信息缓存到本地(yum工具在每次安装指定软件包的时候,都会检测源服务器上的软件包信息,为了便捷不用每次都去搜索软件包信息,因此使用 yum makecache将软件包信息缓存到本地,使用 yum clean all 清理老旧的缓存信息。)

yum search命令可以在所有软件包中搜索包含有指定关键字的软件包

yum clean all 命令可以清除缓存中老旧的头文件和软件包

yum -y update:升级所有包同时,也升级软件和系统内核;

yum -y upgrade:只升级所有包,不升级软件和系统内核,软件和内核保持原样。

二.Linux编辑器-vim

1.vim是什么?

是一个编辑器

(1)只能用来写代码
(2)功能强大的多模式的编辑器

2.为什么要学vim?

有时候,需要我们在生成环境下,需要你快速的定位问题,甚至需要你快速的修改代码!

3.vim的三种模式

(其实有好多模式,目前掌握这3种即可)
命令模式(command mode(或正常/普通/默认模式)
        功能:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
插 入模式(Insert mode)
        只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁 的编辑模式。
底行模式(last line mode)(或末行模式)
        文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入(退出shift+: q,保存并退出shift+: wq)
替换模式:shift+r切换到替换模式,再输入就会直接覆盖已写内容

(1)底行模式下的操作

在末行模式下,键入:wq 保存并退出编辑,就算没有修改也会写入,并修改文件时间属性

在末行模式下,键入:q! 强制退出编辑,但并不保存当前修改

在末行模式下,键入:x! 保存并退出编辑,仅当文件有修改时会保存,并修改文件时间属性

在编辑模式下,键入”ESC”键并非直接退出vi编辑,而是用于返回普通模式

(2)三种模式转换关系

命令模式——>插入模式
i:直接进入插入模式
a:从下一个字符进入插入模式
o:从下一行进入插入模式

温馨提示:任何模式想回到命令模式无脑esc

4.命令模式下的文本批量化操作:

yy:                         复制当前行,nyy——复制包括光标所在行的下面n行内容

p:                        粘贴到当前行的后面,np——粘贴n次已复制的内容

dd:                        剪切(删除)当前行,ndd——剪切包括光标所在行的下面n行内容
u:                        撤销刚刚的操作(相当于vs下的ctrl+z)
ctrl+r:                        针对u操作,再次进行撤销(相当于vs下的ctrl+y)
shift+g:(就是G)            光标快速定位到文本末尾
gg:                                快速的将光标定位到文本的最开始
n+shift+g:                  光标快速定位到文本的第n行
shift+4:(4就是$)           光标快速定位到文本行的末尾
shift+6: (^)               光标快速 定位到文本行的开始          $^:通常叫锚点
w,b:                        向后(w),向前(b)在一行以单词为单位进行光标移动
h,j,k,l:                          h左,j下,k上,l右(光标的移动上下左右移动)
shift + ~ (esc下面) :        ~ 大小写快速切换
r+输入字符:                 替换光标所在的字符为输入字符, 支持nr——(把包括光标在内的后n个字符替换为n个相同字符)
shift+r:(R)                   批量化替换(写一个就覆盖一个原有内容)
x:                                删除光标所在的字符,nx——删除包括光标在内的后n个字符

s+AAA+yyy+g                vim编辑器中,将字符AAA全部替换成yyy(g比较常用,通常使用g表示全部替换,默认如果不给的话,表示只替换一次)

结论:vim更适合处理大型项目或者文件。

5.批量化操作

(1)批量化注释-视图模式

Esc到命令模式下在下面操作

批量化注释:输入法小写情况下,ctrl+v,hjkl选中区域,切换输入法大写,输入i,再输入 //, 最后esc即可

去注释:命令模式下,小写,ctrl + v,hjkl选中区域(注释区域),注意l向右移动直到选中两列 /,d。相当于删除操作。

(2)批量化替换

6.整个代码编译的流程

vim编辑文件,cat读文件,gcc mytest.c 编译文件,生成a.out文件,./a.out执行文件即可。

三.Linux编译器-gcc/g++使用

g++下载命令:sudo yum install -y gcc-c++

gcc只能编译c语言,g++能编译c语言和c++

编译过程:

gcc test.c -o mytest 把文件编译后放进 mytest中

1.预处理

gcc -E test.c -o test.ivim test.i //进入test.i

-E:从现在开始给我进行程序的翻译,当预处理完成,就停下来!

-o test.i:把预处理后的结果放进test.i中

如何查看预处理过程:底行模式下输入vs test.i 进入预处理后的结果

预处理,编译,汇编,链接

-E -S -c 可记作 ESc ,文件后缀 .i .s. o 记作 iso

2.头文件和库文件

头文件: 给我们提供了可以使用的方法,所有的开发环境,具有语法提示,本质是通过头文件帮我们搜索的! (比如给我们提供了printf这个方法)
库文件:给我们提供了可以使用的方法的实现,以供链接,形成我们自己的可执行程序!(比如给我们提供了printf这个方法的底层实现)

3.动态/静态链接

动态链接:自己的可执行程序的执行方法直接去库中找方法对应的程序执行(不发生拷贝,只发生关联)

优点:大家共享一个库,可以节省资源
缺点:一旦库缺失,会导致几乎所有的程序失效!
动态库:libxxx.so

静态链接:把库中的方法代码,直接拷贝到自己的可执行程序中去(发生拷贝,exe最终与库无关)

优点:不依赖任何库,程序可以独立执行
缺点:浪费资源

静态库:libxxx.a

gcc. g+ +编译的时候默认的链接模式:动态链接 (若想转为静态链接-需要加上static)
gcc/g++发布软件的默认方式: release (若想转为debug-需要加上 -g选项)

默认 gcc test.c -o mytest 是动态链接,gcc test.c -o mytest -static 是静态链接

更推荐动态链接
默认一般而言,都没有自带静态库|

下载代码:

[root@ecs-78471 ~]# sudo yum install -y glibc-static[root@ecs-78471 ~]# sudo yum install -y libstdc++-static

四.Linux调试器-gdb调试器 使用

vim:编辑器。gcc/g++:编译器。gdb:调试器-只能调试debug方式发布的软件 必须加-g选项

常用选项

1.gdb binFile 退出: ctrl + d 或 quit 调试命令:

list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。[重要]
list/l 函数名:列出某个函数的源代码。
r或run:运行程序。[重要]
n 或 next:单条执行。[重要]
s或step:进入函数调用[重要]
break(b) 行号:在某一行设置断点[重要]
break 函数名:在某个函数开头设置断点
info break :查看断点信息。
fifinish:执行到当前函数返回,然后挺下来等待命令
print(p):打印表达式的值,通过表达式可以修改变量的值或者调用函数
p 变量:打印变量值。[重要]
set var:修改变量的值
continue(或c):从当前位置开始连续而非单步执行程序[重要]
run(或r):从开始连续而非单步执行程序
delete breakpoints:删除所有断点
delete breakpoints n:删除序号为n的断点[重要]
disable breakpoints:禁用断点
enable breakpoints:启用断点
info(或i) breakpoints:参看当前设置了哪些断点
display 变量名:跟踪查看一个变量,每次停下来都显示它的值
undisplay:取消对先前设置的那些变量的跟踪
until X行号:跳至X行
breaktrace(或bt):查看各级函数调用及参数
info(i) locals:查看当前栈帧局部变量的值
quit:退出gdb

(1)gcc hello.c -o hello_g -g 转为debug版本

①linux中默认生成的可执行程序是release版本,无法调试。直接gdb hello(默认形成的可执行程序无法调试)无法调试:

②debug版本比release版本大小要大,多出一些调试信息。

③gcc hello.c -o hello_g -g 中的-g是把release版本转为debug版本,debug版本可以调试。

c99就用:gcc hello.c -o hello_g -g -std=c99

(2)gdb hello_g 进行调试

(3)gdb下的list命令显示代码,简称 l

l 0:从第0行开始显示

回车默认是继续执行上一条指令,l 0 后 多次回车就会显示全部代码

(这个c语言代码是计算1~100相加,相加是5050)

(4)b 15 - 打断点在第15行(breakpoint), info b- 显示断点信息

(5) d 1——1是第一个断点的断点序号 - 删除第几个断点(delete)

(6)r - 重新从头开始执行程序(run),会直接跳到第一个断点处, c - 从一个断点,之间跳转到另一个断点(continue) 相当于F5

(7)p 变量名 - 显示某变量的值

p result:查看result这个变量的值;p &result:查看result这个变量的地址;

(8)display 变量名/&变量名 - 持续显示某变量的值/地址(相当于监视)

undisplay 序号 - 删除第几个变量名/&变量名

(9)n - 逐过程=F10(next),s - 逐语句=F11(step)进入函数

(10)until 行号 直接跳到第几行

(这里的1:res=5050 是之前的display长显示)

(11)finish 完成当前函数并跳出

(12)bt——查看调用堆栈

s进入函数AddToTop,调用堆栈 显示main现在走到17行了,AddToTop函数停在第5行,但未执行第5行

五.Linux项目自动化构建工具-make/Makefifile

1.make与makefile:

make是一个命令
makefile是一个文件

makefile:在当前路径下的一个普通文件
1.依赖关系(我是爸爸的儿子)
2.依赖方法(所以爸爸给我打钱) 达到打钱的目的

目的:形成可执行程序

(1)依赖关系: mytest -> mytest.c 
(2)依赖方法: gcc mytest.c -o mytest

2.makefile使用:

touch一个Makefile(大小写都可),编写Makefile

mytest: mytest.c                       ①行 是依赖关系,mytest是目标文件,mytest.c是依赖文件列表     
gcc mytest.c -o mytest          ②行 是依赖方法(以tab水平制表符起头,是tab的意思)
.PHONY:clean                               ③行 伪文件(下有解释)
clean:                                             ④行 是孤儿式的依赖关系
rm -f mytest                            ⑤行 是依赖方法

写好后,以后直接make就可以按照依赖关系和方法进行编译,编译出可执行文件mytest。

删除要在Makefile中写伪文件③④⑤行,然后直接make clean就可以删除,如果直接rm可能会导致删除源文件,不能直接rm。

make的顺序

当交换mytest和clean的先后顺序后:make默认只会形成第一个目标文件,执行该依赖关系的依赖方法,如果把clean放在前面,单独make就是执行clean

3..PHONY 解释

.PHONY:makefile语法格式中的一个关键字
clean被. PHONY修饰时,表明:总是被执行的
总是被执行的:无论目标文件是否新旧,照样直接执行依赖关系!

总是不被执行:如果文件已经执行过依赖方法,是新文件,makefile自动识别文件如果是最新文件,就不再执行依赖方法,因为这浪费时间浪费资源

建议把clean写成 总是被执行的 ,不建议把mytest设置成总是被执行,mytest设置成总是不被执行

总是不被执行 的示例:make生成可执行程序mytest一次以后,mytest是最新文件,makefile自动识别文件mytest是最新文件,再次make就不再生成mytest文件了,下面解释makefile如何自动识别的。

makefile是如何识别我的exe/bin文件是新的还是旧的呢? ?

先看补充内容

———————————————————————————————————————补充内容

stat mytest查看文件属性,linux下的文件通常有三个时间:

Access(访问时间):由于访问/修改内容/修改属性这些操作中,访问是最频繁的操作,如果每次访问或cat查看都修改访问时间的数据 效率低,所以linux内核设置的是积累一定的访问次数才会改变一次访问时间。
Modify(文件内容改变的时间):对文件内容修改,就会改变Modify时间

Change(文件属性改变时间):对文件属性修改,就会改变Change时间。对文件内容修改同时也会改变文件属性,则对文件内容修改,也会改变Change时间。

————————————————————————————————————————

现在回答:makefile是如何识别我的exe/bin文件是新的还是旧的呢? ?

答:根据对比源文件和可执行程序的最近修改时间(Modify),评估要不要重新生成。源文件mytest.c 的modify时间在未修改的情况下一定是比 可执行程序mytest 的modify时间早,如果makefile发现源文件mytest.c 的modify时间 早于 可执行程序mytest 的modify时间,说明mytest.c未被修改过,此时 可执行程序mytest 也是最新的,则不会再次生成可执行程序;如果makefile发现源文件mytest.c 的modify时间 后于 可执行程序mytest 的modify时间,说明mytest.c被修改过,此时 可执行程序mytest 是旧文件,则会再次生成可执行程序;

总是被执行的:无论目标文件是否新旧,照样直接执行依赖关系!

4.gcc -o $@ $^

mytest: mytest.c                     
gcc -o $@ $^               $@ 代表目标文件mytest,$^ 代表依赖文件列表 mytest.c 
.PHONY:clean                           
clean:                                           
rm -f mytest

5.makeflie中编不过就加上 -std=c99

myshell:myshell.cgcc -o $@ $^ -std=c99    //编不过就加-std=c99
.PHONY:clean
clean:rm -f myshell

六.进度条小程序

1.缓冲区

示例:

上面代码的现象:有\n时,会立马显示hello 104,然后睡眠2秒结束;无\n时,会先睡眠2秒,然后显示hello 104结束;无\n时,执行顺序依然是从上到下,printf hello 104 先执行了,只是hello 104 没立即显示在屏幕上。因为无\n时在睡眠2秒期间,hello 104 先存在了缓冲区中,所以没立即显示在屏幕上。为什么呢?

缓冲区的理解:就是一段内存空间。

刷新策略:行刷新。        解释:程序中的打印数据先存到缓冲区中,等暂满一行就立马将内存中的空间显示出来,怎么定义一行内容呢?规定:“hello world\n”  \n 之前包含\n称为 一行内容

所以结论就是:“hello world\n”是一行内容,会直接显示;“hello world”不是一行内容,会先存到缓冲区中,sleep完才显示。

不想用\n,就想让你的数据立马刷新!用flush(stdout)

2.回车\r vs换行

回车(\r):将光标回到当前行的最开始
换行:新起一行
\n:回车\r+换行

\n会刷新缓冲区,\r不会刷新缓冲区。

3.倒计时程序:

sleep的头文件 #include <unistd. h>

如果不写 fflush ,那么\r不会刷新缓冲区,屏幕上不会打印任何东西。

fflush(stdout) ; 作用是立即刷新缓冲区。

4.进度条(需要usleep)

usleep:1s=1000ms=100 0000 微秒 microsecond 例如:usleep(10000) 就是休眠10ms。

usleep的头文件也是 #include <unistd. h>

进度条总代码:

printf ("加载中: \033[46;34m%-100s\033 [0m[%d%%] [%c]\r", bar, cnt, lable[cnt%4]); 解释:

蓝色部分是进度条,橘黄色部分是加载值和转动光标,灰色是回车,其余部分都是颜色输出(格式如下)

七.git

1.git,gitee,github介绍

git是linux之父 雷纳斯托瓦兹 所写
什么是git:git是一个软件工具,版本控制器(类似于百度云盘):版本控制程序+网络(因为本地存储有丢失风险,所以网络 )

gitee,github基于git工具,搭建起来的网站

2.git历史

写git的作者和写linux操作系统的作者都是雷纳斯托瓦兹

3.如何使用gitee?

1. 建立gitee仓库
2. git clone
3. git add(git add *是添加所有文件,git add .是添加当前目录下未添加的文件)
4. git commit -m”写好你的日志”
5. git push

建立仓库

(1)git pull同步文件

如果在网页的gitee中修改了已提交文件的内容,远端和本地内容不相同,则下一次再提交新文件会出错,需要先把以前的文件同步,git pull同步文件

4.注意事项

a. sudo yum install -y git 下载git
b.第一次使用git的时候,可能会让你配置一下你的用户名和邮箱
C. gitignore:黑名单

b:配置一下你的用户名和邮箱,目的:让文件内容可追溯。

别人看不懂你的文件时,方便别人联系你。

git log可以查看作者信息:

C. gitignore:黑名单

gitignore中所写的带后缀文件不得提交,还可以自己写上哪些后缀文件是不可提交上去的

*代表所有文件,*.x意思是所有后缀.x 的文件不可提交

linux篇【3】:Linux 环境基础开发工具yum,vim,gcc,makefile,git相关推荐

  1. Linux——(二)环境基础开发工具(yum,vim,gcc,gdb,makefile,git)

    本节目录 总述 1. yum:软件包管理工具 1.1 软件包是什么? 1.2 软件包的操作 1.2.1 查看 1.2.2 安装 1.2.3 卸载 2. vim:linux编辑器 2.1 vim基本概念 ...

  2. 【Linux】基础:Linux环境基础开发工具——make与Makefile

    [Linux]题解:Linux环境基础开发工具--make与Makefile 摘要:Makefile是一个文件定义了一系列的规则来指定编译过程以及更复杂的功能操作,make是一个命令工具,是一个解ma ...

  3. 【Linux】Linux环境基础开发工具使用 —— yum | vim | gcc g++ | gdb | make makefile | 进度条 | git

    Linux环境基础开发工具使用 1. Linux软件包管理器yum 1.1 什么是软件包 1.2 软件安装三板斧 1.2.1 查看软件包 1.2.2 安装软件 1.2.3 卸载软件 2. vim 2. ...

  4. 2 Linux环境基础开发工具

    2 Linux环境基础开发工具 2.1 Linux软件包管理器yum 2.1.1 软件安装的方式 1. 源码安装 大多数开源的软件都是源码的形式.拿过来自己编译,安装. 优点:源码安装兼容性好. 缺点 ...

  5. Linux环境基础开发工具使用

    Linux开发工具 1.vim的基本概念 vim的常用模式 正常/普通/命令模式(command mode) 控制屏幕光标的移动,字符.字或行的删除,移动复制某区段及进入Insert mode下,或者 ...

  6. Linux环境基础开发工具使用(上)

    Linux 软件包管理器 yum 在linux中如何安装卸载软件呢? Linux下安装软件有3种方式: 1.源码安装(不方便) 2.rpm安装--rpm -vih(不方便) 3.可能存在大量软件之间的 ...

  7. Linux环境基础开发工具

    Linux 软件包管理器 yum 什么是软件包? 在Linux下安装软件, 一个通常的办法是 下载到程序的源代码, 并进行编译, 得到可执行程序 .但是这样太麻烦了, 于是有些人把一些常用的软件提前编 ...

  8. Linux3._Linux环境基础开发工具使用

    文章目录 @[toc] 1. Linux 软件包管理器 yum 2. Linux编辑器 - vim 使用 2.1 vim的基本概念 2.2 vim的基本操作 2.3 vim 正常模式命令集 2.4 v ...

  9. Linux篇【3】:Linux环境基础开发工具使用(中)

    目录 一.Linux 编译器:gcc/g++ 的使用 1.1.知识拓展: 1.2.如何安装 C/C++ 标准静态库: 1.3.头文件与库文件: 1.4.静态库,静态链接,动态库,动态链接: 二.简单 ...

最新文章

  1. 女朋友羞辱我一线程序员35岁后没出路?该回二线发展!我没忍住,吼她两句!我错了吗?...
  2. mybatis configuration的内容必须匹配问题
  3. 未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序...
  4. 安卓开发之Handler、HandlerThread学习篇
  5. 流式计算新贵Kafka Stream设计详解--转
  6. 西门子em235模块的功能_图文讲解PLC模拟量模块与传感器接线方法和注意事项
  7. Centos 7.4版本升级内核3.10+ 到4+过程
  8. 本地时间转utc时间_有关机器时间、UTC时间、本地时间的总结
  9. 图像局部特征(二)--Harris角点检测子
  10. 如何在matlab中建立水箱模型_水箱
  11. MTK车载平台添加或更换开机启动LOGO
  12. dedecms织梦 list列表页pagesize数量不对
  13. Matlab的数据导入和导出
  14. linux怎么查硬盘是否故障,怎么检查硬盘是否有问题
  15. 咽喉肿痛合谷穴照海穴
  16. Win11远程协助灰色无法勾选?Win11远程协助不能选择的解决方法
  17. win7制作ntp服务器,win7系统搭建ntp服务器的操作方法
  18. 报告称苹果应用商店逾千款应用存在漏洞
  19. 逻辑推理之赵钱孙李周
  20. python01串_python初学者日记01(字符串操作方法)

热门文章

  1. Windows和Manjaro Linux配置Kate作为Python等文本编辑器
  2. wince搜狗地图_搜狗地图API - Sogou Maps Service API
  3. react-native 调用原生module跳转第三方地图软件实现导航功能
  4. 北京大学CMA—让CMA考试更简单
  5. Java面试题收集(三)
  6. Spark Streaming 项目实战 (4) | 得到最近1小时广告点击量实时统计并写入到redis
  7. js上传视频方法及监控进度
  8. 一.树和二叉树的应用
  9. SpringBoot 之 Tomcat 与 Undertow 容器性能对比
  10. My Heart Will Go On--Art from Life