<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>CLI on 杨刚的个人网站</title>
    <link>https://www.ygang.top/posts/2d3150b2/a56b86e6/</link>
    <description>Recent content in CLI on 杨刚的个人网站</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <copyright>Copyright © 2018-2025 GradyYoung. All rights reserved.</copyright>
    <lastBuildDate>Thu, 22 May 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://www.ygang.top/posts/2d3150b2/a56b86e6/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>1、Cobra</title>
      <link>https://www.ygang.top/posts/2d3150b2/a56b86e6/eaa2cb74/</link>
      <pubDate>Thu, 22 May 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/2d3150b2/a56b86e6/eaa2cb74/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;Cobra 基础概念 
    &lt;div id=&#34;cobra-基础概念&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#cobra-%e5%9f%ba%e7%a1%80%e6%a6%82%e5%bf%b5&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;Cobra 是一个可以创建强大的现代 CLI 应用程序的库，它还提供了一个可以生成应用和命令文件的程序的命令行工具：&lt;code&gt;cobra-cli&lt;/code&gt;。有许多大型项目都是用 cobra 来构建他们的应用程序，例如：kubernetes、Docker、Etcd、Rkt、Hugo 等。Cobra 具有很多特性，一些核心特性如下：&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>2、processbar</title>
      <link>https://www.ygang.top/posts/2d3150b2/a56b86e6/d27b85e5/</link>
      <pubDate>Thu, 22 May 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/2d3150b2/a56b86e6/d27b85e5/</guid>
      <description>&lt;p&gt;在开发命令行工具的时候，会遇到一些耗时的操作，比如下载一个大文件，这时候如果能给用户一个进度提示，会显得比较友好，因为用户知道自己还要等多久可以，就可以下载好这个文件。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>3、bubbletea</title>
      <link>https://www.ygang.top/posts/2d3150b2/a56b86e6/8fd52d27/</link>
      <pubDate>Thu, 22 May 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/2d3150b2/a56b86e6/8fd52d27/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;TUI 
    &lt;div id=&#34;tui&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#tui&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;

&lt;h3 class=&#34;relative group&#34;&gt;TUI和CLI的定义和区别 
    &lt;div id=&#34;tui和cli的定义和区别&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#tui%e5%92%8ccli%e7%9a%84%e5%ae%9a%e4%b9%89%e5%92%8c%e5%8c%ba%e5%88%ab&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;‌**TUI（Text-based User Interface）**‌：TUI是通过文本实现交互窗口展示内容，用户通过键盘输入命令进行操作。它提供字符图形界面，使得任务执行更加友好‌。&lt;/li&gt;
&lt;li&gt;‌**CLI（Command Line Interface）**‌：CLI是一种通过命令行解释器与计算机进行交互的用户界面。用户通过输入命令和参数来执行系统提供的各种功能。CLI通常通过终端或控制台访问，具有高度灵活性和资源效率‌。&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class=&#34;relative group&#34;&gt;TUI和CLI的关系 
    &lt;div id=&#34;tui和cli的关系&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#tui%e5%92%8ccli%e7%9a%84%e5%85%b3%e7%b3%bb&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;‌&lt;strong&gt;互补关系&lt;/strong&gt;‌：TUI和CLI在Linux系统中相互补充，共同提供不同的交互方式。TUI通过字符图形界面简化操作，而CLI则通过命令行提供更高的灵活性和控制能力。&lt;/li&gt;
&lt;li&gt;‌&lt;strong&gt;应用场景&lt;/strong&gt;‌：TUI适用于需要字符图形界面的任务，如文件管理、简单的系统监控等；而CLI则适用于系统管理和配置、自动化脚本编写等需要高度控制和灵活性的任务‌。&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class=&#34;relative group&#34;&gt;bubbletea 
    &lt;div id=&#34;bubbletea&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#bubbletea&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;bubbletea&lt;/code&gt;是一个简单、小巧、可以非常方便地用来编写 TUI（terminal User Interface，控制台界面程序）程序的框架。内置简单的事件处理机制，可以对外部事件做出响应，如键盘按键。&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
