shell
1、打开shell
command+space,输入terminal
。
或者 Launchpad,其他,终端。
为了方便使用,可以把终端放到Dock。
2、个性设置
在home目录下创建 .bash_profile 文件,内容为:
1 | # ll |
更好的方式是,使用ohmyzsh。
更多关于shell的内容,可以参考《Shell实用脚本》。
ohmyzsh
Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with thousands of helpful functions, helpers, plugins, themes, and a few things that make you shout…”Oh My ZSH!”
1 | sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
安装完ohmyzsh后,默认使用的shell配置文件是 .zshrc
,在最后添加:
1 | # bash_profile |
平时添加环境配置,依然在 .bash_profile 中添加,这样就保持了和linux配置的一致性。
在 .zshrc
或者 .bash_profile
中添加一些设置后,也许会提示:
1 | zsh compinit: insecure directories, run compaudit for list. |
解决办法:
1 | compaudit | xargs chmod g-w,o-w |
brew
brew 全称Homebrew,是Mac OSX上的软件包管理工具。
安装brew:
1 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" |
更换homebrew源:
1 | cd "$(brew --repo)" && git remote set-url origin git://mirrors.ustc.edu.cn/brew.git |
更多内容参考Homebrew/Linuxbrew 镜像使用帮助。
使用国内brew源如果出现下面这种问题:
tar: Error opening archive: Failed to open ‘xxx.catalina.bottle.tar.gz’
那么需要暂时改回默认的brew源:
1 | unset HOMEBREW_BREW_GIT_REMOTE |
iterm2
安装iterm2
配置rzsz
1、安装iterm2-zmodem
1 | brew install wget |
2、iterm2配置项
Profiles->OpenProfiles->EditProfiles->Advanced->Tirgger,添加
1 | Regular expression: /*/*B0100 |
clone session
1、Iterm2->Preferences->Profiles->Working Directory
勾选 Reuse previous session’s directory
2、编辑 .ssh/config 文件,添加
1 | host * |
3、重新打开终端,第一次登录需要密码。第二次登录同一台机器,就不需要密码了,nice。
更换主题和背景色
更换主题:Iterm2 -> Preferences -> Appearance -> General -> Theme
更换背景色:Iterm2 -> Preferences -> Profiles -> Colors -> Color Presets
设置scrollback lines
Iterm2 -> Preferences -> Profiles -> Terminal -> 修改为更多的行数,或者直接勾选Unlimited scrollback
全屏时显示Tab
View -> Show Tabs in Fullscreen
快捷键:Shift-Command-T
git
git配置参考《常用git命令》。
sublime
sublime破解方法:
1、vim /etc/hosts
,添加
1 | 127.0.0.1 www.sublimetext.com |
2、sublime中输入license
1 | ----- BEGIN LICENSE ----- |
该方法已失效。
ssh config
登录远程服务器,需要执行命令
1 | ssh username@host -p port |
记忆这些信息是很麻烦的,因此我们需要一个简单的方法。
1、创建 .ssh/config 文件,内容为
1 | Host jumpbox |
2、配置authorized_keys
1 | sudo curl -L https://raw.githubusercontent.com/beautifulcode/ssh-copy-id-for-OSX/master/install.sh | sh |
3、登录服务器
1 | ssh jumpbox |
mysql
1、安装启动mysql
1 | brew install mysql |
2、mysqlclient连接mysql
1 | mysql -uroot |
3、使用sequelpro连接mysql
报错: MySQL said: Authentication plugin ‘caching_sha2_password’ cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found
解决:参考MySQL重置密码,设置密码。
mysqlclient
1、安装mysqlclient
1 | brew install mysql-client |
2、.bash_profile 中添加路径
1 | # mysql-client |
3、测试使用
1 | source ~/.zshrc |
java
1、访问Java SE Downloads页面,下载dmg文件并安装
2、编辑 .bash_profile
文件,添加
1 | JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home |
3、测试安装
1 | source .bash_profile |
pyenv
参考CentOS安装配置pyenv。不同的是,本节是在macos环境中使用pyenv。
1、安装pyenv
1 | brew install pyenv |
2、配置pyenv
在 .bash_profile
中添加
1 | export PYENV_ROOT="$HOME/.pyenv" |
使配置生效:
1 | source ~/.bash_profile |
3、安装python3.6.10
1 | pyenv install -l |
如果安装很慢,这里提供一个小技巧:提前下载安装包。
1 | mkdir ~/.pyenv/cache |
4、切换python版本
1 | pyenv versions |
5、切换为原版本
1 | pyenv global system |
nvm
nvm是node版本管理管理工具(Node Version Manager),允许我们通过命令行快速安装和使用不同版本的node。
1、安装nvm
1 | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash |
如果下载脚本报错,就本地创建install.sh,从网页拷贝内容到install.sh后执行。
2、编辑 .bash_profile ,添加内容:
1 | export NVM_DIR="$HOME/.nvm" |
3、使配置生效
1 | source .bash_profile |
4、安装使用指定版本
1 | export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node |
wscat
wscat是用来测试websocket接口的工具,参考文档websockets/wscat
1 | npm install -g wscat |
tldr
tldr项目是社区维护的命令行工具帮助页面的集合,旨在成为对传统帮助的更简单的补充。
1、安装b
1 | pip3 install tldr |
2、使用
1 | tldr tar |
puer
puer是一个前端工具,能够在任意目录启动web静态服务,并且实时刷新。
1、全局安装puer
1 | npm install puer -g |
2、启动服务
1 | cd /path/to/workspace |
svrx是puer的进化版,同样好用。
1、全局安装svrx
1 | npm install @svrx/cli -g |
2、启动服务
1 | cd /path/to/workspace |
压缩与解压zip
压缩和解压zip文件:
1 | zip filename.zip filename |
加密压缩和解压zip文件:
1 | zip -er filename.zip filename |
解压中文名zip文件:
1 | brew update |
解压rar
1 | brew install unrar |
命令行发邮件
邮件系统有三个组成部分:邮件用户代理(MUA,Mail User Agent);邮件传送代理(MTA,Mail Transport Agent);邮件分发代理(MDA,Mail Deliver Agent)。
macos自带mail(mailx)命令,这是一个MUA,与之配合的是sendmail,一个MTA。但是,sendmail不支持使用外部MDA发邮件,因此需要把sendmail替换成msmtp。
1、安装msmtp
1 | brew install msmtp |
2、配置使用msmtp
1 | sudo vim /etc/mail.rc |
mail.rc中添加:
1 | set sendmail=/usr/local/bin/msmtp |
3、配置msmtp
1 | vim ~/.msmtprc |
.msmtprc 内容为:
1 | defaults |
4、修改 .msmtprc 权限
1 | chmod 600 ~/.msmtprc |
5、发送邮件
1 | echo "Hello world" | mail -s "test" voidking@qq.com |
frp
前提:参考《使用frp进行内网穿透》配置好frp服务端。
本节中,配置macos的内网穿透,
1、下载macos用的frp,这里下载frp_0.31.1_darwin_amd64.tar.gz。
2、解压并配置 frpc.ini
1 | [common] |
3、启动frpc客户端
1 | ./frpc -c frpc.ini |
4、启用远程登录
系统偏好设置,共享,勾选远程登录。
5、测试
1 | ssh localhost |
6、临时禁用mac休眠
关闭屏幕后,mac很快会进入休眠模式,无法再远程登录mac,因此需要临时禁用mac休眠。
1 | pmset noidle |
docker
参考Docker on Mac with Homebrew,安装配置docker。
1、安装docker
1 | brew cask install docker |
2、初始化配置
启动台,点击docker图标,按照提示进行初始化配置。
3、查看安装结果
1 | docker --version |
stretchly
Stretchly is a cross-platform Electron app that reminds you to take breaks when working on your computer.
这款软件界面友好,设置简单,提醒也很nice。唯一缺点是软件比较大,70M。
1 | brew update && brew install --cask stretchly |
或者下载dmg软件包进行安装。如果下载不下来,建议使用FDM进行下载。
virtualbox
virtualbox配置win10文件夹共享:
1、启动win10虚拟机
2、virtualbox菜单栏,Devices,Insert Guest Additions CD images
3、win10内,点击CD驱动器里的VBoxWindowAddions.exe进行插件安装
4、virtualbox win10虚拟机设置,共享文件夹
5、添加共享文件,共享文件夹路径选择宿主机(Mac)上的一个路径,共享文件夹名称随意,挂载点填入X:
6、win10虚拟机内出现了X盘,用于共享
gnu-sed
mac(类unix系统)使用bsd sed,而各种linux发行版用的是linux sed。因此,mac sed的用法和linux sed的用法会有一些差异,这就带来很多不便,解决办法是给mac安装linux sed。
1、安装gnu-sed
1 | brew install gnu-sed |
2、.bash_profile添加配置
1 | export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH" |
3、使配置生效
1 | source .bash_profile |
快捷cd目录
1、macos中安装autojump
1 | brew update && brew install autojump |
2、.bash_profile中添加配置
1 | # autojump |
3、使配置生效
1 | source .bash_profile |
4、使用
1 | j dirname |
然后配合tab补全,回车跳转目录。
PS:linux中可以通过配置CDPATH变量实现快捷cd目录
.bash_profile添加:
1 | # workdir |
ffmpeg
《m3u8视频下载方法》一文中提到ffmpeg是一个很好用的视频格式转换工具,在macos上安装和使用也很方便。
1、安装ffmpeg
1 | brew install ffmpeg |
安装报错 tar: Error opening archive: Failed to open ‘…–bdw-gc-8.0.4_2.catalina.bottle.tar.gz’
解决办法:
1 | export HOMEBREW_BOTTLE_DOMAIN='' |
2、flv转mp4
1 | ffmpeg -i filename.flv filename.mp4 |
openconnect
anyconnect下载费劲,需要注册并填写完整信息,而且配置也很麻烦,因此选择使用openconnect替代。
1、安装openconnect
1 | brew install openconnect |
2、启动openconnect
1 | sudo openconnect vpn.voidking.com |
第一次成功连接后,第二次连接时想要修改用户名密码,但是没有找到入口,于是换成图形界面的openconnect。
3、安装图形界面的openconnect
1 | brew install openconnect-gui --cask |
参考文档:
- RV34x: Install Cisco AnyConnect Secure Mobility Client on a Mac Computer
- MacOS上使用Openconnect代替Cisco Anyconnect
iperf
1、安装iperf
1 | brew install iperf |
2、服务器端安装iperf,启动iperf服务端
1 | yum install -y iperf |
3、使用iperf客户端测试网速
1 | iperf -c 192.168.56.112 -i 3 |
好用的软件
- Chrome,浏览器
- iterm2,shell终端
- sublime,编辑器
- wps,文档表格编辑器
- 百度云盘,云盘
- Skim,pdf阅读器
- CHM Viewer Star,chm阅读器
- draw.io/diagrams,软件工程绘图软件。小技巧:飞书云文档绘图和本地绘图可以相互复制粘贴。
- youtube-dl,视频下载工具
- you-get,视频下载工具
- FDM,下载工具
- IINA,视频播放器
- DBeaver,通用数据库客户端,能够连接mysql、postgresql、sqlite、oracle等等数据库
- sequelpro,mysql客户端。sequelpro测试版解决了退出报错问题
- Mounty,磁盘挂载工具
- postman,接口测试工具
- typora,markdown编辑器
- Stretchly,提醒休息工具
- 幕享,屏幕共享工具
- splashtop,屏幕共享工具
- JSON Viewer,json格式化工具
- Meld,代码对比工具
- Multipass,虚拟机管理工具
- Proxyman,抓包工具
- Wireshark,抓包工具
- Turbo Boost Switcher,CPU温度监测工具
- openconnect,anyconnect替代工具
- QuickFTP Server,macos启动ftp服务器
- AppCleaner,macos软件卸载工具
- Apache Directory Studio,ldap client
- He3,开发者必备的万能工具箱,内置超过200种实用工具