Homebrew 是 Mac 下最好用的包管理器,推荐所有控制台应用都尽可能使用 brew 管理。
安装 Homebrew:
ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
Homebrew Cask 是 Homebrew 的插件,作为 Homebrew 在 GUI 应用上的补充。
安装 HomeBrew Cask:
brew install caskroom/cask/brew-cask
检查程序的状态:brew info <app_name>
安装了多个版本时切换激活版本:
brew switch [app_name>] [version]
brew tap homebrew/versions
brew install homebrew/versions/<app_name>
后按 TAB 键brew install homebrew/versions/<app_name><version>
或者在 Homebrew-versions 仓库中找到特定 Formula 的特定版本,然后直接安装:https://github.com/Homebrew/homebrew-versions
被称为终极 shell 也没什么问题。Mac 已经预装了 zsh ,只需要安装 oh-my-zsh!
即可:
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
或者:
wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh
Ubuntu 中需要先注册 zsh 可用:
command -v zsh | sudo tee -a /etc/shells
chsh -s "$(command -v zsh)" "${USER}"
切换 sh 之后可能需要重新登录才能生效。
export DEFAULT_USER="your_username"; export ZSH_THEME="agnoster"
效果预览:
最后,安装 p10k:
显示目录的树状图
常用命令 tree -L2
这样的命令显示最对两级目录内容。
autojump
帮助你在常用目录间快速跳转,命令是 j 目录部分名称
,使用 jo
替代 j
可以打开目录。jo
仅支持 Mac ,可以迅速打开文件夹。
z
和 zoxide
都是类似的工具,都是用来搜索文件的,但是 z
更加强大,支持搜索多个目录,比如 z .
可以搜索当前目录,z . -r
可以搜索当前目录及子目录。
ag
:文件查找命令,类似于 ack
。bat
:替代 cat
fd
:替代 find
ripgrep
:替代 grep
ripgrep-all
:替代 grep
exa
:替代 ls
lsd
:替代 ls
nnn
:终端文件管理器ncdu
:磁盘空间占用显示 & 分析。dust
:替代 du
duf
:替代 df
broot
:替代 tree
htop
:替代 top
btop
++:替代 top
ctop
:替代 docker top
sampler
:终端版的 grafanadog
:替代 dig
,更加强大的 DNS 查询工具。fzf
:模糊匹配/查找delta
:替代 diff
difftastic
:替代 diff
,基于语法结构进行 diff。jq
:shell 中的 JSON 查询工具,配合管道使用非常方便yq
:jq 的 YAML 版本,支持 JSON、YAML、XMLhyperfine
:bentchmark 工具lazygit
:git 的 TUItig
:git 的 TUItldr
+ TealDeer:终端命令的说明文档gping
:替代 ping
procs
:替代 ps
mtr
:网络分析工具iperf3
:网络测速工具xh
:网络请求工具,HTTPie 的 Rust 版本。curlie
:替代 curl
viddy
:替代 watch
,支持 Time Machine 和 pager最流行的分布式代码管理工具。Mac 自带了 git ,不过还是推荐通过 brew 来安装最新的 git 程序和插件。
git 教程:小猫都能学会的 git 教程
控制台中的标签页管理工具以及分屏管理工具。
没啥用,就是炫酷:
aira2 是 OS X 和 Linux 下通用的下载工具,可以安装在路由器、NAS 等 Linux 机器上。
目前主要在 NAS 上配合 AriaNg 使用。
asciinema 是一个终端录制及分享工具,支持 Mac 和 Linux 操作系统。Mac 下可以使用 HomeBrew 进行安装:brew install asciinema
。
asciinema 的使用也非常简单,输入下面的命令将开启一个 tty 开始录制:
asciinema rec
其使用方式和本地的 shell 环境基本一致。按下组合键 Ctrl+d
可以退出录制环境,并自动上传。
安装 asciinema 时会在本地生成一个独一无二的认证 token,在官网注册好帐号后,输入 asciinema auth
可以将自己的帐号和 token 相关联,并加以管理。
官网的注册方式是基于 email 的认证,会自动获取 gavatar 头像作为你站内的头像。关联成功后的页面如下:
transfer.sh 是一个提供文件临时存储的网络服务,可以使用终端直接上传文件:
curl --upload-file ./hello.txt https://transfer.sh/hello.txt https://transfer.sh/66nb8/hello.txt
,当然使用 shell 函数会更加方便,可以将下面代码存入 .bashrc
或者 .zshrc
中获得 transfer
命令:
# transfer.sh
transfer() {
if [ $# -eq 0 ];
then echo -e "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md";
return 1;
fi
tmpfile=$( mktemp -t transferXXX );
if tty -s;
then
basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g');
curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile" >> $tmpfile;
else curl --progress-bar --upload-file "-" "https://transfer.sh/$1" >> $tmpfile ;
fi;
cat $tmpfile;
rm -f $tmpfile;
}