From 90ff44b1ca0a73b856c2ba2171c16a0a4dfe587d Mon Sep 17 00:00:00 2001
From: 01Petard <1520394133@qq.com>
Date: Thu, 14 Nov 2024 12:21:14 +0800
Subject: [PATCH] =?UTF-8?q?doc:=201=E3=80=81=E5=A4=87=E4=BB=BD=E6=96=87?=
=?UTF-8?q?=E7=AB=A0=EF=BC=9B=202=E3=80=81=E5=88=A0=E9=99=A4=E6=B2=A1?=
=?UTF-8?q?=E7=94=A8=E7=9A=84=E6=96=87=E7=AB=A0=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
docs/.vitepress/config.js | 4 +-
docs/bigFrontEnd/css/css1.md | 5 -
docs/bigFrontEnd/css/css2.md | 5 -
docs/bigFrontEnd/css/index.md | 10 -
docs/bigFrontEnd/html/html1.md | 0
docs/bigFrontEnd/html/html2.md | 0
docs/bigFrontEnd/html/index.md | 6 -
docs/bigFrontEnd/js/index.md | 6 -
docs/bigFrontEnd/js/js1.md | 6 -
docs/bigFrontEnd/js/js2.md | 6 -
...41\346\201\257\345\267\245\345\205\267.md" | 518 +++++++++++++-----
...32\345\256\242\346\214\207\345\215\227.md" | 211 +++++++
pnpm-lock.yaml | 23 +-
13 files changed, 605 insertions(+), 195 deletions(-)
delete mode 100644 docs/bigFrontEnd/css/css1.md
delete mode 100644 docs/bigFrontEnd/css/css2.md
delete mode 100644 docs/bigFrontEnd/css/index.md
delete mode 100644 docs/bigFrontEnd/html/html1.md
delete mode 100644 docs/bigFrontEnd/html/html2.md
delete mode 100644 docs/bigFrontEnd/html/index.md
delete mode 100644 docs/bigFrontEnd/js/index.md
delete mode 100644 docs/bigFrontEnd/js/js1.md
delete mode 100644 docs/bigFrontEnd/js/js2.md
create mode 100644 "docs/\350\275\257\344\273\266/Linux/\345\234\250\346\234\215\345\212\241\345\231\250\344\270\212\351\203\250\347\275\262hexo\345\215\232\345\256\242\346\214\207\345\215\227.md"
diff --git a/docs/.vitepress/config.js b/docs/.vitepress/config.js
index f1d5257..de179ce 100644
--- a/docs/.vitepress/config.js
+++ b/docs/.vitepress/config.js
@@ -45,6 +45,7 @@ export default {
{
text: '软件',
items: [
+ {text: '软件', link: '/软件/index'},
{text: 'Linux', link: '/软件/Linux/index'},
{text: 'MacOS', link: '/软件/MacOS/index'},
{text: 'Windows', link: '/软件/Windows/index'},
@@ -144,6 +145,7 @@ export default {
collapsed: false,
items: [
{text: "命令行系统信息工具", link: "/软件/Linux/命令行系统信息工具"},
+ {text: "在服务器上部署hexo博客指南", link: "/软件/Linux/在服务器上部署hexo博客指南"},
{text: "Unix系统下的常用命令", link: "/软件/Linux/Unix系统下的常用命令"},
{text: "Linux常用命令", link: "/软件/Linux/Linux常用命令"},
{text: "CentOS7安装oh-my-zsh", link: "/软件/Linux/CentOS7安装oh-my-zsh"},
@@ -180,7 +182,7 @@ export default {
]
},
{
- text: "Python相关",
+ text: "Python",
collapsed: false,
items: [
{text: "人工智能十大算法", link: "/软件/Python/人工智能十大算法"},
diff --git a/docs/bigFrontEnd/css/css1.md b/docs/bigFrontEnd/css/css1.md
deleted file mode 100644
index 81103c0..0000000
--- a/docs/bigFrontEnd/css/css1.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: css1
----
-
-# css1
diff --git a/docs/bigFrontEnd/css/css2.md b/docs/bigFrontEnd/css/css2.md
deleted file mode 100644
index c52c9ef..0000000
--- a/docs/bigFrontEnd/css/css2.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: css2
----
-
-# css2
diff --git a/docs/bigFrontEnd/css/index.md b/docs/bigFrontEnd/css/index.md
deleted file mode 100644
index 1317d8e..0000000
--- a/docs/bigFrontEnd/css/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-hidden: true
----
-
-# css 专题
-
-## 目录
-
-- [css1](./css1.md)
-- [css2](./css2.md)
diff --git a/docs/bigFrontEnd/html/html1.md b/docs/bigFrontEnd/html/html1.md
deleted file mode 100644
index e69de29..0000000
diff --git a/docs/bigFrontEnd/html/html2.md b/docs/bigFrontEnd/html/html2.md
deleted file mode 100644
index e69de29..0000000
diff --git a/docs/bigFrontEnd/html/index.md b/docs/bigFrontEnd/html/index.md
deleted file mode 100644
index bc511aa..0000000
--- a/docs/bigFrontEnd/html/index.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# html 专题
-
-## 目录
-
-- [html1](./html1.md)
-- [html2](./html2.md)
diff --git a/docs/bigFrontEnd/js/index.md b/docs/bigFrontEnd/js/index.md
deleted file mode 100644
index d6c93cd..0000000
--- a/docs/bigFrontEnd/js/index.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# html 专题
-
-## 目录
-
-- [js1](./js1.md)
-- [js2](./js2.md)
diff --git a/docs/bigFrontEnd/js/js1.md b/docs/bigFrontEnd/js/js1.md
deleted file mode 100644
index 635c432..0000000
--- a/docs/bigFrontEnd/js/js1.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: js
-description: js
----
-
-### js
diff --git a/docs/bigFrontEnd/js/js2.md b/docs/bigFrontEnd/js/js2.md
deleted file mode 100644
index 635c432..0000000
--- a/docs/bigFrontEnd/js/js2.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: js
-description: js
----
-
-### js
diff --git "a/docs/\350\275\257\344\273\266/Linux/\345\221\275\344\273\244\350\241\214\347\263\273\347\273\237\344\277\241\346\201\257\345\267\245\345\205\267.md" "b/docs/\350\275\257\344\273\266/Linux/\345\221\275\344\273\244\350\241\214\347\263\273\347\273\237\344\277\241\346\201\257\345\267\245\345\205\267.md"
index db5d58d..ea7a66e 100644
--- "a/docs/\350\275\257\344\273\266/Linux/\345\221\275\344\273\244\350\241\214\347\263\273\347\273\237\344\277\241\346\201\257\345\267\245\345\205\267.md"
+++ "b/docs/\350\275\257\344\273\266/Linux/\345\221\275\344\273\244\350\241\214\347\263\273\347\273\237\344\277\241\346\201\257\345\267\245\345\205\267.md"
@@ -26,10 +26,12 @@ top_img: https://cdn.jsdelivr.net/gh/01Petard/imageURL@main/img/202411052242895.
- 查看文件内容:[x cat](#x-cat)
- 查看当前目录下的文件:[lsd](#lsd)
- 查看系统信息:[macchina](#macchina) 或 [fastfetch](#fastfetch)
-- 增强docker功能:[增强docker功能](#增强docker功能)
+- 增强docker功能:[x-docker](#x-docker)
- 装逼神器:[genact](#genact)
-# 准备:安装`X`
+# 前置:安装`X-CMD`
+
+## 安装
> 官方地址:[X-CMD | 开源轻量级 POSIX 脚本,用于管理工具 (670+) 和提供经典命令扩展](https://cn.x-cmd.com/)
@@ -47,7 +49,7 @@ eval "$(wget -O- https://get.x-cmd.com)"
-# x cowsay
+## x cowsay
> 先写个“Hello, world!”
@@ -57,27 +59,49 @@ x cowsay "What can I say!"
-# x uname
+# 磁盘使用监控
-> 相比自带的`uname`能看到更多信息,能通过终端命令查看电脑以及操作系统的相关信息
+## x df
+
+> 以 TUI 的方式查看文件系统和磁盘空间使用情况
```shell
-x uname
+x df
```
-
+
-# x df
+## x duf
-> 以 TUI 的方式查看文件系统和磁盘空间使用情况
+> `df` 命令的现代化替代品, 用于查看磁盘空间使用情况和磁盘文件系统信息
```shell
-x df
+x duf
```
-
+
+
+
+
+## x dua
+
+> 交互式查看磁盘空间的使用情况
+
+```shell
+x dua
+```
+
+
-# x ping
+```shell
+x dua i
+```
+
+
+
+# 网络相关
+
+## x ping
> 比默认的`ping`更美观,且过程可视化
@@ -87,7 +111,27 @@ x ping -b www.baidu.com
-# x ip
+## x gping
+
+> 基于 Rust 编写的开源工具,是增加了图表功能的 `ping` 工具
+
+安装
+
+```shell
+x env use gping
+```
+
+使用,可以同时ping多个
+
+```shell
+gping www.baidu.com www.bilibli.com
+```
+
+
+
+
+
+## x ip
> 替代`ifconfig`,查询 ip 地址
@@ -97,7 +141,9 @@ x ip
-# x top
+# 性能监控
+
+## x top
使用 htop 来查看进程的实时信息
@@ -107,7 +153,7 @@ x top
-# x htop
+## x htop
使用 htop 来查看进程的实时信息
@@ -117,7 +163,7 @@ x htop
-# x btop
+## x btop
使用 htop 来查看进程的实时信息
@@ -127,7 +173,41 @@ x btop
-# x cd
+## x btm
+
+> 基于 Rust 开发的命令行工具,用于终端的可定制跨平台图形进程/系统监视器。
+
+```shell
+x btm
+```
+
+
+
+```shell
+x btm --basic
+```
+
+
+
+## x gotop
+
+> 使用 GO 语言开发,下载二进制文件即可运行,无需安装其他依赖
+
+```shell
+x gotop
+```
+
+
+
+```shell
+x gotop --color vice
+```
+
+
+
+# 系统功能增强
+
+## x cd
> 比`cd`更高级的`cd`,具有更丰富的交互性
@@ -137,7 +217,128 @@ x cd
-# x ll
+## lsd
+
+> 查看当前目录下的文件,比`ls`的功能更丰富
+
+**查看文件**:效果与`ls`一样,默认按文件名排列
+
+```shell
+lsd
+```
+
+
+
+**树形查看文件**:`--depth 1`:查看深度为1的文件
+
+```shell
+lsd --tree --depth 1 -S
+```
+
+
+
+**组合命令**:`-S`:按文件大小排列(默认按文件名排列)
+
+`-1`:每行列出一个文件
+
+`-a`:查看隐藏文件
+
+```shell
+lsd --tree --depth 1 -S -1 -a
+```
+
+
+
+**添加alias别名**:在环境配置文件中添加alias别名
+
+```shell
+alias ll='lsd --tree --depth 1 -1'
+## alias ll='ls -la'
+```
+
+##x exa
+
+安装
+
+```shell
+x exa
+```
+
+组合命令:
+
+列出所有非隐藏文件
+
+```shell
+x exa ./ --tree --level=1 --long --icons -x -s name
+```
+
+
+
+列出所有文件夹
+
+```shell
+x exa ./ --tree --level=1 --icons -x -s name -a -D
+```
+
+
+
+元选项:
+
+- `-?, --help` 显示命令行选项列表
+- `-v, --version` 显示 `exa` 的版本信息
+
+显示选项:
+
+- `-1, --oneline` 每行显示一个条目
+- **`-l, --long` 显示文件的扩展元数据**
+- **`-G, --grid` 将条目显示为网格(默认)**
+- **`-x, --across` 按行排序网格,而不是按列**
+- `-R, --recurse` 递归进入目录
+- **`-T, --tree` 以树形结构递归进入目录**
+- `-F, --classify` 在文件名后显示类型指示符
+- `--colo[u]r=WHEN` 使用终端颜色的时间(总是、自动、从不)
+- `--colo[u]r-scale` 根据文件大小级别突出显示
+- `--icons` 显示图标
+- `--no-icons` 不显示图标(总是覆盖 `--icons`)
+
+过滤和排序选项:
+
+- **`-a, --all` 显示隐藏文件和点文件**
+- `-d, --list-dirs` 列出目录作为文件;不列出它们的内容
+- **`-D, --only-dirs` 只列出目录**
+- `-L, --level DEPTH` 限制递归深度
+- `-r, --reverse` 反转排序顺序
+- `-s, --sort SORT_FIELD` 排序字段,(choices: name, Name, size, extension, Extension, modified, changed, accessed, created, inode, type, none)
+- `--group-directories-first` 在其他文件之前列出目录
+- `-I, --ignore-glob GLOBS` 忽略文件的通配符模式(管道分隔)
+- `--git-ignore` 忽略 `.gitignore` 中提到的文件
+- **有效的排序字段** 包括:名称、扩展名、大小、类型、修改时间、访问时间、创建时间、inode 和无。日期、时间和旧、新都指代修改时间。
+
+长视图选项:
+
+- `-b, --binary` 使用二进制前缀列出文件大小
+- `-B, --bytes` 以字节为单位列出文件大小,不带任何前缀
+- `-g, --group` 列出每个文件的组
+- `-h, --header` 为每列添加表头行
+- `-H, --links` 列出每个文件的硬链接数
+- `-i, --inode` 列出每个文件的inode号
+- `-m, --modified` 使用修改时间戳字段
+- `-n, --numeric` 列出数字用户和组ID
+- `-S, --blocks` 显示文件系统块的数量
+- `-t, --time FIELD` 要列出的时间戳字段(修改、访问、创建)
+- `-u, --accessed` 使用访问时间戳字段
+- `-U, --created` 使用创建时间戳字段
+- `--changed` 使用更改时间戳字段
+- `--time-style` 时间戳格式化方式(默认、ISO、长ISO、完整ISO)
+- `--no-permissions` 抑制权限字段
+- `--octal-permissions` 以八进制格式列出每个文件的权限
+- `--no-filesize` 抑制文件大小字段
+- `--no-user` 抑制用户字段
+- `--no-time` 抑制时间字段
+- `--git` 如果文件被跟踪或忽略,则列出其Git状态
+- `-@, --extended` 列出每个文件的扩展属性及其大小
+
+## x ll
> 一个可交互性的命令行文件管理器
@@ -147,7 +348,7 @@ x ll
-# x cat
+## x cat
> 查看文件内容,很好地解决了`cat`的痛点
@@ -157,7 +358,7 @@ x cat
-# x ascii
+## x ascii
> 将 x-cmd 字符串转为 ASCII 艺术字
@@ -167,7 +368,9 @@ x ascii cfont HuangZexiao -g red,magenta -a center -s
-# x hua
+# 趣味功能
+
+## x hua
> 查看古文诗词
@@ -183,7 +386,7 @@ x hua ts
-# x wttr
+## x wttr
> 展示中山市天气的信息
@@ -199,70 +402,93 @@ x wttr ?1
-# lsd
-
-> 查看当前目录下的文件,比`ls`的功能更丰富
-
-## 查看文件
+## genact
-效果与`ls`一样,默认按文件名排列
+安装`genact`
```shell
-lsd
+x env use genact
```
-
-
-## 树形查看文件
-
-`--depth 1`:查看深度为1的文件
+生成伪随机的系统活动:
```shell
-lsd --tree --depth 1 -S
+genact
```
-
-
-## 组合命令
+查看 `genact` 可用的活动模块
-`-S`:按文件大小排列(默认按文件名排列)
+```shell
+genact -l
+```
-`-1`:每行列出一个文件
+> ansible
+> bootlog
+> botnet
+> bruteforce
+> cargo
+> cc
+> composer
+> cryptomining
+> docker_build
+> docker_image_rm
+> download
+> julia
+> kernel_compile
+> memdump
+> mkinitcpio
+> rkhunter
+> simcity
+> terraform
+> weblog
-`-a`:查看隐藏文件
+指定要模仿破解密码的活动:
```shell
-lsd --tree --depth 1 -S -1 -a
+genact -m bruteforce
```
-
+设置 5 倍速并在 2 分钟后退出模拟活动:
-## 添加alias别名
+```shell
+genact -s 5 --exit-after-time 2min
+```
-在环境配置文件中添加alias别名
+组合命令:
```shell
-alias ll='lsd --tree --depth 1 -1'
-# alias ll='ls -la'
+genact -m docker_build -s 5 --exit-after-time 1h20min30s
```
+
+
# 系统信息查看工具
> **系统信息查看工具**可以用于获取和显示系统硬件、软件和环境信息(如内核版本、内存使用情况、处理器负载等),通过这些工具可以在主流操作系统的运行中获取系统信息。
-# macchina
+## x uname
+
+> 相比自带的`uname`能看到更多信息,能通过终端命令查看电脑以及操作系统的相关信息
+
+```shell
+x uname
+```
+
+
+
+## macchina
1. **最小化**:相比于 `neofetch` 和 `fastfetch`,`macchina` 更加简单,更适合小型设备或资源受限的环境。
2. **可定制化**:提供主题系统,主题配置文件与主要配置文件是分开的,用户可以创建一堆主题并随时在它们之间切换。
-## 安装
+**安装**
```shell
-eval "$(curl https://get.x-cmd.com)" # 安装 x-cmd
-x env use macchina # 使用 x-cmd 安装 macchina
+eval "$(curl https://get.x-cmd.com)" ## 安装 x-cmd
+x env use macchina ## 使用 x-cmd 安装 macchina
```
-## 使用
+**使用**
1. 获取和显示系统信息:
@@ -295,22 +521,20 @@ x env use macchina # 使用 x-cmd 安装 macchina
-# neofetch
+## neofetch
兼容性好,neofetch 基于`bash`,所以不需要编译,同时兼容性也好:
举个例子,`main`函数内部的`cache_uname`方法,就会使用 Linux 和 macOS 都有的命令:`uname -srm`
-## 安装
-
-Neofetch 的安装非常简单,在各大的软件包管理器都有发布:
+**安装**
```shell
-# macOS
+## macOS
brew install neofetch
-# Linux Debian/Ubuntu
+## Linux Debian/Ubuntu
sudo apt install neofetch
-# Linux CentOS
+## Linux CentOS
sudo yum install neofetch
```
@@ -320,8 +544,6 @@ sudo yum install neofetch
neofetch --version
```
-## 使用
-
输出系统信息:
```shell
@@ -330,7 +552,7 @@ neofetch
-## 扩展
+**扩展**
如果细看 Neofetch 的脚本,会发现还有很多可选项,这些在 Neofetch 的 wiki 内也有记录:
@@ -338,12 +560,10 @@ neofetch
接下来我们看看可选项有那些?
-### 扩展使用
+**扩展使用**
根据官方的 wiki,Neofetch 在安装后,会自动生成默认配置文件,配置文件的存放地址在:`${HOME}/.config/neofetch/config.conf`内。里面其实就是默认的输出内容定义:
-代码语言:bash
-
复制
```bash
@@ -361,12 +581,8 @@ neofetch默认配置
举个例子,默认情况,只显示内存,并没有显示内存使用的百分比;但是实际上在`config.conf`文件内是可以开启的,比如:
-代码语言:bash
-
-复制
-
```bash
-# 直接输出
+## 直接输出
neofetch --memory_percent on
```
@@ -374,38 +590,15 @@ neofetch --memory_percent on
-修改配置文件
-
-最后的结果:
+修改配置文件,最后的结果:
显示内存比
-### 操作前提
-
-本次文章的操作前提,需要你有一台电脑。如果你是希望使用NeoFetch,那么需要用Bash的支持:
-
-1. 系统为Linux或Unix;
-2. Bash的版本最少需要`3.2`,你可以使用`bash --version`查看bash版本。
-
-
-
-适用于NeoFetch的系统
-
-如果你希望使用 FastFetch ,那么原则上没有什么受限,经过测试,目前的Windows 7也可以使用,Windows 11 ON ARM使用也正常。如果在Windows Server上,那么目前常用的2016、2019和2022都可以使用:
-
-
-
-都是支持的
-
-最后,如果你希望有一台Linux进行练手,或者使用一台服务器部署网站,甚至使用Linux服务器测试本文章内容,强烈推荐使用腾讯云轻量应用服务器进行操作。
-
-本文对应的视频教程:
+- https://cloud.tencent.com/developer/tools/blog-entry?target=https%3A%2F%2Fwww.bilibili.com%2Fvideo%2FBV1fHYLeSEr4&objectId=2443476&objectType=1)
-- [摸不透系统当前状态和配置?一条命令快速查看! NeoFetch和FastFetch使用详解: https://www.bilibili.com/video/BV1fHYLeSEr4](https://cloud.tencent.com/developer/tools/blog-entry?target=https%3A%2F%2Fwww.bilibili.com%2Fvideo%2FBV1fHYLeSEr4&objectId=2443476&objectType=1)
-
-### 项目归档
+**项目归档**
Neofetch完全基于`bash`,使其兼容性很不错;即使你的Debian从8已经到12,但是 Neofetch 版本一直没有更新,那么 Neofetch 的使用,也不会出现什么问题。
@@ -437,20 +630,20 @@ Neofetch完全基于`bash`,使其兼容性很不错;即使你的Debian从8
接任者都是非常好用的项目;不过受限于篇幅,接下来,我们就取其中的 Fastfetch 来一起看看。
-# fastfetch
+## fastfetch
1. **可替代性**:通常情况下,可以把 FastFetch 当作 NeoFetch 使用。安装方式也是一样,FastFetch 已经在各个平台的软件包管理器发布。
2. **可扩展性**:相比于 NeoFetch 全部基于`bash`的 shell 脚本,而 FastFetch 是基于C的。
-## 安装
+安装
```shell
-# macOS
+## macOS
brew install fastfetch
-# Linux Debian/Ubuntu (Debian 13 or newer)
+## Linux Debian/Ubuntu (Debian 13 or newer)
sudo apt install fastfetch
-# Linux CentOS
+## Linux CentOS
sudo yum install fastfetch
```
@@ -460,8 +653,6 @@ sudo yum install fastfetch
fastfetch --version
```
-## 使用
-
输出系统信息:
```shell
@@ -470,73 +661,67 @@ neofetch
-# 增强docker功能
+# Docker增强
+
+## x docker
可以直接用 **`xd`、`x docker`** 来增强 **`docker`**,具体效果如下:
-# genact
+## lazydocker
-安装`genact`
+> 用 Go 语言开发的 Docker 和 docker-compose 的 Terminal UI 管理工具。它提供 **docker 的终端图形界面**,支持鼠标操作和键盘快捷键,能实时监控 docker 容器,并能简化一些常见的 dockcer 管理任务,如查看容器的状态、管理镜像和容器。
-```shell
-x env use genact
-```
-
-生成伪随机的系统活动:
+安装并启动 lazydocker:
```shell
-genact
+eval "$(curl https://get.x-cmd.com)" # 安装 x-cmd
+x env use lazydocker # 使用 x-cmd 安装 lazydocker
+lazydocker # 启动 lazydocker UI
```
-查看 `genact` 可用的活动模块
+配置 lazydocker
+
+查看 lazydocker 当前使用的自然语言
```shell
-genact -l
+lazydocker --config | grep "lang"
```
-> ansible
-> bootlog
-> botnet
-> bruteforce
-> cargo
-> cc
-> composer
-> cryptomining
-> docker_build
-> docker_image_rm
-> download
-> julia
-> kernel_compile
-> memdump
-> mkinitcpio
-> rkhunter
-> simcity
-> terraform
-> weblog
+修改 lazygit 配置文件,如将语言设置为中文
-指定要模仿破解密码的活动:
+- OSX: `~/Library/Application Support/jesseduffield/lazydocker/config.yml`
+- Linux: `~/.config/lazydocker/config.yml`
+- Windows: `C:\\Users\\\\AppData\\Roaming\\jesseduffield\\lazydocker\\config.yml` (I think)
+
+**以Linux为例:**
```shell
-genact -m bruteforce
+mkdir -p "$HOME/.config/lazydocker"
```
-设置 5 倍速并在 2 分钟后退出模拟活动:
-
```shell
-genact -s 5 --exit-after-time 2min
+printf "gui:language: zh " > "$HOME/.config/lazydocker/config.yml"
```
-组合命令:
+常用快捷键:
-```shell
-genact -m docker_build -s 5 --exit-after-time 1h20min30s
-```
+- **`x`:打开当前功能区的菜单栏;**(有啥不懂,可以直接看这个)
+- **`p`:(在容器功能区) 暂停选中的容器;**
+- **`s`:(在容器功能区) 停止选中的容器;**
+- **`r`:(在容器功能区) 重新启动选中的容器;**
+- **`d`:删除选中的容器/镜像/卷/网络。**
+- `esc`:返回或取消 lazydocker 操作;
+- `enter`:聚焦主面板;
+- `tab`:上下切换到其他功能区面板;
+- `]/[`:左右切换到其他选项卡;
+- `b`:可选择内置的批量命令;
+- `q`:退出 lazydocker 的 UI 界面;
-
+# 代码托管
-# scc
+## scc
> `scc` (Sloc Cloc and Code) 是用 Go 开发的代码计数器,类似于 cloc、sloccount 和 tokei,支持复杂度计算和 COCOMO 估计。
>
@@ -552,7 +737,7 @@ x env use scc
````shell
scc
-```
+````
计算指定目录或文件代码的行数
@@ -570,4 +755,45 @@ scc -f csv -o ~/outpu.csvjson
scc -f html -o ~/outpu.html
```
-
\ No newline at end of file
+
+
+## lazygit
+
+安装
+
+```shell
+x env use lazygit
+```
+
+启动 lazygit UI
+
+```shell
+lazygit
+```
+
+配置 lazygit
+
+```shell
+lazygit --config | grep "lang" # 查看 lazygit 当前使用的自然语言
+lazygit -cd # 获取 lazygit 的配置文件目录
+```
+
+修改 lazygit 配置文件,如将语言设置为中文
+
+```shell
+printf "gui:language: zh-CN " > "$(lazygit -cd)/config.yml"
+```
+
+常用快捷键:
+
+- `q`:退出 lazygit 的 UI 界面;
+- `esc`:取消 lazygit 操作;
+- `h/j`:上下切换到其他功能区面板(如文件变更面板、分支管理);
+- `?`:获取当前功能区面板的按键帮助;
+- `]/[`:左右切换到其他选项卡[;
+- **`p`:git pull - 拉取远程仓库的代码;**
+- **`P`:git push - 将本地仓库代码推送到远程仓库;**
+- **``:(在文件变更面板)git add - 暂存选中的更改或取消暂存;**
+- **`c`:(在文件变更面板)git commit - 为暂存的更改添加提交说明并存入本地仓库。**
+
+
\ No newline at end of file
diff --git "a/docs/\350\275\257\344\273\266/Linux/\345\234\250\346\234\215\345\212\241\345\231\250\344\270\212\351\203\250\347\275\262hexo\345\215\232\345\256\242\346\214\207\345\215\227.md" "b/docs/\350\275\257\344\273\266/Linux/\345\234\250\346\234\215\345\212\241\345\231\250\344\270\212\351\203\250\347\275\262hexo\345\215\232\345\256\242\346\214\207\345\215\227.md"
new file mode 100644
index 0000000..78da9bf
--- /dev/null
+++ "b/docs/\350\275\257\344\273\266/Linux/\345\234\250\346\234\215\345\212\241\345\231\250\344\270\212\351\203\250\347\275\262hexo\345\215\232\345\256\242\346\214\207\345\215\227.md"
@@ -0,0 +1,211 @@
+---
+title: 在服务器上部署hexo博客指南
+date: 2024-10-30 18:02:00
+updated:
+categories:
+- 软件
+tags:
+- Linux
+- 博客
+- 部署
+keywords:
+- Linux
+- 博客
+- 部署
+description: 从0开始部署hexo博客的常用命令
+cover: https://cdn.jsdelivr.net/gh/01Petard/imageURL@main/img/202410311337887.webp
+top_img: https://cdn.jsdelivr.net/gh/01Petard/imageURL@main/img/202410311337777.png
+---
+
+nodejs更多命令请看:[nodejs相关命令](../nodejs相关命令.md)
+
+## 安装nodejs环境
+
+在Windows和Macos上安装nodejs较方便,但是在Linux上就非常不方便,特此记录
+
+去官网下载链接:[http://nodejs.cn/download](http://nodejs.cn/download/)
+
+选择Linux二进制文件(x64)
+
+
+
+或用wget命令下载指定版本的包
+
+```shell
+wget https://nodejs.org/dist/v14.15.4/node-v14.15.4-linux-x64.tar.xz
+```
+
+```shell
+wget https://nodejs.org/dist/v16.13.0/node-v16.13.0-linux-x64.tar.xz
+```
+
+解压缩
+
+```shell
+tar -xvf node-v14.15.4-linux-x64.tar.xz
+mkdir -p /usr/local/nodejs
+(之后所有nodejs安装的文件,例如“hexo”都会保存在/usr/local/nodejs目录下)
+mv node-v14.15.4-linux-x64/* /usr/local/nodejs/
+```
+
+```shell
+tar -xvf node-v16.13.0-linux-x64.tar.xz
+mkdir -p /usr/local/nodejs
+(之后所有nodejs安装的文件,例如“hexo”都会保存在/usr/local/nodejs目录下)
+mv node-v16.13.0-linux-x64/* /usr/local/nodejs/
+```
+
+创建软链接
+
+```shell
+# 建立node软链接
+ln -s /usr/local/nodejs/bin/node /usr/local/bin
+# 建立npm 软链接
+ln -s /usr/local/nodejs/bin/npm /usr/local/bin
+```
+
+更换镜像源
+
+```shell
+# 设置镜像源加速
+npm config set registry https://registry.npmmirror.com
+# 查看设置信息
+npm config list
+# 验证配置是否加载成功
+npm config get registry
+```
+
+验证是否安装成功
+
+```shell
+node -v
+npm -v
+```
+
+## 安装hexo博客环境
+
+安装hexo
+
+```shell
+npm install hexo-cli -g
+```
+
+创建软链接
+
+```shell
+(如果之前已经链接过hexo了,则删除/usr/local/bin目录下的hexo软链接,重新添加hexo软链接)
+ln -s /usr/local/nodejs/bin/hexo /usr/local/bin
+(这里的“/usr/local/nodejs/bin/hexo”就是nodejs安装的hexo命令文件目录)
+```
+
+查看是否生效
+
+```shell
+hexo -v
+```
+
+## 安装pm2自动化任务脚本
+
+安装pm2
+
+```
+npm install pm2 -g
+```
+
+(如果命令没有找到,则需要软链接一下pm2)
+
+ ```shell
+ln -s /usr/local/nodejs/bin/pm2 /usr/local/bin
+ ```
+
+在博客根目录下创建文件`hexo_run.cjs`
+
+```javascript
+const { exec } = require('child_process')
+exec('hexo server',(error, stdout, stderr) => {
+ if(error){
+ console.log('exec error: ${error}')
+ return
+ }
+ console.log('stdout: ${stdout}');
+ console.log('stderr: ${stderr}');
+})
+```
+
+在博客目录下运行脚本
+
+```shell
+pm2 start hexo_run.cjs
+```
+
+
+
+关闭脚本
+
+```shell
+pm2 stop hexo_run.cjs
+```
+
+
+
+## 安装zip压缩包处理命令
+
+```shell
+yum install zip unzip
+```
+
+## 安装git版本控制
+
+```shell
+yum install git
+```
+
+## 配置git
+
+```shell
+git config --global user.name "01Petard"
+git config --global user.email "1520394133@qq.com"
+git config --global init.defaultBranch main # 设置默认分支名为main,而不是master
+
+# 选择题用配置
+git config --global gui.encoding utf-8 # gui界面的编码方式改为utf-8
+git config --global i18n.commitencoding utf-8 # 将commit时信息转为urf-8,默认二进制
+git config --global i18n.logoutputencoding utf-8 # 显示日志时的转为utf-8,默认二进制
+git config --global core.quotepath false # (推荐:false,不要转义)是否转义中文文件名或路径,默认转义
+git config --global core.autocrlf true # (推荐:true,开启)是否开启crlf自动换行(项目涉及windows时建议开启)
+git config --global core.filemode true # (推荐:true,忽略)是否忽略文件的权限改变
+git config --global core.safecrlf true # (推荐:true,检查)是否检查行结束符在提交或检出时被正确转换
+
+git config --global pull.rebase true # git pull时,不合并,而是将本地更改rebase在最新的远程提交之上,默认false为merge合并
+```
+
+```shell
+ssh-keygen -t rsa -C "1520394133@qq.com"
+```
+
+```shell
+cat ~/.ssh/id_rsa.pub
+```
+
+## 使用脚本安装1panel 和 docker
+
+用`pi.sh`安装
+
+项目地址:[Pseudnuos/OrangePiShell_hzx](https://gitee.com/HuaLuoTianJi/OrangePiShell_hzx)
+
+作者地址:[wukongdaily/OrangePiShell: 在Linux上快速部署一些好用的docker项目。起初只是为了香橙派制作。推荐使用1panel面板轻松管理docker。](https://github.com/wukongdaily/OrangePiShell)
+
+## 启动项目
+
+```shell
+npm install
+```
+
+```shell
+hexo ...
+```
+
+
+
+
+
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0e6116f..05cda7b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -16,7 +16,7 @@ importers:
version: 2.14.0
vitepress:
specifier: ^1.2.3
- version: 1.2.3(@algolia/client-search@4.23.3)(postcss@8.4.38)(search-insights@2.14.0)
+ version: 1.2.3(@algolia/client-search@4.23.3)(async-validator@4.2.5)(fuse.js@6.6.2)(postcss@8.4.38)(search-insights@2.14.0)
packages:
@@ -476,6 +476,9 @@ packages:
algoliasearch@4.23.3:
resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==}
+ async-validator@4.2.5:
+ resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
+
birpc@0.2.17:
resolution: {integrity: sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==}
@@ -506,6 +509,10 @@ packages:
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
+ fuse.js@6.6.2:
+ resolution: {integrity: sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==}
+ engines: {node: '>=10'}
+
hookable@5.5.3:
resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
@@ -1007,13 +1014,15 @@ snapshots:
- '@vue/composition-api'
- vue
- '@vueuse/integrations@10.11.0(focus-trap@7.5.4)(vue@3.4.29)':
+ '@vueuse/integrations@10.11.0(async-validator@4.2.5)(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.29)':
dependencies:
'@vueuse/core': 10.11.0(vue@3.4.29)
'@vueuse/shared': 10.11.0(vue@3.4.29)
vue-demi: 0.14.8(vue@3.4.29)
optionalDependencies:
+ async-validator: 4.2.5
focus-trap: 7.5.4
+ fuse.js: 6.6.2
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@@ -1045,6 +1054,9 @@ snapshots:
'@algolia/requester-node-http': 4.23.3
'@algolia/transporter': 4.23.3
+ async-validator@4.2.5:
+ optional: true
+
birpc@0.2.17: {}
copy-anything@3.0.5:
@@ -1090,6 +1102,9 @@ snapshots:
fsevents@2.3.3:
optional: true
+ fuse.js@6.6.2:
+ optional: true
+
hookable@5.5.3: {}
is-what@4.1.16: {}
@@ -1168,7 +1183,7 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
- vitepress@1.2.3(@algolia/client-search@4.23.3)(postcss@8.4.38)(search-insights@2.14.0):
+ vitepress@1.2.3(@algolia/client-search@4.23.3)(async-validator@4.2.5)(fuse.js@6.6.2)(postcss@8.4.38)(search-insights@2.14.0):
dependencies:
'@docsearch/css': 3.6.0
'@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0)
@@ -1179,7 +1194,7 @@ snapshots:
'@vue/devtools-api': 7.3.0(vue@3.4.29)
'@vue/shared': 3.4.29
'@vueuse/core': 10.11.0(vue@3.4.29)
- '@vueuse/integrations': 10.11.0(focus-trap@7.5.4)(vue@3.4.29)
+ '@vueuse/integrations': 10.11.0(async-validator@4.2.5)(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.29)
focus-trap: 7.5.4
mark.js: 8.11.1
minisearch: 6.3.0