这篇笔记主要是用来整理自己一直在使用的一些较为好用的终端工具/扩展。
Boo's Blog
Stay foolish, Stay hungry
这篇笔记主要是用来整理自己一直在使用的一些较为好用的终端工具/扩展。
很久之前在Mac 上做开发,起初搭建环境时遇到了部分问题,加上Mac 预装的那个PHP 版本,实在是不好用,php-fpm
总是启不动,最后索性决定在本地自己装个多版本,可以随时自由切换。
最近使用Mac 时,被告知磁盘空间严重不足了,我心想最近又没有下载什么大文件,怎么会突然满盘了。
本来之前就知道有 tmux
这样一个窗口分隔工具,只不过一直使用着iTerm2
,本身就自带有标签页功能,所以就一直没去学习这个工具。
这段时间需要经常访问Linux
服务器,所以在服务器上安装了这个工具。
Mac:
1 | brew install tmux |
Linux:
1 | apt-get install tmux |
一般情况下 tmux
中所有的快捷键都需要和前缀快捷键 ⌃b
来组合使用(注:⌃ 为 Mac 的 control 键),以下是常用的窗格(pane
)快捷键列表。
第一次使用tmux
可能会被Session
、窗口
、窗格
这些陌生的概念,弄得摸不着头脑。
这里总结成一句话就是:
一个完整的会话(Session)是由数个窗口组成,而一个窗口又可以分成若各个窗格。
使用tmux
命令会默认新建一个tmux
会话:
1 | // 默认新建一个Session 名称为 0 的窗口。 |
常用Session
操作:
窗口的概念不同于窗格,窗口互不影响,窗格相互分隔。
常用窗口操作:
窗格是在窗口下的概念,若干个窗格组成一个窗口。
常用窗格操作:
上面那些命令都是配合⌃ + b
快捷键使用的,下面的这些命令都是在Shell
进程中直接执行的。
新建名称为 foo 的会话
1 | tmux new -s foo |
列出所有 tmux 会话
1 | tmux ls |
恢复上一次会话
1 | tmux a |
恢复名为 foo 的会话
1 | tmux a -t foo |
删除名为 foo 的会话
1 | tmux kill -session -t foo |
删除所有会话
1 | tmux kill -server |
tmux
和iTerm2
都有窗口管理方面的功能,只是前者相比后者的优势在于:
iTerm2
的窗格切换快捷键(⌘⌥→
)容易与其他软件全局快捷键冲突(例如 Spectacle
的窗口分割快捷键),tmux
由于存在前缀快捷键,所以不存在快捷键冲突问题;tmux
可以在终端软件重启后通过命令行恢复上次的 session
,而终端软件则不行;tmux
简洁优雅、订制性强,学会之后也能在 Linux
上使用,有助于逼格提升。每当手上有两台或多台电脑时,如果想传送一个文件,第一个想到的就是微信、QQ等这类工具。
如果碰到了大一点的文件,就得换成网盘或者移动硬盘。
身为一个做开发者,这种做法比较low,所以找了几篇文章学习到了如何在局域网内共享文件。
如何将输出直接复制至剪切板?在不同的系统中,所使用的命令是不同的。
有时候可能会想在本地开启Mysql 的日志记录,看看具体都执行了哪些SQL,其实非常简单。