当前位置:   article > 正文

Linux 【进度条,yum,git】_linux 查看正在下载的内容

linux 查看正在下载的内容

目录

1.缓冲区

1.2 \r 和 \n的区别

2.yum软件包管理器

3.git


1.缓冲区

有\n时,先打印Hello World,再睡眠1秒

当去掉\n,睡眠1秒,什么都没显示

打印其实已经执行完毕,只是信息没有被显示出来,程序退出时打印才显示

C语言提供了输出缓冲区(一段内存空间,操作系统从缓冲区读取数据),缓冲区会根据特定的刷新策略进行刷新:对于显示器设备,一般的刷新策略:行刷新(碰到\n,把\n之前字符全部显示)

fflush刷新缓冲区

再次执行,先显示Hello World,再睡眠1秒


1.2 \r 和 \n的区别

回车和换行并不是一个概念

换行\n:光标原先在哪个位置,对应向下新起一行

回车\r:回到当前行最开始

c语言默认把\n当成回车换行

使用\r,并没有刷新数据,最后也没有显示出来是因为每一次打印完都要回到最开始,最后一次光标也会在缓冲区的最开始,最终什么都没显示(原因在于:没有\n刷新,数据不会显示出来,最后return也没有显示是因为每一次打印完\r都要回到最开始,最后一次光标也会在缓冲区的最开始)

什么都没显示出来

加上fflush,形成了一个倒计时

利用/r写进度条

  1. 1 #include <stdio.h>
  2. 2 #include <unistd.h>
  3. 3 #include <string.h>
  4. 4
  5. 5 #define NUM 102//\0
  6. 6
  7. 7 int main()
  8. 8 {
  9. 9 char bar[NUM];
  10. 10 memset(bar,0,sizeof(bar));
  11. 11 const char* lable="|/—\\";
  12. 12 int j=0;
  13. 13 while(j<=100)
  14. 14 {
  15. 15 printf("[%-101s][%d%%] %c \r",bar,j,lable[j%4]);
  16. 16 bar[j++]='#';
  17. 17 fflush (stdout);
  18. 18 usleep(30000);
  19. 19 }
  20. 20 printf("\n");
  21. 21 return 0;
  22. 22 }


2.yum软件包管理器

yum可以解决依赖关系(前置,例如.dll就是)

yum源:配置文件  ls /etc/yum.repos.d

打开CentOS,内部是大量的链接(网站提供好软件包)

不同扩展源有不同的软件包

显示能下载的软件:yum list

指定名称搜索指令:yum list | grep 软件包名称

安装指令:yum install -y 软件包名称

卸载指令:sudo yum remove 软件包名称


3.git

Linux中如何把git仓库下载项目到本地

创建好一个放置代码的目录:git clone [你的git仓库链接]

其中.git就是git仓库,tree .git中文件需要100%同步到gitee账户中(内容同步过去并不是源代码同步)

将Linux写好的代码放到刚才下载好的本地目录中:git add .(.也可以换成新文件,使当前目录下没有添加到.git仓库中的全部添加到.git仓库中)

提交改动到本地仓库:git commit -m “提交日志”(-m必须带,后面必须写提交日志:主要做了哪些改动等)

add和commit区别是:add是放在预备提交文件区域中,commit是提交到本地仓库

仓库同步提交:git push

出现以下情况,需要配置user.name和user.email

 直接复制代码输入邮箱姓名即可

 成功上传到gitee上

git log可以查看提交记录

rejected

多人协作时,当git push失败时,使用git pull同步仓库新代码(本地.git仓库和gitee上仓库不一致造成),报错不用管,q退出即可

.gitignore

git add .可能会让临时文件,废弃文件等传到项目中,.gitignore 可以让这些废弃文件禁止添加进去

注意:需要在仓库创建时选择gitignore类型  ,例如*.d 表示所有.d结尾的文件不会被上传

 

删除文件
在本地删除git rm后add commit push即可
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号