命令行工具箱

homebrew

# 更新 Homebrew
brew update

# 升级所有已安装的软件包
brew upgrade
# 升级特定软件包
brew upgrade jq

# 列出所有安装的软件包
brew list --version

# 查看软件包信息
brew info jq

fzf

fzf

fzf-git

brew install fzf

fd

  • fd find 命令的替代品
brew install fd

# 查找文件或目录
# -i: 忽略大小写搜索
fd -i <关键词> <目录>

# 仅查找文件
fd <关键词> --type f

# 仅查找目录
fd <关键词> --type d

ripgrep

brew install ripgrep

# 正则表达式
echo -e "line1\nline2\nline3" | rg "^line[0-9]$"

bat

bat cat 命令的替代品

HTTP 相关

  • curl
  • wget

压测相关

  • ab
  • wrk
brew install wrk

#  启动 2 个线程共同处理 100 个并发连接,压测 5 秒
wrk -t2 -c100 -d5s https://baidu.com

# 显示详细的延迟信息
wrk -t2 -c100 -d5s --latency https://baidu.com

eza

  • eza ls 命令的替代品

tldr

  • tldr 全称是 “Too Long; Didn’t Read”,即“太长,不想读”
brew install tldr

# 查看 find 命令的简洁用法
tldr find

zoxide

brew install zoxide

# 使用 z 命令代替 cd
z projects

eval

  • eval 将字符串解析成 shell 命令,并立即执行

ffmpeg

ffmpeg 检查文件信息

ffmpeg -i input.mp4

ffplay

ffplay -i video.mp4

# 静音播放
ffplay -an input.mp4

# 仅播放音频
ffplay -vn input.mp4

ffprobe

tmux

概念:Session 会话,Window 窗口,Pane 面板

最简操作流程:

  1. 新建会话 tmux new -s macOS
  2. 在 Tmux 窗口运行所需的程序
  3. 按下快捷键 Ctrl+b d 将会话分离
  4. 下次使用时,重新连接到会话 tmux attach-session -t macOS

会话:

  • 创建会话 tmux new-session -s macOS
  • 列出会话 tmux ls
  • 切换会话 tmux attach-session -t macOS
  • 分离会话 Ctrl-b d
  • 重命名会话 Ctrl-b $
  • 结束会话 tmux kill session -t macOS

快捷键:

alias tmn="tmux new-session -s"
alias tma="tmux attach-session -t"
alias tmr="tmux rename-session -t"
alias tmk="tmux kill session -t"

窗口:

  • 创建窗口 Ctrl-b c
  • 列出窗口 Ctrl-b w
  • 切换窗口 Ctrl-b 2
  • 重命名窗口 Ctrl-b ,
  • 关闭窗口 exit

面板:

  • 水平分屏 Ctrl-b "
  • 垂直分屏 Ctrl-b %
  • 切换面板 Ctrl-b 箭头键
  • 关闭面板 exit
  • 调整面板大小 Ctrl-b 按住Ctrl+方向键

上下滚动窗口:

  1. 进入复制模式。在默认配置下,你需要先按下前缀键(通常是 Ctrl + b),然后再按下 [ 键,即可进入复制模式,在该模式下你就能进行滚动操作
  2. 使用键盘方向键逐行向上/向下滚动窗口内容

Tmux 使用教程 - 阮一峰

进程相关

  • top
    • P 按 CPU 使用率降序排序
    • M 按内存使用率排序
    • T 按进程运行时间排序
    • k 终止一个进程
  • htop
  • btop

调试相关

  • gdb
  • delve

磁盘相关

  • df
    • disk free
    • 主要用于查看整个文件系统的磁盘使用情况,让你了解磁盘的整体容量和剩余空间。
    • df -h
  • dust
    • 侧重于以直观的可视化方式展示指定目录下各个子目录和文件的磁盘使用情况,方便快速定位大文件和大目录。
    • dust /home/user/Documents
  • du
    • disk usage
    • 可以详细计算文件或目录的磁盘使用情况,提供更细致的磁盘空间占用信息。
    • du -sh

SSH 相关

ssh

ssh luca@192.168.15.83

ssh-keygen

ssh-keygen -t rsa -b 4096 -C "luca@gmail.com"

ssh-copy-id

ssh-copy-id luca@192.168.15.83

scp

# 复制本地文件到远程
scp /local/source/file.txt luca@192.168.15.83:~/destination/
# 复制远程文件到本地
scp luca@192.168.15.83:~/source/file.txt  /local/destination/
# 复制目录
scp -r /local/source luca@192.168.15.83:~/destination/

Git 相关

首次检出远程分支到本地

git checkout -b <本地分支名> origin/<远程分支名>