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)" image-20241110205427518 -# x cowsay +## x cowsay > 先写个“Hello, world!” @@ -57,27 +59,49 @@ x cowsay "What can I say!" image-20241113114620284 -# x uname +# 磁盘使用监控 -> 相比自带的`uname`能看到更多信息,能通过终端命令查看电脑以及操作系统的相关信息 +## x df + +> 以 TUI 的方式查看文件系统和磁盘空间使用情况 ```shell -x uname +x df ``` -image-20241110213518080 +image-20241110215525365 -# x df +## x duf -> 以 TUI 的方式查看文件系统和磁盘空间使用情况 +> `df` 命令的现代化替代品, 用于查看磁盘空间使用情况和磁盘文件系统信息 ```shell -x df +x duf ``` -image-20241110215525365 +image-20241114111613653 + + + +## x dua + +> 交互式查看磁盘空间的使用情况 + +```shell +x dua +``` + +image-20241114104029596 -# x ping +```shell +x dua i +``` + +image-20241114104125558 + +# 网络相关 + +## x ping > 比默认的`ping`更美观,且过程可视化 @@ -87,7 +111,27 @@ x ping -b www.baidu.com image-20241110212020536 -# x ip +## x gping + +> 基于 Rust 编写的开源工具,是增加了图表功能的 `ping` 工具 + +安装 + +```shell +x env use gping +``` + +使用,可以同时ping多个 + +```shell +gping www.baidu.com www.bilibli.com +``` + +image-20241114114234515 + + + +## x ip > 替代`ifconfig`,查询 ip 地址 @@ -97,7 +141,9 @@ x ip -# x top +# 性能监控 + +## x top 使用 htop 来查看进程的实时信息 @@ -107,7 +153,7 @@ x top image-20241110212717560 -# x htop +## x htop 使用 htop 来查看进程的实时信息 @@ -117,7 +163,7 @@ x htop image-20241110212559077 -# x btop +## x btop 使用 htop 来查看进程的实时信息 @@ -127,7 +173,41 @@ x btop image-20241110215350980 -# x cd +## x btm + +> 基于 Rust 开发的命令行工具,用于终端的可定制跨平台图形进程/系统监视器。 + +```shell +x btm +``` + +image-20241114103723628 + +```shell +x btm --basic +``` + +image-20241114103808253 + +## x gotop + +> 使用 GO 语言开发,下载二进制文件即可运行,无需安装其他依赖 + +```shell +x gotop +``` + +image-20241114111951520 + +```shell +x gotop --color vice +``` + +![image-20241114112046618](https://cdn.jsdelivr.net/gh/01Petard/imageURL@main/img/202411141120751.png) + +# 系统功能增强 + +## x cd > 比`cd`更高级的`cd`,具有更丰富的交互性 @@ -137,7 +217,128 @@ x cd image-20241110213113334 -# x ll +## lsd + +> 查看当前目录下的文件,比`ls`的功能更丰富 + +**查看文件**:效果与`ls`一样,默认按文件名排列 + +```shell +lsd +``` + +image-20241110205510288 + +**树形查看文件**:`--depth 1`:查看深度为1的文件 + +```shell +lsd --tree --depth 1 -S +``` + +image-20241110205558823 + +**组合命令**:`-S`:按文件大小排列(默认按文件名排列) + +`-1`:每行列出一个文件 + +`-a`:查看隐藏文件 + +```shell +lsd --tree --depth 1 -S -1 -a +``` + +image-20241110205847076 + +**添加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 +``` + +image-20241114113412854 + +列出所有文件夹 + +```shell +x exa ./ --tree --level=1 --icons -x -s name -a -D +``` + +image-20241114113730423 + +元选项: + +- `-?, --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 image-20241110213317862 -# x cat +## x cat > 查看文件内容,很好地解决了`cat`的痛点 @@ -157,7 +358,7 @@ x cat image-20241110215414267 -# x ascii +## x ascii > 将 x-cmd 字符串转为 ASCII 艺术字 @@ -167,7 +368,9 @@ x ascii cfont HuangZexiao -g red,magenta -a center -s image-20241111183410086 -# x hua +# 趣味功能 + +## x hua > 查看古文诗词 @@ -183,7 +386,7 @@ x hua ts image-20241111183732418 -# x wttr +## x wttr > 展示中山市天气的信息 @@ -199,70 +402,93 @@ x wttr ?1 image-20241111183934477 -# lsd - -> 查看当前目录下的文件,比`ls`的功能更丰富 - -## 查看文件 +## genact -效果与`ls`一样,默认按文件名排列 +安装`genact` ```shell -lsd +x env use genact ``` -image-20241110205510288 - -## 树形查看文件 - -`--depth 1`:查看深度为1的文件 +生成伪随机的系统活动: ```shell -lsd --tree --depth 1 -S +genact ``` -image-20241110205558823 - -## 组合命令 +查看 `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 ``` -image-20241110205847076 +设置 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 ``` +image-20241113110756115 + # 系统信息查看工具 > **系统信息查看工具**可以用于获取和显示系统硬件、软件和环境信息(如内核版本、内存使用情况、处理器负载等),通过这些工具可以在主流操作系统的运行中获取系统信息。 -# macchina +## x uname + +> 相比自带的`uname`能看到更多信息,能通过终端命令查看电脑以及操作系统的相关信息 + +```shell +x uname +``` + +image-20241110213518080 + +## 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 image-20241103234124163 -# 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 image-20241103234143567 -## 扩展 +**扩展** 如果细看 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的系统 - -适用于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 image-20241103234731900 -# 增强docker功能 +# Docker增强 + +## x docker 可以直接用 **`xd`、`x docker`** 来增强 **`docker`**,具体效果如下: image-20241110213952852 -# 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 界面; -image-20241113110756115 +# 代码托管 -# 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 ``` -image-20241113114207808 \ No newline at end of file +image-20241113114207808 + +## 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 - 为暂存的更改添加提交说明并存入本地仓库。** + +image-20241114110057735 \ 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) + +![image-20240401230017772](https://cdn.jsdelivr.net/gh/01Petard/imageURL@main/img/202404012300868.png) + +或用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 +``` + +![image-20240401225914113](https://cdn.jsdelivr.net/gh/01Petard/imageURL@main/img/202404012259254.png) + +关闭脚本 + +```shell +pm2 stop hexo_run.cjs +``` + +![image-20240401225935604](https://cdn.jsdelivr.net/gh/01Petard/imageURL@main/img/202404012259639.png) + +## 安装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