Skip to content

Latest commit

 

History

History
100 lines (66 loc) · 2.86 KB

命令行工具.md

File metadata and controls

100 lines (66 loc) · 2.86 KB

查看系统信息

neofetch

统计程序运行时间

time program_name

tldr

一个命令行工具文档,比 man 更友好的工具

atuinsh

多端同步 shell 命令历史记录

jq

过滤 JSON 字符串,以下示例输入 filename 文件中,JSON 的 id 字段

jq ".id" filename

watchexec

(Watch Exec)是一个用于监视文件系统更改并在发生更改时执行命令的工具。它允许你指定一个命令,并在指定的文件或目录发生更改时自动运行该命令。这对于开发人员在开发过程中自动执行任务非常有用,例如重新编译代码、运行测试或刷新浏览器。

watchexec -w src -i dist -r make
# 监视 src 目录中的文件,忽略 dist 目录或文件,然后在每次运行 make 后重新启动监视

watchexec make
# 监视当前目录及其子目录中的所有文件,并在文件更改时执行 make 命令

wrk

生成大量的并发负载,以测试和分析 HTTP 服务器的性能。

wrk -t12 -c400 -d5s http://127.0.0.1:8080

输出结果:

  • Requests/sec: 这是服务器每秒处理的请求数。在这个示例中,服务器每秒处理了约 50,567 个请求。这是一个评估服务器性能的关键指标,因为它显示了服务器在高负载下的吞吐量能力。

  • Transfer/sec: 这是服务器每秒传输的数据量。在这个示例中,服务器每秒传输了约 8.78 MB 的数据。这个指标有助于了解服务器的带宽使用情况。

安装

 git clone [email protected]:wg/wrk.git
 cd wrk
 sudo make
 ./wrk
 mv wrk /usr/bin

Glob 模式

"Glob" 模式是一种用于匹配文件名或者目录名的模式。这个模式支持一些特殊字符,可以用来匹配多个文件或者目录。

这里是一些常见的 glob 模式字符:

:匹配任何数量的任何字符(除了目录分隔符)。 ?:匹配任何单个字符(除了目录分隔符)。 **:匹配任何数量的目录,包括当前目录和子目录。 [abc]:匹配括号中的任何一个字符(在这个例子中,匹配 'a'、'b' 或 'c')。 {a,b}:匹配大括号中的任何一个模式(在这个例子中,匹配 'a' 或 'b')。 例如,.txt 将匹配所有 txt 文件,*.{txt,md} 将匹配所有的 txt 和 md 文件。

Glob 模式常常被用在各种环境中,例如在 shell 命令中,或者在 Node.js 的 glob 库中等。

使用 js 写脚本

#!/usr/bin/env node
// 上面的 shebang(#!)用于告诉系统使用 Node.js 执行这个脚本

function main(args) {
  args.forEach((arg, index) => {
    console.log(`Argument ${index + 1}: ${arg}`);
  });
}

// 获取命令行参数
const args = process.argv.slice(2);
main(args);