【Linux】环境基础开发工具使用(万字汇总)

这篇具有很好参考价值的文章主要介绍了【Linux】环境基础开发工具使用(万字汇总)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🎇Linux:环境基础开发工具使用


  • 博客主页:一起去看日落吗
  • 分享博主的在Linux中学习到的知识和遇到的问题
  • 博主的能力有限,出现错误希望大家不吝赐教
  • 分享给大家一句我很喜欢的话: 看似不起波澜的日复一日,一定会在某一天让你看见坚持的意义,祝我们都能在鸡零狗碎里找到闪闪的快乐🌿🌞🐾。

【Linux】环境基础开发工具使用(万字汇总)

🐳1. Linux 软件包管理器 yum

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

这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件.
安装完毕之后可以通过拖拽的方式将文件上传过去.

注意事项:

关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!!
可以通过 ping 指令验证

ping www.baidu.com

【Linux】环境基础开发工具使用(万字汇总)

  • 查看软件包

**通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的包. **

例如:

yum list | grep lrzsz

结果如下:

【Linux】环境基础开发工具使用(万字汇总)

注意事项:

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

通过 yum, 我们可以通过很简单的一条命令完成 gcc 的安装.

sudo yum install lrzsz

yum 会自动找到都有哪些软件包需要下载, 这时候敲 "y" 确认安装.
出现 "complete" 字样, 说明安装完成.

注意事项:

  • 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
  • yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错.
  • 如果 yum 报错, 请自行百度.
  • 如何卸载软件

仍然是一条命令:

sudo yum remove lrzsz
  • 好玩的命令

行驶的小火车: 下载:yum install -y sl 执行:sl

【Linux】环境基础开发工具使用(万字汇总)

说话的牛:下载:yum install -y cowsay 执行:cowsay hello

【Linux】环境基础开发工具使用(万字汇总)


🐳2. Linux开发工具

  • 在以前,别人问你,你在什么环境下写代码 ?你在什么环境下调试代码?你在什么环境下编译、链接代码?你会怎么回答呢?
  • vs code 2020
  • 对于上面这种环境,我们称之为集成开发环境。相比我们在 Linux 中大部分情况下我们所使用的工具都是独立的工具 —— 比如我们写代码用 vim、编译用 gcc/g++、调试用 gdb、维护项目关系用 make/Makefile 等

【Linux】环境基础开发工具使用(万字汇总)


🐳3. Linux编辑器-vim使用

🐬3.1 vim的基本概念

vim是一个文本编辑器,和记事本没有区别,只负责写代码

🐬3.2 vim的安装

  • 已安装

Linux通常都已经默认安装好了 vi 或 Vim 文本编辑器,我们只需要通过vim命令就可以直接打开vim编辑器了

【Linux】环境基础开发工具使用(万字汇总)

  • 未安装

有些精简版的Linux操作系统,默认并没有安装vim编辑器。当我们在终端中输入vim命令时,系统会提示"command not found"。

解决办法:

有网的前提下,可以使用yum工具对vim编辑器进行安装

# 安装vim且询问是否时自动选择yes
# yum install vim -y

🐬3.3 vim的三种常用模式

vim是一款多模式的编辑器,有三种常见模式:命令模式、插入模式,底行模式。

【Linux】环境基础开发工具使用(万字汇总)

  • 命令模式:

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode,可以通过快捷键对文件内容进行复制、粘贴、删除等操作

  • 插入模式

在命令模式下输入小写字母a或小写字母i即可进入编辑模式,只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

  • 底行模式

在命令模式下输入冒号shift + :即可进入末行模式,可以在末行输入命令来对文件进行查找、替换、保存、退出等操作


🐬3.4 vim的基本操作

  • 进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:
  • $ vim test.c
  • 不过有一点要特别注意,就是你进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文字。
  • 命令模式 -> 插入模式(输入 a / i / 0)
  • 插入模式 -> 命令模式(ESC)
  • 命令模式 -> 底行模式(shift + :
  • 底行模式 -> 命令模式(ESC)
  • 退出vim及保存文件,在[命令模式]下,按一下「:」冒号键进入「Last line mode」:
  • :w (保存当前文件)
  • :wq (存盘并退出 vim)
  • : q! (不存盘强制退出 vim)

🐬3.5 vim正常模式命令集

  • 进入插入模式/底行模式
  • 按【i】切换进入插入模式后,是从光标当前位置开始输入文字
  • 按【a】进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字
  • 按【o】进入插入模式后,是插入新的一行,从行首开始输入文字
  • 按【:】进入底行模式
  • 移动光标

vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格

命令 效果
按「G」 移动到文章的最后
按「$ 」 移动到光标所在行的“行尾”
按「^」 移动到光标所在行的“行首”
按「w」 光标跳到下个字的开头
按「e」 光标跳到下个字的字尾
按「b」 光标回到上个字的开头
按「#l」 光标移到该行的第#个位置,如:5l,56l
按[gg] 进入到文本开始
按[shift+g] 进入文本末端
按「ctrl」+「b」 屏幕往“后”移动一页
按「ctrl」+「f」 屏幕往“前”移动一页
按「ctrl」+「u」 屏幕往“后”移动半页
按「ctrl」+「d」 屏幕往“前”移动半页
  • 删除文字
命令 效果
「x」 每按一次,删除光标所在位置的一个字符
「#x」 例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
「X」 大写的X,每按一次,删除光标所在位置的“前面”一个字符
「#X」 例如,「20X」表示删除光标所在位置的“前面”20个字符
「dd」 删除光标所在行
「#dd」 从光标所在行开始删除#行
  • 复制
命令 效果
「yw」 将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」 复制#个字到缓冲区
「yy」 复制光标所在行到缓冲区。
「#yy」 例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」 将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
  • 替换
命令 效果
「r」 替换光标所在处的字符。
「R」 替换光标所到之处的字符,直到按下「ESC」键为止。
  • 撤销上一次操作
命令 效果
「u」 如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
「ctrl + r」 撤销的恢复
  • 更改
命令 效果
「cw」 更改光标所在处的字到字尾处
「c#w」 例如,「c3w」表示更改3个字
  • 跳至指定行
命令 效果
「ctrl」+「g」 列出光标所在行的行号。
「#G」 例如,「15G」,表示移动光标至文章的第15行行首。

🐬3.6 vim底行模式命令集

  • 列出行号

「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。

  • 跳到文件中的某一行

「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行

  • 查找字符
命令 效果
「/关键字」 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
「?关键字」 先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」

问题:/ 和 ?查找有和区别?操作实验一下

/ 是从文本的开头开始往下查找,? 是从文本结尾开始往上查找。

  • 保存文件

「w」: 在冒号输入字母「w」就可以将文件保存起来

  • 离开vim
  • 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
  • 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

🐬3.7 配置vim

  • 不建议在root下面配置vim
  • 在目录 /etc/ 下,有个 .vimrc 的文件,这是系统中公共的 vim 配置文件,对所有用户都有效
  • 而在每个用户的主目录下,都可以建立自己私有的配置文件,命名为 .vimrc。例如,/root 目录下,通常已经存在一个 .vimrc 文件,如果不存在,则自己创建
  • 切换用户成为自己执行 su,进入自己的主工作目录执行 cd~
  • 打开自己目录下的 .vimrc 文件,执行 vim .vimrc

🐬3.8 sudo提升权限问题

  • 曾经我们在普通用户的操作中,想使用 sudo 来短期提升权限,却并不能如愿,这是因为默认这个用户是不受信任的

解决办法:

  • 切换成root
  • 输入指令:vim /etc/sudoers
  • 对应位置
  • 帮上面那行指令复制,把ALL改成自己的用户名

【Linux】环境基础开发工具使用(万字汇总)


🐳4. Linux编辑器-gcc/g++使用

  • 背景知识
    我们的 C 代码写完,要变成可执行程序需要四个阶段:
  1. 预处理(进行宏替换)
  2. 编译(生成汇编)
  3. 汇编(生成机器可识别代码)
  4. 连接(生成可执行文件或库文件)

🐬4.1 gcc如何使用

格式 :gcc [选项] 要编译的文件 [选项] [目标文件]

# 例如: 执行程序-> gcc code.c -o code

【Linux】环境基础开发工具使用(万字汇总)

🐬4.2 预处理(进行宏替换等)

  • 预处理功能主要包括宏定义,文件包含,条件编译,去注释等。
  • 预处理指令是以#号开头的代码行。

实例: gcc –E code.c –o code.i

  • 选项“-E”,该选项的作用是让 gcc 在预处理结束后停止编译过程
  • 选项“-o”是指目标文件,“.i”文件为已经过预处理的C原始程序

code.c

【Linux】环境基础开发工具使用(万字汇总)

code.i

【Linux】环境基础开发工具使用(万字汇总)

预处理之后还是C语言


🐬4.3 编译(生成汇编)

  • 在这个阶段中,gcc 首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,gcc 把代码翻译成汇编语言。
  • 用户可以使用“-S”选项来进行查看,该选项只进行编译而不进行汇编,生成汇编代码

实例: gcc –S code.i –o code.s

【Linux】环境基础开发工具使用(万字汇总)

code.s
【Linux】环境基础开发工具使用(万字汇总)

这是汇编语言,虽然我们没有学过但也需要大概知道是什么


🐬4.4 汇编(生成机器可识别代码)

  • 汇编阶段是把编译阶段生成的“.s”文件转成目标文件
  • 读者在此可使用选项“-c”就可看到汇编代码已转化为“.o”的二进制目标代码了

实例: gcc –c code.s –o code.o

code.o
【Linux】环境基础开发工具使用(万字汇总)


🐬4.5 连接(生成可执行文件或库文件)

  • 在成功编译之后,就进入了链接阶段。

实例: gcc code.o –o code

【Linux】环境基础开发工具使用(万字汇总)


🐬4.6 gcc选项汇总

  • E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面
  • S 编译到汇编语言不进行汇编和链接
  • c 编译到目标代码
  • o 文件输出到 文件
  • static 此选项对生成的文件采用静态链接
  • g 生成调试信息。GNU 调试器可利用该信息 。
  • shared 此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库.
  • O0
  • O1
  • O2
  • O3 编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
  • w 不生成任何警告信息。
  • Wall 生成所有警告信息。

为了方便记忆,我们可以看看键盘的左上角的 Esc 键,它刚好对应我们的 -E、-S、-c 选项;而生成的文件的后缀刚好对应镜象文件的后缀 .iso


🐬4.7 动态库和静态库

  • 在这里涉及到一个重要的概念:函数库

我们的C程序中,并没有定义“printf”的函数实现,且在预编译中包含的“stdio.h”中也只有该函数的声明,而没有定义函数的实现,那么,是在哪里实“printf”函数的呢?


最后的答案是:系统把这些函数实现都被做到名为 libc.so.6 的库文件中去了,在没有特别指定时,gcc 会到系统默认的搜索路径“/usr/lib”下进行查找,也就是链接到 libc.so.6 库函数中去,这样就能实现函数“printf”了,而这也就是链接的作用

  • 静态库和动态库
  • 静态库是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也就不再需要库文件了。其后缀名一般为“.a”
  • 动态库与之相反,在编译链接时并没有把库文件的代码加入到可执行文件中,而是在程序执行时由运行时链接文件加载库,这样可以节省系统的开销。动态库一般后缀名为“.so”,如前面所述的 libc.so.6 就是动态库。
  • gcc 在编译时默认使用动态库。完成了链接之后,gcc 就可以生成可执行文件,如下所示。
    gcc code.o –o code
  • gcc默认生成的二进制程序,是动态链接的,这点可以通过file 命令验证。
  • file code file 辨别code 的类型

【Linux】环境基础开发工具使用(万字汇总)

  • ldd code ldd 命令查看 mytest 所依赖的库

【Linux】环境基础开发工具使用(万字汇总)

若要采用静态链接,需要带选项

gcc code.c -o code_static -static

-static:表面使用静态链接的方式形成可执行程序

在新版本的 Linux 系统下一般都不会安装 libc.a,只会安装 libc.so,所以就使用不了 -static,解决方法就是安装 glibc-static

//安装指令
sudo yum install glibc-static   //c静态库
sudo yum install libstdc++-static  //c++静态库

【Linux】环境基础开发工具使用(万字汇总)

光是一个简单的程序,静态链接的大小就比动态链接高出 100 倍以上


🐳5. Linux调试器 —— gdb使用

🐬5.1 背景

  • 程序的发布方式有两种,debug模式和release模式
  • Linux gcc/g++出来的二进制程序,默认是release模式
  • 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上-g 选项
  • 当我们遇到一个程序不理解,我们就可以用到调试

【Linux】环境基础开发工具使用(万字汇总)

  • 首先我们先生成一个可执行程序,然后进行gdb
gdb text

【Linux】环境基础开发工具使用(万字汇总)

  • Linux 中默认生成的可执行程序是 release 版本的, 如果需要 debug 版本,就需要-g
gcc text2.c -o text_debug -g
gcc text2.c -o text_release

【Linux】环境基础开发工具使用(万字汇总)

  • Linux 中生成的可执行程序,它的二进制的格式是 elf 的,readelf 可以读取内部的格式:
readelf

【Linux】环境基础开发工具使用(万字汇总)

  • 选项 -S 查看可执行程序的分段情况
readelf -S text_debug | grep debug
readelf -S text_realease | grep debug

【Linux】环境基础开发工具使用(万字汇总)


🐬5.2 使用命令汇总

命令 效果
ctrl + d/D 或 quit/q 退出调试
list/l 行号(, 行号) 显示 binFile 源代码,显示的是当前行号周围的代码,可以利用另一个行号来指定一段区间
list/l 函数名 列出某个函数的源代码
r 或 run 运行程序
n 或 next 单条执行
s 或 step 进入函数调用
break(b) 行号 在某一行设置断点
break 函数名 在某个函数开头设置断点
info break/I b 查看断点信息
finish 执行到当前函数返回,然后停下等待命令
print§ 打印表达式的值,通过表达式可以修改变量的值或调用函数,类似于 p
p/P 变量 打印变量值
set var 修改变量的值
continue 或 c 从当前位置开始连续而非单步执行程序
delete breakpoints/d 或 d 删除所有断点
delete breakpoints n 或 d n 删除序号为 n 的断点
enable (breakpoints) 序号 启用断点,默认全启
disable 序号 禁用断点,默认全禁
display 变量名 跟踪查看一个变量,每次停下来都显示它的值
undisplay 取消对先前设置的那些变量的跟踪
until X 行号 跳至 X 行
breaktrace 或 bt 查看各级函数调用及参数
info (i) locals 查看当前栈帧局部变量的值
quit 退出 gdb

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

  • 背景
  • 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力
  • 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作
  • makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
  • make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。
  • make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建。
  • 依赖关系

其次我们再了解一下什么是 make,什么是 makefile:

  • make 是一条命令,它可以帮我们自动化构建项目
  • makefile 是一个文件,自动化构建项目的过程是它完成的
  • 这个文件里包含目标文件和原始文件的依赖关系和依赖方法。
  • 协助理解:

我是我老爸的儿子 ————依赖关系
老爸给我发生活费————依赖方法

  • 实例:

格式: 目标文件:依赖文件
「tab」依赖方法

【Linux】环境基础开发工具使用(万字汇总)

make直接编译代码:
【Linux】环境基础开发工具使用(万字汇总)

make clean 清理文件

【Linux】环境基础开发工具使用(万字汇总)

  • .PHONY
  • .PHONY 表示定义·伪目标·,它的意义是 make clean 时 clean 总是可执行的
  • 这个 clean 没有依赖关系,但有依赖方法
  • 执行make命令是没有效果的(底层是通过对比修改时间和可执行时间实现的),然而make clean 即便刚刚执行过,也可以随便执行。

make会根据你编写的依赖关系,从上往下自动推导程序的执行
make会在当前目录下找名字叫Makefile或makefile的文件。然后它会默认找文件中的第一个目标文件(target),并把这个文件作为最终的目标文件。

实例:
当我们连续make两次:
【Linux】环境基础开发工具使用(万字汇总)

只会执行一次,第二次不会执行

当我们连续make clean:
【Linux】环境基础开发工具使用(万字汇总)

因为含有伪命令,所以make clean 可以无限次执行,所以叫做总是可执行的

问题:makefile怎么知道我的可执行文件是最新的呢?

根据文件最近的更改时间来判断(比较源文件和生成文件时间)

【Linux】环境基础开发工具使用(万字汇总)

  • 原理:
    make是如何工作的,在默认的方式下,也就是我们只输入make命令。那么,
  1. make会在当前目录下找名字叫“Makefile”或“makefile”的文件。
  2. 如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“hello”这个文件,并把这个文件作为最终的目标文件。
  3. 如果hello文件不存在,或是hello所依赖的后面的hello.o文件的文件修改时间要比hello这个文件新(可以用touch 测试),那么,他就会执行后面所定义的命令来生成hello这个文件。
  4. 如果hello所依赖的hello.o文件不存在,那么make会在当前文件中找目标为hello.o文件的依赖性,如果找到则再根据那一个规则生成hello.o文件。(这有点像一个堆栈的过程)
  5. 当然,你的C文件和H文件是存在的啦,于是make会生成 hello.o 文件,然后再用 hello.o 文件声明
    make的终极任务,也就是执行文件hello了。
  6. 这就是整个make的依赖性,make会一层又一层地去找文件的依赖关系,直到最终编译出第一个目标文件。
  7. 在找寻的过程中,如果出现错误,比如最后被依赖的文件找不到,那么make就会直接退出,并报错,而对于所定义的命令的错误,或是编译不成功,make根本不理。
  8. make只管文件的依赖性,即,如果在我找了依赖关系之后,冒号后面的文件还是不在,那么对不起,我就不工作啦。

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

  • \r&&\n

我们需要了解两个概念:

回车\r:回到当前行的最开始
换行\n:列不变,新起一行

【Linux】环境基础开发工具使用(万字汇总)

  • 行缓冲区
#include <stdio.h>

int main()
{
     printf("hello Makefile!\n");//带\n
     sleep(3);
     return 0;
}

--------------------------------------------------------------------------------------
// 运行发现,sleep的过程中,并没有打印。
#include <stdio.h>
#include <unistd.h>

int main()
{
     printf("hello Makefile!");//没有\n
     sleep(3);
     return 0;
}

这是为什么呢?

这是顺序结构,那肯定是从上至下执行。那为什么没有打印呢?
其实这里 sleep 时,printf 已经执行了,也就是说,printf 已经执行了,并不代表信息会被我们看到。
printf不带\n在向显示器打印时,数据不会立即刷新,而是会暂时保存在用户C语言级别的缓冲区中(c语言给我们提供的一块内存),显示器的刷新策略就是行刷新,遇到\n即把之前的字符串全部显示出来。

解决方法:

fflush(stdout);
  • 进度条的实现:

不换行,从左至右变长,走完再换行

#include<stdio.h>
#include<unistd.h>
#include<string.h>

#define NUM 102  
 
int main()
{
	char bar[NUM];
	memset(bar,0,sizeof(bar));
	const char *lable="|/-\\";//旋转效果,防止程序卡住不知道
	int cut = 0;
	while(cut <= 100)
	{
		printf("[%-100s][%d%%] %c\r", bar, cut, lable[cut%4]);                                         
		fflush(stdout);
		usleep(200000);
		bar[cut++] = '#';          																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																					
	}
    printf("\n");
    return 0;
}

在 Linux 中 sleep 是以秒为单位,usleep 是以微秒为单位的。

【Linux】环境基础开发工具使用(万字汇总)


🐳8. 使用git命令行

  • 第一步:把本地仓库和gittee仓库同步
git clone +仓库链接

复制HTTPS链接
【Linux】环境基础开发工具使用(万字汇总)

【Linux】环境基础开发工具使用(万字汇总)

  • 第二步:进入本地仓库创建相应文件

【Linux】环境基础开发工具使用(万字汇总)

  • 第三步: 将代码放到本地的目录中

命令:git add 「文件名」

【Linux】环境基础开发工具使用(万字汇总)

这里用的"."代表把没有在本地目录中的代码都放到本地目录中
将需要用 git 管理的文件告知 git


  • 第四步:提交改动到本地
git commit -m "日志信息"//日志信息不可以随意写,防止合作项目的时候混乱

如果是第一次运行,还需要绑定自己的信息
【Linux】环境基础开发工具使用(万字汇总)

然后才能提交

【Linux】环境基础开发工具使用(万字汇总)


  • 第五步:同步到远端服务器上
git push

需要填入用户名密码. 同步成功后, 刷新 Github 页面就能看到代码改动了.

【Linux】环境基础开发工具使用(万字汇总)

完成啦,成功把自己的代码同步到gitee了
【Linux】环境基础开发工具使用(万字汇总)文章来源地址https://www.toymoban.com/news/detail-448995.html


到了这里,关于【Linux】环境基础开发工具使用(万字汇总)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】Linux环境基础开发工具的使用 ———(yum、vim、gcc&g++、gdb、make/Makefile、进度条 、git)

    (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是 Scort 🎓 🌍博客主页:张小姐的猫~江湖背景🌍 快上车🚘,握好方向盘跟我有一起打天下嘞! 送给自己的一句鸡汤🤔: 🔥集中起来的意志可以击穿顽石🔥 🙏作者水平很有限,如果发现错误,可在评论区指正,感谢🙏 🎉🎉欢迎持续关注!🎉🎉

    2024年01月16日
    浏览(53)
  • 【Linux环境基础开发工具】编辑器-vim

    vim是一个编辑器,是在Linux下编程的常用工具,如果要学习在Linux下的编程, 那学会使用vim是一个必修课,今天我就来讲解如何使用vim编辑器。 目录 写在前面 什么是vim vim的常用命令 (1)gg:定位光标到第一行第一个位置 (2)shift + g:定位光标到最后一行 (3)n + shift + g:

    2024年02月07日
    浏览(54)
  • 【Linux环境基础开发工具】编译器-gcc/g++

    上一篇博客, 我们学习了vim编辑工具,学会了怎么写代码, 这篇文章,我将分享代码该怎么编译的问题。 目录 写在前面: 1. gcc和g++介绍 2. gcc是如何编译程序的 1. 预处理 2. 编译 3. 汇编 4. 链接 3. gcc的选项介绍 4. 我们使用的函数是哪来的 5. 我们的.o文件和库是如何链接的?

    2024年02月10日
    浏览(50)
  • 【Linux环境基础开发工具】软件包管理器-yum

    今天我打算介绍如何在Linux环境下载软件, Linux作为一个操作系统,就像windows一样,当然是存在软件的。 目录 写在前面 怎么在Linux环境安装软件 源代码安装 rpm安装包安装 yum安装 如何理解Linux的生态 如何使用yum安装软件 如何更换yum源 总结: 写在最后: 一般来说,Linux下有

    2024年02月08日
    浏览(64)
  • Linux基础开发工具之Linux自动项目构建工具的使用

    目录 前言 1.make/makefile 1.1 依赖关系/依赖方法 2.原理 3.项目清理  4.make的执行问题  5.相关简单的符号介绍 总结   之前给大家介绍了我们在开发过程中所需要使用到的编辑器vim,以及编译器gcc/g++的使用,但是我相信大家在使用过程会发现我们在每次编写好一份代码时总是需

    2024年02月13日
    浏览(44)
  • 【Linux】基础开发工具使用 --- gcc

    目录 预处理 编译 汇编 链接 函数库 协助记忆 🧋GCC(GNU Compiler Collection)是由GNU开发的编程语言编译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。),说那么多就是一个编译器。平时写完的程序就是需

    2024年02月03日
    浏览(47)
  • linux中基础开发工具的使用

    1.linux中的软件包管理器 1.1什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很

    2024年02月02日
    浏览(64)
  • Linux之基础开发工具gdb调试器的使用(三)

    📘北尘_ :个人主页 🌎个人专栏 :《Linux操作系统》《经典算法试题 》《C++》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 yum install -y gdb 程序的发布方式有两种,debug模式和release模式 Linux gcc/g++出来的二进制程序,默认是release模式,release模式下无法调试 要使用gd

    2024年02月05日
    浏览(50)
  • Linux:基础开发工具之yum,vim,gcc的使用

    本篇主要总结的是Linux下开发工具 yum vim gcc/g++ 什么是yum? 不管是在手机移动端还是 pc 端,不管是什么操作系统,当用户想要下载一些内容或者工具的时候,都需要到一个特定的位置进行下载,例如在手机上,要下载一些应用的时候就可以去对应的应用商店下载 而在Linux系统

    2024年02月08日
    浏览(52)
  • 【Linux基础开发工具】yum生态&&vim的配置与使用

    目录 前言  1. Linux 软件包管理器 yum   1.1 什么是yum  1.2 快速上手yum  1.3 yum生态 2. Linux编辑器vim 2.1 vim的模式 2.2 vim使用技巧 3. vim编辑器辅助功能配置 3.1 配置  3.2 用户sudo权限配置  总结         Linux基础指令与权限之后,Linux系统开发工具的使用也至关重要,今天我将分享

    2024年02月04日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包