Linux环境下的基础开发工具 -- 包管理器,vim,gcc/g++,make/makefile,git,gdb/cgdb

目录

1.软件包管理器

1.1Linux下的安装方式

1.2什么是软件包

1.3软件包由谁提供

1.4查看软件包

1.5Ubuntu下如何安装卸载软件 

1.6更改镜像源

2.Linux编辑器 -- vim

2.1vim的基本概念

2.2vim的基本操作

2.3vim正常模式命令集

2.4vim底行模式命令集

2.5简单vim配置

2.6 参考资料

3.Linux编译器 -- gcc/g++

3.1gcc命令

3.1.1预处理

3.1.2编译

3.1.3汇编

3.1.4链接

3.2初步了解函数库

4.Linux项目自动化构建工具 -- make/Makefile

4.1make/Makefile是什么

4.2依赖关系和依赖方法

4.3实例介绍 

4.3.1 Access time/Modify time/Change time

 4.4makefile中的一些语法介绍

4.4.1用于编译链接C语言代码的makefile文件的一种版本

5.Linux第一个小程序 -- 进度条

5.1回车和换行

5.2简单了解缓冲区

5.3Base版本的进度条 -- 倒计时程序

5.4进度条实现

5.4.1makefile

5.4.2process.h 

5.4.3process.c

5.4.4main.c

 6.版本控制器Git的简单介绍以及基础操作

6.1版本控制器

6.2Git的基本操作

7.调试器 -- gdb/cgdb的使用

7.1gdb的进入和退出

7.2gdb常用的命令介绍

7.3watch

7.4条件断点


1.软件包管理器

1.1Linux下的安装方式

        1.源码安装 -- 把一个程序源代码拷贝到本地,然后进行编译,得到可执行程序。

        2.软件包安装(rpm) -- 把一些常用的软件提前编译好,做成软件包放在一个服务器上,获取到该软件包直接进行安装。

        3.通过包管理器进行安装(yum/apt(apt-get)) -- 一个软件能正常运行不仅仅需要该软件的软件包,还需要许多该文件需要的依赖包和依赖文件,缺失依赖包可能会带来依赖缺失以及版本兼容性的问题(比如该软件需要使用C++20的特性,但是本地只有C++11,所以这时就会产生版本兼容的问题),通过包管理器进行安装可以直接将一个软件所需的依赖包也进行安装,可以有效的解决依赖缺失和版本兼容的问题。

       安装的本质:(1)通过网络将需要安装的文件下载下来。(2)将下载下来的文件拷贝到系统对应的配置文件当中 -- Linux下的配置文件都在根目录下的子目录中,所以在Linux下进行安装的时候需要使用root权限。

1.2什么是软件包

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

        yum是Linux下非常常用的一种包管理器。主要应用在Fedora,RedHat,CentOS等发行版上。apt/apt-get主要应用在Ubuntu上。下面用apt进行介绍

        注:使用包管理器安装软件时,需要网络畅通。可以通过ping www.baidu.com进行网络是否畅通的验证。

1.3软件包由谁提供

        由对应发行版的社区提供,如www.centos.org。这种社区一般是放在云服务器上的。

        为什么我的操作系统能自己找到下载链接呢?因为操作系统在下载的时候就内置链接。Linux是外国人发明的,所以内置的链接基本上都是国外的生态,下载就会变慢。所以国内的厂商比如清华大学、阿里云等就把国外的软件包镜像到了国内,通过修改Linux中的镜像源,就能改变下载的下载链接。

1.4查看软件包

        通过yum/apt list命令可以罗列出当前一共有哪些软件包。由于包的数目可能非常多,这里我们可以使用grep命令只筛选出我们关注的包。例如:

apt list | grep lrzsz

        base -- 稳定软件源,epel -- 扩展软件源 -- CentOS系统下可以观察到。 

1.5Ubuntu下如何安装卸载软件 

        安装软件:

        语法:sudo apt/apt-get install 软件名

        例如:

sudo apt install sl

        卸载软件:

        语法:sudo apt/apt-get remove 软件名 

知识点1:

        如果在使用sudo对普通用户提权进行安装软件时出现如下报错: 

        使用su - 命令切换到root用户,然后 vim /etc/sudoers 打开这个文件, root    ALL(ALL:ALL) ALL 下面一行加上 [用户名] ALL(ALL:ALL) ALL.

1.6更改镜像源

        centOS下就是将/etc/yum.repos.d/中的下载链接进行更换。

        Ubuntu下就是将/etc/apt/sources.list中的下载链接进行更换。

        这里不做具体操作,可以在网上搜索对应镜像的链接然后进行修改,清空缓存并重新生成缓存即可。

2.Linux编辑器 -- vim

2.1vim的基本概念

        vim的三种模式(其实有很多种模式,目前介绍三种),分别是命名模式(command mode)、插入模式(insert mode)和底行模式(last line mode),各模式的功能区分如下:

        正常/普通/命令模式(Normal mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式或者底行模式。

        插入模式(Insert mode):只有在插入模式下才能进行文字输入,在命名模式下按i进入插入模式,按Esc可回到命令模式,该模式是用的最频繁的编辑模式。

        底行模式(Last line mode):文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下按shift + ;进入该模式,要查看所有模式:打开vim,底行模式下直接输入

        :help vim-modes

2.2vim的基本操作

        1.进入vim,输入 vim [文件名] [行号],就能进入vim全屏幕编辑画面。加行号可以使打开文件后直接将光标定位到对应行。

        2.[正常模式]切换至[插入模式]:输入 'a/i/o' 即可。 进入插入模式后会在底行显示如下字符串。

        3.[正常模式]切换至[底行模式]:输入'shift' + ';' ,底行会显示 ':' 。

        4.[正常模式]切换至[视图模式]:输入'shift' + 'v',底行会显示如下字符串。

        批量化注释:
                (1)ctrl + v:进入视图模式。

                (2)利用h,j,k,l,上下左右移动进行区域选择。[正常模式]下的命令也能用。

                (3)shift + i 进入插入模式,输入//,按Esc结束操作

        5. 从其他模式切换至[正常模式]:按Esc键。

        6.退出vim及保存文件,底行模式下输入以下字符:

                :w -- 保存当前文件

                :wq -- 保存当前文件并退出vim

                :q -- 不保存退出vim

                :q! -- 不保存强制退出vim

2.3vim正常模式命令集

        1.进入插入模式
                按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
                按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
                按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

        2.移动光标 -- 下面说的字就是单词的意思,单词就是字的意思
                vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、 「l」,分别控制光标左、下、上、右移一格。
                按「 $ 」:移动到光标所在行的“行尾”。
                按「^」:移动到光标所在行的“行首”。
                按「w」:光标跳到下个单词(特殊符号单独算一个单词如  ' ( '  ' \ '  )的开头。
                按「e」:光标如果在该单词非单词尾的位置,跳到该单词尾部位置,否则跳到下个单词的字尾。
                按「b」:光标回到上个单词的开头。
                按「#l」:光标向后移动#个位置,如:5l,56l。
                按[gg]:进入到文本开始。
                按[shift+g]:进入文本末端。
                按「ctrl」+「b」:屏幕往“上”移动一页。
                按「ctrl」+「f」:屏幕往“下”移动一页。
                按「ctrl」+「u」:屏幕往“上”移动半页。
                按「ctrl」+「d」:屏幕往“下”移动半页。
        3.删除或剪切文字
                [x]:每按一次,删除或剪切光标所在位置的一个字符。
                [#x]:例如,「6x」表示删除或剪切光标所在位置的“后面(包含自己在内)”6个字符。
                [X]:大写的X,每按一次,删除或剪切光标所在位置的“前面”一个字符。
                [#X[:例如,「20X」表示删除或剪切光标所在位置的“前面”20个字符。
                [dd]:剪切或者删除光标所在行。
                [#dd]:从光标所在行开始删除或剪切#行。
        4.复制
                [yw]:将光标所在之处到单词尾的字符串复制到缓冲区中。
                [#yw]:复制#个字到缓冲区。
                [yy]:复制光标所在行到缓冲区。
                [#yy]:例如,[6yy]表示拷贝从光标所在的该行“往下数”6行文字。
                [p]:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。如果是复制的行,则在粘贴时从光标的下一行开始。
        5.替换
                [r]:替换光标所在处的字符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值