Linux浅谈缓冲区和git的使用

浅谈缓冲区

浅谈缓冲区,只是大概的提一下

🍐 缓冲区:本质上是一块内存空间,用来缓冲数据的

🍑 刷新:把数据真正写入磁盘 显示器 网络等设备或文件

🍊 缓冲区刷新策略:

1.直接刷新:比如有些错误需要尽快显示到屏幕上,就会直接刷新

2.行刷新:比如c语言里的\n就属于行刷新

3.全缓冲:缓冲区写满了就刷新

4.强制刷新:比如fflush

以下面代码说明一下行刷新:

1 #include<stdio.h>
  2 #include<unistd.h>
  3 
  4 
  5 int main()
  6 {
  7   printf("hello world\n");                                                                                                              
  8   sleep(5);
  9 
 10 
 11   return 0 ;
 12 }

观察下面的现象:
在这里插入图片描述

现象有\n时直接打印hello world 然后睡眠5s

没有\n睡了5s后才打印的hello world

原因:printf打印的数据放在缓冲区中,如果有\n就会触发缓冲区的行刷新,数据会被直接输出到屏幕上,而去掉\n后,数据一直在缓冲区中,直到睡了5s后缓冲区才被刷新,数据才被输出到屏幕

🍑小知识:回车指的是光标移到这一行的行首

换行指的是光标移到下一行(注意不会回到行首)

回车换行才是另起一行

C语言里的’\n’意思就是回车换行,’\r‘的意思是回车,就是光标回到行首,但是并不会换行

🍑思考:把’\n‘换成’\r’有什么现象?

答:换成’\r‘后hello world不会被输出 一直停在缓冲区里了,要让其显示需要fflush(stdout)

注释:stdout是C语言的一个文件指针,表示屏幕,fflush强制刷新缓冲区

man找不到库函数

sudo yum install man-pages

Linux小程序 进度条

#include<stdio.h>    
#include<unistd.h>    
#include<string.h>    
    
    
#define NUM 100    
int main()    
{    
  char bar[NUM+3];    
  memset(bar,0,sizeof(bar));    
  const char* lable="|/-\\";    
  int i=0;    
  while(i<=NUM)    
  {    
    //printf("\033[47;31mhello world\033[5m");  输出字体颜色     
    bar[i]='-';    
    bar[i+1]='>';    
    
    printf("[%-101s][%d%%][%c]\r",bar,i,lable[i%4]);  
    //使用了/r,必须强制刷新缓冲区,不然数据不会输出到屏幕,留在缓冲区了                                                                                  
    fflush(stdout); //强制刷新
    usleep(100000);    
    i++;    
  }    
  printf("\n");    
  return 0;    
}  
//想改变输出字体颜色的可以百度搜索"设定printf在终端输出的颜色"

效果演示:

在这里插入图片描述

git的使用

git --version: 查看当前git的版本

如果没有git的话,sudo yum install git

上传Linux文件到gitee

新建仓库->复制链接->git clone 链接名->往生成的目录里放上传的文件->git add 文件名 ->git commit -m “具体改动” ->git push

🍑0.新建仓库

在这里插入图片描述

🍑1.复制链接

在这里插入图片描述

🍑2.git clone 链接

此时在目录下会生成一个新的目录(目录名取决于链接)

新的目录里有隐藏文件 ls -al 看到隐藏文件并列出来,隐藏文件就是git的相关配置

在这里插入图片描述

把新生成的目录记为new_dir

🍑3.把要上传的文件复制到new_dir

cp命令拷贝要上传的文件到new_dir

🍑4. git add 要上传的目录/文件

linux里目录也看作文件

这一步的作用:把要管理的文件告知git

如 git add new_dir

.表示当前目录

在这里插入图片描述

🍑5.git commit -m "具体操作"

如 git commit -m “第一次提交测试”

没有修改过文件会报错

在这里插入图片描述

🍑6.git push

作用:同步到远端服务器上

这一步要输入自己gitee登录的账号和密码

简单来说,就是把代码传到 gitee 上
如果觉得输入麻烦的话 可以百度配置一下

在这里插入图片描述

成功后刷新网页就可以看到要刷新的文件

git三板斧

git add

git commit

git push

报错记录和解决

🍐在这里插入图片描述

解决:

找到.git下的config文件 在里面添加

[user]
name=gitee账号
email= 邮箱

在这里插入图片描述
在这里插入图片描述

🍐报错信息:Everything up-to-date

在git push 出现可能是git commit这一步有问题

🍐报错信息:On branch master
nothing to commit, working directory clean

可能是文件没修改

🍐报错信息:Everything up-to-date

在git push 出现可能是git commit这一步有问题

此外三板斧要按顺序进行,不然会报错

  • 13
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢乙醇的四氯化碳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值