分类 分享 下的文章

Cobra 是go语言中用于创建 CLI 应用程序的库。
本身提供了一个快速创建 cli 应用的脚手架 cobra-cli

安装:

cobra:

go get -u github.com/spf13/cobra@latest

cobra-cli:

go install github.com/spf13/cobra-cli@latest

快速创建应用:

现在假设要创建一个名为test的cli程序,你可以使用一下步骤来创建

1. 初始化新的go模块:

go mod init test

2. 使用cobra-cli来快速创建应用模板

cobra-cli init

2.1 cobra-cli init 提供三个可选标志

--author

cobra-cli init --author "Steve Francia [email protected]"

--license

cobra-cli init --license apache

--viper

cobra-cli init --viper

使用 --viper 标志自动设置 viper
Viper 是 Cobra 的伴侣,旨在轻松处理环境变量和配置文件,并将它们无缝连接到应用程序标志。

3. 向项目添加命令

这个部分使用cobra-cli的add命令,例如:

cobra-cli add serve
cobra-cli add config
cobra-cli add create -p 'configCmd'
您会注意到,此最终命令具有 -p 标志。这用于将父命令分配给新添加的命令。在这种情况下,我们想将 “create” 命令分配给 “config” 命令。如果未指定,则所有命令的默认父级为 rootCmd。
默认情况下,cobra-cli 会将 Cmd 附加到提供的名称,并将此名称用作内部变量名称。指定父级时,请确保与代码中使用的变量名称匹配。
注意:命令名称使用 camelCase(而不是 snake_case/kebab-case)。否则,您将遇到错误。例如,cobra-cli add add-user 不正确,但 cobra-cli add addUser 有效。

最终在运行完这三个命令之后会在 cmd 文件夹中看到对应命令的go文件。这时可以参考官方文档来进行编写对应的代码。

参考:

  1. cobra github
  2.  Cobra 生成器README
  3. Cobra 用户指南

1. 安装gcc

  1. 搜索 gcc 包
    运行以下命令查看可用的 gcc 包:

    choco search gcc
  2. 安装 MinGW(推荐,包含 gcc)
    使用以下命令安装 MinGW:

    choco install mingw -y
  3. 验证安装

    • 打开新终端(如 PowerShell 或 CMD)。
    • 输入以下命令验证 gcc 是否可用:

      gcc --version

2. 配置环境变量

  1. 找到 MinGW 的安装路径
    默认路径通常是 C:\tools\mingw64
  2. 添加路径到系统环境变量

    • 搜索 环境变量,打开 编辑系统环境变量
    • 系统属性 > 高级 > 环境变量 中,找到 Path
    • 点击 编辑,添加 MinGW 的 bin 文件夹路径 C:\ProgramData\mingw64\mingw64\bin
  3. 保存并重启终端

3. 测试 gcc

编写一个简单的 C 文件(如 test.c):

#include <stdio.h>

int main() {
    printf("Hello, GCC!\n");
    return 0;
}

在终端运行以下命令进行编译:

gcc test.c -o test.exe

执行生成的 test.exe 文件:

test.exe

如果输出 Hello, GCC!,说明安装成功。

拉取镜像

docker pull mysql:latest
想要比较稳定的版本可以用5.7或者8.0 (或者8.4?) 比如mysql:5.7 或mysql:8.0

部署镜像

docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest  

docker run
启动一个新的 Docker 容器。

-p 端口映射
--name 为这个容器指定一个名称

-v 将当前工作目录挂载到容器内的目录 $PWD表示当前目录,可以根据需要自行修改

-e 设置环境变量

-d 以后台模式运行容器(detached mode),容器启动后不会阻塞当前的终端,会在后台运行。

mysql:latest 指定使用最新版本的 MySQL 官方镜像。如果没有本地镜像,Docker 会从 Docker Hub 拉取最新的 MySQL 镜像。

使用

由于 mysql 的安全策略,现在还不能使用 root/123456 来访问数据库
运行下面命令来进入容器

docker exec -it mymysql /bin/bash

这条命令的作用是在已经运行的容器内启动一个交互式 Bash Shell,让你直接进入容器内部进行操作。

docker exec exec 命令用于在一个已经处于运行状态的容器中执行新的命令。
-it

-i:交互式(interactive),让命令在前台保持对键盘输入的监听。
-t:伪终端(pseudo-TTY),为容器内的进程分配一个伪终端,方便进行命令行操作。

/bin/bash 指定要在容器中执行的命令,这里是 Bash Shell。执行后会打开一个终端会话环境,可以在容器内输入各种 Shell 命令。

之后运行以下命令进去mysql

mysql -uroot -p123456

-u 表示用户
-p 表示密码

创建root用户和权限授予

步骤 1:创建用户或修改用户密码

如果用户不存在,使用 CREATE USER 创建用户并设置密码

CREATE USER 'root'@'%' IDENTIFIED BY 'root';
CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'root';
CREATE USER 'root'@'localhost' IDENTIFIED BY 'root';

如果用户已存在,使用 ALTER USER 修改用户密码

ALTER USER 'root'@'%' IDENTIFIED BY 'root';
ALTER USER 'root'@'127.0.0.1' IDENTIFIED BY 'root';
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

步骤 2:授予权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

步骤 3:刷新权限(可选)

在 MySQL 8.0 及更高版本中,GRANT 语句会自动刷新权限,因此通常不需要手动执行 FLUSH PRIVILEGES;。但如果你进行了其他权限表的直接修改,可以使用:

FLUSH PRIVILEGES;

安装VMware

使用直链下载然后使用激活码的形式:
https://github.com/201853910/VMwareWorkstation
或者选择使用免费的个人授权:
https://www.cnblogs.com/EthanS/p/18211302

安装ubuntu

下载镜像:

https://ubuntu.com/download/desktop

安装

vmware新建虚拟机,选择使用下载的镜像
然后根据提示输入信息后会自动安装

使用

ping测试

ubuntu打开终端 安装 net-tools

sudo -i #切换到root用户
sudo apt update 
sudo apt install net-tools

安装完成之后运行:

ifconfig

找到网卡(第一串内容)找到inet的标识,后面跟着的就是ip地址
在windows下ping一下这个ip地址,如果可以ping通就表示成功了。

安装 SSH 服务

OpenSSH 是 Ubuntu 默认的 SSH 服务实现,可以使用以下命令安装:

sudo apt install openssh-server -y

安装完之后就可以通过ip来ssh连接虚拟机了

安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

设置开机自启

systemctl start docker
systemctl enable docker

配置镜像

https://cmd2.openbase.store/

(ps:太惨了,找个镜像需要找挺久)

安装docker-compose

sudo apt install docker-compose