homebrew
# 更新 Homebrew
brew update
# 升级所有已安装的软件包
brew upgrade
# 升级特定软件包
brew upgrade jq
# 列出所有安装的软件包
brew list --version
# 查看软件包信息
brew info jq
fzf
fzf
brew install fzf
fd
- fd
find
命令的替代品
brew install fd
# 查找文件或目录
# -i: 忽略大小写搜索
fd -i <关键词> <目录>
# 仅查找文件
fd <关键词> --type f
# 仅查找目录
fd <关键词> --type d
ripgrep
- ripgrep
grep
命令的替代品
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
- zoxide
cd
命令的增强版 视频来源
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 面板
最简操作流程:
- 新建会话
tmux new -s macOS
- 在 Tmux 窗口运行所需的程序
- 按下快捷键
Ctrl+b d
将会话分离 - 下次使用时,重新连接到会话
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+方向键
上下滚动窗口:
- 进入复制模式。在默认配置下,你需要先按下前缀键(通常是
Ctrl + b
),然后再按下[
键,即可进入复制模式,在该模式下你就能进行滚动操作 - 使用键盘方向键逐行向上/向下滚动窗口内容
进程相关
- 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/<远程分支名>