• Linux 【进度条,yum,git】


    目录

    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
    2. 2 #include
    3. 3 #include
    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即可
  • 相关阅读:
    vue 设置定时器在某个时间段执行
    四、肺癌检测-数据集准备 dsets.py文件
    Pytorch 入门
    视野修炼-技术周刊第55期
    树莓集团:与生俱来的产教融合、校企合作体制机制
    Linux MMC子系统 - 2.eMMC 5.1总线协议浅析
    3.1.OpenCV技能树--二值图像处理--阈值
    滑块视图的实现
    Python 字节码介绍
    新版本!飞凌嵌入式RK3568系列开发板全面支持Debian 11系统
  • 原文地址:https://blog.csdn.net/weixin_63543274/article/details/126076567