一、环境

电脑信息:MacBook Pro 16英寸

芯片:Apple M4 Pro

内存:48GB

系统:MacOS Sequoia 15.1.1

二、工作提效篇

2.1 基本设置

2.1.1 设置触发角

快速回到桌面和锁屏

系统设置 –> 桌面与程序坞 –> 屏幕保护程序 –> 触发角。 设置对应的触发行为,以下图为例,我设置了鼠标移到右上角就触发回到桌面的操作。鼠标移到右下角就触发进入睡眠状态的操作

2024-12-04T13:59:55-gkabgulb.jpg

2024-12-04T13:59:54-bdnjvpnw.jpg2.1.2 设置触控板

系统设置 –> 触控板。按照自己的喜好设置。一般是使用默认设置。

2024-12-04T13:59:54-xfphofky.jpg

2.1.3 熟悉Mac快捷键

Mac 键盘快捷键

2.2 安装Xcode Command Line Tools

#安装命令
xcode-select --install
Copy

2.3 安装Homebrew

Homebrew是一款自由及开放源代码的软件包管理系统,快速安装or卸载软件。官网传送门

2.3.1 安装指引

step1:启动台 –> 终端,输入以下命令

#原因 GitHub 的 gist 访问不了,所以获取不到安装的脚本文件。所以替换为码云的资源
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
Copy

2024-12-03T23:37:50-einspaiq.png

Step2:根据屏幕提示按下键盘上的“return(回车键)”,然后输入“管理员密码(本地账户开机密码)”按下“return(回车键)”即可进入自动安装界面

ps:如何遇到安装问题可以参考这篇博客https://blog.csdn.net/weixin_39504171/article/details/107570080

2.3.2 brew cask list

brew cask list

2.3.3 brew 安装常用工具

按需下载

工具名

安装命令

备注

工具名

安装命令

备注

git

brew install git

版本管理工具

wget

brew install wget

下载工具

curl

brew install curl

下载工具

tmux

brew install tmux

终端复用 神器

vim

brew install vim

升级 vim 到 8.x 版本,替换系 统自带 vim

JDK

brew cask install java

open jdk java

tree

brew install tree

目录展示工具

lua

brew install lua

lua 编程语言

coreutils

brew install coreutils

gnu 核心工具

bin

brew install binutils

gnu bin 工具

diff

brew install diffutils

gnu 比较工具

find

brew install findutils

gnu 查找工具

ag

brew install the_silver_searcher

高效内容查找 工具, 比 grep、ack 更快的递归搜索文件内容

rzsz

brew install lrzsz

ssh 上传下载文件

go

brew install go

go 语言

node

brew install node

node

jq

brew install jq

命令行 json 处理工具

htop

brew install htop

代替 top

axel

brew install axel

多线程下载工具

cloc

brew install cloc

代码统计工具

shellcheck

brew install shellcheck

shell 脚本检 查工具

tldr

brew install tldr

命令行示例

ncdu

brew install ncdu

磁盘空间占用分

glances

brew install glances

监控工具

figlet

brew install figlet

艺术字转换

screenFetch

brew install screenFetch

系统信息

nmap

brew install nmap

网络扫描工具

ctop

brew install ctop

docker 容器监控工具

pstree

brew install pstree

进程树查看

bash-completion

brew install bash-completion

bash 补全

lolcat

brew install lolcat

彩虹文字

peco

brew install peco

go 写的极简过滤工具

cowsay

brew install cowsay

ascii 图片

graphviz

brew install graphviz

拓扑图绘制工具,很对关系 绘制工具底层依赖

2.3.4 brew cask 安装常用工具

按需下载

工具名

安装命令

备注

cask

brew tap caskroom/cask

cask

cask update

brew update && brew upgrade brew-cask && brew cleanup

-

iterm2

brew install –cask iterm2

终端神器

google-chrome

brew install –cask google-chrome

chrome

firefox

brew install –cask firefox

firefox

alfred

brew install –cask alfred

快捷键工具

dash

brew install dash

文档工具

vscode

brew install –cask visual-studio-code

文本编辑器,微软出品,首推

sublimetext

brew install –cask sublime-text

文本 编辑器

postman

brew install postman

http 模拟 app

wireshark

brew install –cask wireshark

网络抓包 工具

drawio

brew install –cask drawio

流程图绘制工具, 可替代 visio

xmind

brew install –cask xmind

思维导图工具

macpass

brew install –cask macpass

免费的密码管理 工具

beyond-compare

brew install –cask beyond-compare

老牌图形化比较工具

youdaodict

brew install –cask youdaodict

有道词 典

typora

brew install –cask typora

markdown 工具, 首推

macdown

brew install –cask macdown

markdown 工 具

docker

brew install –cask docker

docker 必备

moom

brew install –cask moom

窗口大小调整工具,收费

snip

brew install –cask snip

截图工具

the-unarchiver

brew install –cask the-unarchiver

解压工具, 可解 rar

keka

brew install –cask keka

解压工具

fonts

brew tap caskroom/fonts

安装字体

source-code-pro

brew install –cask font-source-code-pro

Adobe 出品编程字体

android-file-transfer

brew install –cask android-file-transfer

安卓文件传输工具

licecap

brew install –cask licecap

录屏软件

kap

brew install –cask kap

视频录屏

sougou

brew install –cask sogouinput

搜狗拼音

scroll-reverser

brew install –cask scroll-reverser

触摸板滑动反转

go2shell

brew install go2shell

go2shell finder 直接跳转至命令行

rdm

brew install rdm

rdm redis desktop manager

imagemagick

brew install imagemagick

图片编辑工具

motrix

brew install –cask motrix

下载工具

clashx

brew install –cask clashx

Charles

brew install –cask Charles

网络抓包应用

2.4 安装iterm2

支持半透明, 边打命令、边看其它东东, 两不误。

有快捷键可以快速唤起窗口

2.4.1 下载iterm2

启动台 –> 终端,输入以下命令:

#使用brew下载
brew install --cask iterm2
Copy
2.4.2 设置iterm2配色

iterm2 配色官网

iterm2 –> preference –> profiles –> colors –> Color Presets –> solarized dark

2.4.3 安装oh-my-zsh
#使用wget下载oh-my-zsh
sh -c "$(wget -O- https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

#更改zsh为默认Shell
chsh -s /bin/zsh

#查看主题
ls ~/.oh-my-zsh/theme

#设置主题
#打开~/.zshrc文件
vim ~/.zshrc文件
#推荐选用ys主题,简洁并且该有的信息都有;找到ZSH_THEME这一行,把默认的修改为如下:
ZSH_THEME="ys"
#使配置生效
source ~/.zshrc

#下载自动补全插件和语法高亮插件
#切换目录
cd /Users/mike/.oh-my-zsh
#下载,也可以直接到github下载,放到/Users/mike/.oh-my-zsh/plugins文件夹下
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

git clone git://github.com/zsh-users/zsh-syntax-highlighting $ZSH_CUSTOM/plugins/zsh-syntax-highlighting


#设置插件
#打开~/.zshrc文件
vim ~/.zshrc 
#找到plugins=(git)这一行,把默认的修改为如下:
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
#使配置生效
source ~/.zshrc
Copy

2024-12-03T23:37:53-awzqatez.png

2.4.3.1 安装插件报错

报错信息:启动iterm ohmyzsh报错:Insecure completion-dependent directories detected:

2024-12-03T23:38:00-pjenqaeo.png

原因:插件文件夹权限问题

解决方法:赋予权限后,重启iterm即可。

#授权
chmod 755 /Users/mike/.oh-my-zsh/plugins/zsh-autosuggestions
chmod 755 /Users/mike/.oh-my-zsh/plugins/zsh-syntax-highlighting
Copy
2.4.4 iterm实现上传下载
2.4.4.1 安装lrzsz和脚本
#使用brew下载lrzsz
brew install lrzsz 
#切换到 /usr/local/bin
cd /usr/local/bin
#创建脚本 
sudo vim iterm2-send-zmodem.sh
sudo vim iterm2-recv-zmodem.sh
#授予执行权限
sudo chmod 777 iterm2*
#查看lrzsz的位置,需要根据得到位置信息,修改对应脚本中,sz和rz的路径。不然会报错
brew list lrzsz
Copy

iterm2-send-zmodem.sh脚本详细信息如下:

#!/bin/bash
# 这个脚本来自 github,删掉了一些 ** 言论。

osascript -e 'tell application "iTerm2" to version' > /dev/null 2>&1 && NAME=iTerm2 || NAME=iTerm
if [[ $NAME = "iTerm" ]]; then
	FILE=`osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"`
else
	FILE=`osascript -e 'tell application "iTerm2" to activate' -e 'tell application "iTerm2" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"`
fi
if [[ $FILE = "" ]]; then
	echo Cancelled.
	# Send ZModem cancel
	echo -e \\x18\\x18\\x18\\x18\\x18
	sleep 1
	echo
	echo \# Cancelled transfer
else
	/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/sz "$FILE" --escape --binary --bufsize 4096
	sleep 1
	echo
	echo \# Received $FILE
fi
Copy

iterm2-recv-zmodem.sh脚本详细信息如下:

#!/bin/bash
# 这个脚本来自 github,删掉了一些 ** 言论。

osascript -e 'tell application "iTerm2" to version' > /dev/null 2>&1 && NAME=iTerm2 || NAME=iTerm
if [[ $NAME = "iTerm" ]]; then
	FILE=$(osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")")
else
	FILE=$(osascript -e 'tell application "iTerm2" to activate' -e 'tell application "iTerm2" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")")
fi

if [[ $FILE = "" ]]; then
	echo Cancelled.
	# Send ZModem cancel
	echo -e \\x18\\x18\\x18\\x18\\x18
	sleep 1
	echo
	echo \# Cancelled transfer
else
	cd "$FILE"
	/opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/rz -E -e -b --bufsize 4096
	sleep 1
	echo
	echo
	echo \# Sent \-\> $FILE
fi
Copy
2.4.4.2 设置Iterm2的Tirgger特性

打开iTerm2 -> Perfences -> profiles -> default -> Advanced -> Triggers 的 Edit 按钮;添加两条trigger;

分别设置 Regular expression,Action,Parameters,Instant;

示例如下:

1.第一条
        Regular expression: rz waiting to receive.\*\*B0100
        Action: Run Silent Coprocess
        Parameters: /usr/local/bin/iterm2-send-zmodem.sh
        Instant: checked
2.第二条
        Regular expression: \*\*B00000000000000
        Action: Run Silent Coprocess
        Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
        Instant: checked
Copy

具体图示:

2024-12-03T23:37:56-xdinzhzk.png

2.4.4.3 远端服务器上安装lrzsz
#使用yum安装lrzse
yum -y install lrzsz
Copy
2.4.4.4 上传下载测试

登陆远端服务器测试上传下载功能;

#在命令行输入 rz 就会弹出文件选择框,选择文件 choose 就开始上传,会上传到当前目录
rz
#sz fileName(你要下载的文件的名字) 回车,会弹出窗体 我们选择要保存的地方即可。
sz fileName
Copy

2024-12-03T23:37:56-kebqwcol.png

image-20220406113520632

2.4.4.5 免密登陆
#下载ssh-copy-id
brew install ssh-copy-id
#为远程服务器设置免密登陆
ssh-copy-id root@1.2.3.4
# 等价于
ssh-copy-id -i ~/.ssh/id_rsa.pub root@1.2.3.4 -p 22
Copy

ssh-copy-id 这个工具,它的原理其实是把自己的公钥(默认使用 ~/.ssh/id_rsa.pub 这个文件中的内容)复制到目标服务器的~/.ssh/authorized_keys 文件内。

可以利用 SSH 的配置文件来记住已有的配置,快速登录:

编辑~/.ssh/config 文件:

vim ~/.ssh/config
Copy

~/.ssh/config文件示例:

Host ss
    HostName x.x.x.x
    User root
    Port 22
    IdentityFile ~/.ssh/id_rsa
Copy

后续,仅需要ssh ss,即可免密登录。

2.4.5 常用快捷键
⌘ + Click:可以打开文件,文件夹和链接
⌘ + n:新建窗口
⌘ + t:新建标签页
⌘ + w:关闭当前页
⌘ + 数字 & ⌘ + 方向键:切换标签页
⌥⌘ + 数字:切换窗口
⌘ + enter:切换全屏
⌘ + d:左右分屏
⇧⌘ + d:上下分屏
⌘ + ;:自动补全历史记录
⇧⌘ + h:自动补全剪贴板历史
⌥⌘ + e:查找所有来定位某个标签页
⌘ + r & ⌃ + l:清屏
⌘ + /:显示光标位置
⌥⌘ + b:历史回放
⌘ + f:查找,然后用 tab 和 ⇧ + tab 可以向右和向左补全,补全之后的内容会被自动复制, 还可以用 ⌥ + enter 将查找结果输入终端
选中即复制,鼠标中键粘贴
Copy

2.5 安装SDKMAN(JAVA 语言版本控制)

SDKMAN是一种用于在大多数基于 Unix 的系统上管理多个软件开发工具包的并行版本的工具。它提供了方便的命令行界面 (CLI) 和 API,用于安装、切换、删除和列出可供安装的版本。

SDKMAN官网

2.5.1 sdkman下载

step1: 启动台 –> iterm2,输入以下命令:

curl -s "https://get.sdkman.io" | bash
Copy

2024-12-03T23:37:50-uttdnnqv.png

step2: 安装操作提示,输入提示的命令:

#$HOME是你自己的安装目录
source "$HOME/.sdkman/bin/sdkman-init.sh"
Copy

step3: 查看版本

#查看版本
sdk version
Copy

2024-12-03T23:37:51-icttfvun.png

2.5.2 sdkman命令

常用命令

#查看所有支持SDK,按q退出
sdk list
#查看指定SDK的不同版本,按q退出
sdk list java
#安装SDK指定版本
sdk install java 8.0.322-zulu
#删除SDK指定版本,注意,删除本地版本不会删除本地安装。
sdk uninstall java 8.0.322-zulu
#查看当前所有正在使用的SDK版本
sdk current
#使用当前sdk版本,只会使当前shell生效。
sdk use java 8.0.322-zulu
#使用默认设置,使所有shell都默认使用当前版本。
sdk default java 8.0.322-zulu
#查看当前指定SDK使用的版本
sdk current java
#查看安装路径
sdk home java 8.0.322-zulu
#查看Java home
echo $JAVA_HOME

#环境命令
#每次访问项目时都想切换到特定的 JDK 或 SDK?这可以通过.sdkmanrc项目目录中的文件来实现。可以通过发出以下命令自动生成此文件:
sdk env init
#查看.sdkmanrc文件
vim .sdkmanrc
#更新环境,根据当前使用的sdk版本更新。
sdk env
#重载环境
sdk env clear

#sdk帮助
sdk help
Copy

更多有用的命令和用法可以在SDKMAN Usage找到。

2.6 安装pyenv(python 语言版本控制)

pyenv 让您可以轻松地在多个 Python 版本之间切换。它简单、不显眼,并且遵循 UNIX 的传统,即做好一件事的单一用途工具。

2.6.1 pyenv下载

step1: 启动台 –> iterm2,输入以下命令:

#下载安装pyenv
brew install pyenv
Copy

2024-12-03T23:38:00-onoomkph.png

step2: 配置shell环境

#追加环境变量
echo 'export PYENV_ROOT="$HOME/.pyenv"' >>~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >>~/.zshrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi'>>~/.zshrc
#使配置生效
source ~/.zshrc
Copy

2024-12-03T23:37:59-efevxyvc.png

step3: 查看版本

#查看版本
pyenv -v
Copy
2.6.2 pyenv命令(目前M1版本使用pyenv安装报错)
#pyenv帮助
pyenv help
#pyenv命令
pyenv commands
#查看 pyenv 的版本
pyenv --version
#罗列当前已安装的所有 python 环境,如果是当前正在使用的环境,则前面会有个 *
pyenv versions


#查看可以安装的版本信息
pyenv install -l
#安装指定版本的 python
pyenv install 3.6.4
#更新本地数据库,安装指定版本的 python 后使用
pyenv rehash

#更改本机版本,重启不会造成再次更改
pyenv global 版本号
#会在当前目录创建 .python-version 文件,并记录设置的 python 环境,每次进入该目录会自动设置成该 python 环境
pyenv local 版本号
#更改当前 shell 下使用的 python 版本,临时生效,优先级高于 global
pyenv shell 版本号

 # 创建虚拟环境
 pyenv virtualenv 3.6.4 env-3.6.4
 # 激活虚拟环境
 pyenv activate env-3.6.4
 # 退出虚拟环境
 pyenv deactivate
Copy

2.7 安装arfled

Alfred 是一款本地搜索及快速启动工具,它可以帮你提高工作效率。alfred可以快速的搜索本地应用、搜索本地文件、执行终端命令、翻译、文件管理、音乐控制等等!

2.8 安装Dash

Dash 是一款功能强大的API文档浏览器和代码片段管理器,内置了丰富的API文档,多达150多种,可以在线下载各种开发API和文档资料,可以让您集中管理API文档,包括离线下载、搜索、查阅,包括各种主流的编程语言和框架,如Cocos2D, Cocos3D, Corona, CSS, HTML, Java, Objective-C, JavaScript, jQuery, Vue,React等, 不需要在到处下载 API 文档,Dash 已经自动集成了,并支持集成到Webstrom、Xcode、Alfred等软件中,非常的强大!开发者必备的API文档参考工具。

三、开发工具篇

3.1 JDK安装

3.2 官网下载安装
3.3 通过SDKMAN安装JDK
#查看jdk版本
sdk list java
#安装JDK指定版本
sdk install java 8.0.322-zulu
#使用默认设置,使所有shell都默认使用当前版本。
sdk default java 8.0.322-zulu
#查看安装路径
sdk home java 8.0.322-zulu
#查看Java home
echo $JAVA_HOME
#查看java版本
java -version
Copy

2024-12-03T23:37:52-zvtumvtl.png

3.2 Maven安装

3.2.1 通过SDKMAN安装Maven
#查看Maven版本
sdk list maven
#选择指定版本安装,不输入指定版本的话,默认安装最新稳定版本
sdk install maven 3.8.5
#使用默认设置,使所有shell都默认使用当前版本。
sdk default maven 3.8.5
#查看安装路径
sdk home maven 3.8.5
#查看maven版本
mvn -v
Copy

2024-12-03T23:37:53-cwtwwecu.png

3.3 IDEA安装

3.3.1 IDEA下载

下载传送门

其它途径

3.3.2 IDEA设置

IDEA环境设置参考

3.4 SourceTree安装

Sourcetree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,主要依赖可视化界面操作,省去繁琐复杂不容易理解的终端命令,Sourcetree也是Mercurial和Subversion版本控制系统工具,支持创建Local repositories 和remote repositories、submit、clone、push、pull 和merge等操作,可以应用于github或者码云,类似于Xcode集成的git功能,不过Sourcetree更专注于管理,具备更加直观的文件管理/源代码管理.

3.5 ShadowsocksX安装

3.6 Proxifier安装

Proxifier是一款SOCKS5客户端通用代理软件,支持网络应用程序通过HTTPS或SOCKS代理上网。Proxifier支持XP,Vista,Win7和MAC OS等操作系统,支持SOCKS4,SOCKS5,HTTP,TCP和UDP等协议; Proxifier还支持玩各种网页游戏,游戏速度非常流畅。

3.6 python安装

#安装python
brew install python
#查看软件安装位置
which python3
which pip3
#查看版本
python3 -V
Copy

2024-12-03T23:37:57-qkimdnsg.png

3.6.1 配置环境变量
#修改配置
vim ~/.zshrc
#在文件最后加上

# python3.9
alias python='/opt/homebrew/bin/python3'
export PATH=“/opt/homebrew/bin/python3/bin:${PATH}”

# 配置pip
alias pip='/opt/homebrew/bin/pip3'
export PATH=“opt/homebrew/bin/pip3:${PATH}”

#使文件生效
source ~/.zshrc

#检查是否生效
python -V
pip -V
Copy

2024-12-03T23:37:57-eknrjkle.png

2024-12-03T23:37:58-qsmrwank.png