当前位置: 首页 > article >正文

Linux——进度条与git的使用

目录

main.c

Makefile

process.c

\r

process.h

进度条的演示动图 

git的使用

在gitee上创建一个仓库

 复制HTTPS到xshell

git clone

.gitignore

​编辑

 git add 

git commit -m '这里写日志信息'

git push 

sudo yum -y install git

git log

 git status

git mv / git rm


main.c

#include"process.h"
int main()
{
  ProncessOn();//函数调用 
  return 0;
}

Makefile

在Makefile中,直接使用  gcc -o ProcessOn main.c process.c 可以使用两个.c文件生成一个可执行文件。后面的  -DN=2是一个对N的给定值以便于修改我们想使用怎样的符号进行进度条的打印。

ProcessOn:main.c process.c
	gcc -o ProcessOn main.c process.c -DN=2
.PHONY:clean
clean:
	rm -f ProcessOn

process.c

\r

它可以将光标移动到当前行的行首,然后进行覆盖打印。

#include"process.h"

char style[S_NUM]={'-','.','#','>','+','<'};
//根据我们在Makefile中的选择可以使用不同符号打印进度条


void ProncessOn() //函数的定义
{
  int cnt=0;
  char bar[NUM];
  memset(bar,'\0',sizeof(bar));//将bar中sizeof(bar)大小的空间赋值为'\0'
  const char *lable="|/-\\";//存放变化的符号
  // 101次 -- 从0到100 
  while(cnt<=100)
  {
    printf("[%-100s][%d%%][%c]\r", bar,cnt,lable[cnt%4]);//打印进度条的关键语句
    fflush(stdout);//刷新缓冲区,因为我们在此使用的是\r
    bar[cnt++] = style[N];
    usleep(50000);//usleep()的单位是微秒 也就是一百万微秒等于1秒
    //在这里设置50000也就是每次sleep50000微秒
    //100次就是5秒,也就是五秒内把进度条打印完成。
  }
  printf("\n");
}

process.h

进行了函数的声明和头文件和宏定义的包含。

#pragma once

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


#define NUM 101 
#define S_NUM 6

extern void ProncessOn();//函数声明

进度条的演示动图 

 

git的使用

在gitee上创建一个仓库

 复制HTTPS到xshell

git clone

.gitignore

在我们创建完仓库后,在我们生成的目录里面有一个.gitignore文件,在它的文件中出现的后缀不会上传到gitee上,当然我们也可以自己编辑。

.gitignore中的内容 

 

 

 git add 

将克隆仓库的新增文件添加到暂存区。

git commit -m '这里写日志信息'

将暂存区文件添加至.git仓库中。

git push 

将.git仓库中新增文件上传到gitee。

这样就提交成功了。

sudo yum -y install git

安装Linux。

由于我已经安装过来,所以Linux提示我们已经是最新版本。 

git log

查看这个仓库提交的日志信息,记录了你在该仓库上的任何提交操作。

 git status

查看暂存区仓库文件的变化

由于此时我并没有进行新增或者删除,所以它显示nothing。

git mv / git rm

其实就是对应了linux中的改名/移动 和删除 


http://www.kler.cn/a/14031.html

相关文章:

  • 如何做好详细方案设计?
  • Jupyter Notebook的安装与使用
  • SNMP服务存在可读口令(CVE-1999-0516,CVE-1999-0517)​​​​​​​猜测出远程SNMP服务存在可登录的用户名口令
  • 信息收集(四)服务器信息收集
  • Python数据结构 - 字典
  • Qt5.12实战之多线程编程概念
  • 深度学习框架tensorflow
  • 基于Yolov5/Yolov7微小目标检测---上下文信息CAM,微小目标涨点明显
  • ChatGPT4 的体验 一站式 AI工具箱 -—Poe(使用教程)
  • c++11 标准模板(STL)(std::priority_queue)(一)
  • 招商银行fintech 2021年机试
  • 面向对象(一)--基础知识
  • MYSQL数据库为何使用B+树,而不使用红黑树,二叉树作为索引
  • Algo C++:课程介绍
  • 玄武科技面试题
  • day17_异常
  • 中国人民大学与加拿大女王大学金融硕士——学习的阶段让未来的人生更丰盈
  • Leetcode力扣秋招刷题路-0664
  • 【MySQL】索引事务
  • 电商系统架构设计系列(一):电商系统到底是如何设计出来的?