Linux进度条小程序与git

简介: Linux进度条小程序与git

Linux进度条小程序

缓冲区问题

编译运行后发现延迟了两秒才出现数字,我们都知道程序中的代码执行是从上到下,sleep虽然是让系统休眠两秒,但为什么在printf函数的后方也能影响输出时间?

这是因为输入的内容先放进了缓冲区,没有显示出来,等程序结束了才刷新缓冲区显示出数据来。

如果想让这串数字立马显示出来可以这样写:

fflush(stdout)是立刻刷新缓冲区的意思,这里就会立刻将缓冲区的数字显示出来,然后等两秒钟这个程序才会结束。

这样也是可以的,因为后面的换行是放进行缓冲区,这会将包括 \n 之前的都立即刷新。

回车换行

其实回车和换行并不是一个东西:

回车:\r

换行:\n

回车换行:\r\n

回车是回到这一行的头部,换行是换到下一行,我们在按键盘上面按回车健其实是进行了回车换行,每一次回车都会换到下一行的开头去,你看键盘上面回车图标画的是先下,后左的箭头,就是先换行,后回车。

在语言层面 \n 就是回车换行,因为编译器对这里进行了特殊处理。

倒计时小程序

注意输出格式,2d是因为第一个输入的是10,计算机只知道1和0,认为是两个字符,所以后续的输入需要用2d才能完全覆盖掉第二个字符0

这样就完成了。

进度条程序

首先要清楚我们要将这个进度条设计成什么样子:

第一个[ ]中的是进度条,第二个[ ]中的是进度条百分比,第三个[ ]中的是读取进度条的时候总会有一个东西转来转去。

这次分三个文件,一个主函数文件,一个定义进度条函数的文件,一个头文件。

这里是makefile文件中的编译与清理操作。

然后来实现进度条的代码:

主要利用了缓冲区。

git

什么是git

我们使用软件的时候会发现软件都有各种版本,想象一下如果某一个软件更新之后还不如上一个版本,如果没有保留历史版本会是一个非常糟糕的情况,这个时候就需要历史版本和各种改进的版本,这样方便总结经验也方便发生更新不如上一个版本的情况。

那么全世界都有这种需要代码保留历史版本的情况,如果能够有一个专门负责管理个人或者某个公司项目的历史版本的软件就好了,这里叫做版本控制器,也就是现在的git。

那么为了更加方便不需要客户端只需要一个网站就能进行操作,也就是现在的gitee与github。

git的发展史

Linux之父——林纳斯·本纳第克特·托瓦兹,当时每天都会接受来自全国各地提交的代码,然后进行合并代码(也就是CV),因为这个工作很繁琐,所以就找到了一个版本控制器,但这个收费的,与Linux社区的理念不符合,但是这个公司的老板因为欣赏Linux这种开源行为所以就让Linux社区免费使用。

但是Linux社区的一些黑客和网络工程师因为好奇这个版本管理器就尝试破解这个版本控制器,结果被发现了,这个老板就不再让Linux社区免费实用了,最后林纳斯·本纳第克特·托瓦兹自己用2~3周写了一个版本控制器然后开源了。

这个版本控制器就是git

git的基本操作

创建仓库与本地仓库建立联系

我常用的是Gitee.

首先要在这里新建仓库。

复制这个之后,在你Linux机器上输入指令:

git clone 你的gitee网址

这个操作是把远端仓库拉过来。

输入上面的指令会让你输入gitee的账户和密码,输入正确之后成功拉取远端仓库。

进入自己的仓库看看都有什么:

.git是本地仓库,本质就是一个目录,目录的内容是.git+其他内容。

上传到远端仓库就是通过本地仓库同步到gitee中。

隐藏文件.gitignore的作用就很大了,凡是在这个文件中后缀所对应的文件都无法上传到gitee:

LICENSE是开源许可证。

最后两个是英文和中文的说明文档。

Linux中git提交代码的三板斧

注意:当你第一次安装git时会提示你配置你的用户名和邮箱。

将提示的内容复制粘贴然后该双引号中的内容就就可以了。

这里将上面写的进度条代码上传试一下:

首先在本地仓库添加一个新目录,将进度条代码放进这个目录中

添加:git add .

这个指令是将新增目录添加到本地仓库里(临时仓库)。

或者是你指定的文件。

提交:git commit -m ‘日志’

只是本地仓库有代码,远端并没有。

推送:git push

这里显示推送到远端成功了。

添加成功了。

git基础指令

查看当前状态:

git status

他能告诉你当前目录有哪些目录被修改过,哪些被重命名过,哪些没被管理等等:

提交之后就发生了变化。

最后进行推送,然后回到上级目录进行查看:

本地和远端的信息时同步的。

对仓库中的内容进行重命名

git mv 被更改文件的名字 更改之后的名字

这个是我之前推送了一个test文件

之后添加,提交,推进。

这里修改成功了。

同步远端和本地仓库数据

如果在远端仓库中修改了我们提交的内容,本地再想提交新内容的时候会发生冲突,这时候就要靠这一行命令解决问题:

git pull

这是git push之后的报错。

使用git pull之后也是一堆报错,不过这里退出就可以了。

然后再进行git push就可以了。

紫色地方是我再远端新加的内容。

删除远程仓库中的内容

git rm 你要删除文件名

然后提交,推送。

记录git使用的日志:

git log

越往上越靠近你最近操作的时间。

相关文章
|
3月前
|
Linux 开发工具 git
linux自建仓库git之钩子不生效
linux自建仓库git之钩子不生效
|
4月前
|
Linux 开发工具
linux下使用gcp拷贝数据的时候显示进度条
linux下使用gcp拷贝数据的时候显示进度条
34 2
|
4月前
|
存储 Linux 开发工具
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
|
5月前
|
小程序
【亲测有效】支持横竖屏 微信小程序video禁止进度条拖动,微信小程序遮罩进度条,
【亲测有效】支持横竖屏 微信小程序video禁止进度条拖动,微信小程序遮罩进度条,
94 1
【亲测有效】支持横竖屏 微信小程序video禁止进度条拖动,微信小程序遮罩进度条,
|
6月前
|
JavaScript Ubuntu Linux
蓝易云 - linux中安装nodejs,卸载nodejs,更新nodejs,git
请根据自己的Linux发行版和版本选择合适的命令。
226 2
|
6月前
|
Linux 测试技术 开发工具
CentOS Linux 8使用阿里源(安装jdk11、git测试)
CentOS Linux 8使用阿里源(安装jdk11、git测试)
595 1
|
6月前
|
Linux 开发工具 git
解决 Linux git push 贡献者不同(没有出现绿点)的问题
解决 Linux git push 贡献者不同(没有出现绿点)的问题
|
6月前
|
Linux
【make/Makefile】Linux下进度条的设计与实现
【make/Makefile】Linux下进度条的设计与实现
|
28天前
|
开发工具 git
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
|
21天前
|
机器学习/深度学习 Shell 网络安全
【Git】Git 命令参考手册
Git 命令参考手册的扩展部分,包含了从基础操作到高级功能的全面讲解。
29 3