Linux——进度条小程序|行缓冲区概念|使用 git 命令行

目录

1./r 和 /n

2.行缓冲区概念

3.使用 git 命令行

安装git

克隆到本地仓库

添加文件到仓库

提交到本地仓库

提交到远端仓库


1./r 和 /n

对于 /n 想必都不陌生,是换行的意思

而 /r 就是回车的意思 ,回到一行的开始

在C/C++中 \n通常都代表 回车+换行

Linux——进度条小程序|行缓冲区概念|使用 git 命令行_第1张图片

这就是为什么我们平时用的键盘上的箭头是这个样子

2.行缓冲区概念

下面看例子

Linux——进度条小程序|行缓冲区概念|使用 git 命令行_第2张图片Linux——进度条小程序|行缓冲区概念|使用 git 命令行_第3张图片

以上连个都能打出结果,但是当只有 \r的时候,却没有结果打印了

Linux——进度条小程序|行缓冲区概念|使用 git 命令行_第4张图片

加个休眠时间再去掉符号

Linux——进度条小程序|行缓冲区概念|使用 git 命令行_第5张图片

这里的结果虽然输出了,但并不是先输出的结果,而是先休眠三秒,才出现的结果,那么问题来了,按照函数的执行顺序,不应该是先输出结果吗?

这里是因为 hello world这个字符串没有刷新,在缓冲区中,只不过在带有\n的时候,系统会自动刷新

当我加入了一句刷新的语句后,结果就立马出现了

在加入\r

这里先是打印出了字符串,并且光标停在了最左边,然后就消失了,这是因为在打印了这些后,shell还要从光标出往后打印提示符,所以就覆盖了刚刚的字符串

基于上面的这个特性,我们可以写一个倒计时的代码

Linux——进度条小程序|行缓冲区概念|使用 git 命令行_第6张图片

两位的,这里%后的2表示预留两个字符的空间

Linux——进度条小程序|行缓冲区概念|使用 git 命令行_第7张图片

进度条代码

#include
#include 
#include 
int main()
{
 int i = 0;
 char bar[102];
 memset(bar, 0 ,sizeof(bar));
 const char *lable="|/-\\";
 while(i <= 100 ){
 printf("[%-100s][%d%%][%c]\r", bar, i, lable[i%4]);
 fflush(stdout);
 bar[i++] = '#';
 usleep(10000);
 }
 printf("\n");
 return 0;
}

3.使用 git 命令行

安装git
yum install git
克隆到本地仓库
git clone +链接

Linux——进度条小程序|行缓冲区概念|使用 git 命令行_第8张图片

添加文件到仓库
git add .

 这个 .  的作用是让这句添加当前目录下所有没有被添加的文件到仓库

提交到本地仓库
git commit -m "描述"

这里的描述不要随便写,写改了什么东西,越详细越好

提交到远端仓库

将git里不一样的地方提交到远端仓库

git push

你可能感兴趣的:(Linux笔记,linux,运维,服务器)