Fraser Xu Thoughts on life and code.

Tmux Cheat Sheets

Tmux是一个命令行下的session管理器。

安装

使用你喜欢的包管理器来安装。这里以port为例

$ sudo port install tmux

检查是否安装成功

$ tmux -V
tmux 1.8

$ which tmux
/opt/local/bin/tmux

$ man tmux

创建一个session

这里我们创建一个简单的nodejs静态服务器(假设有一个简单的server.js文件)

没有tmux的情况下:

  • 运行node server.js
  • 浏览器端访问服务器地址http://127.0.0.1:3000
  • 退出命令行/终端
  • 再次访问http://127.0.0.1:3000会发现服务器已经停止运行

有tmux的情况下

  • 运行tmux
  • 执行node server.js
  • 浏览器端访问服务器地址http://127.0.0.1:3000
  • 退出命令行/终端
  • 再次访问http://127.0.0.1:3000会发现服务器仍然正常运行

Session管理

启动session

tmux

启动一个自定义名称的session

tmux new -s [your-session-name]

列出所有运行中的session

tmux ls

添加一个session

tmux attach -t [your-session-name]

关闭一个session

tmux kill-session -t [your-session-name]

关闭所有sesion

tmux kill-server

窗口管理

在使用Tmux命令之前,默认需要同时按住Ctrl+b的前缀(这里注意是先同时按住,之后松开键盘,最后才输入需要执行的指令)

创建一个带有session的新窗口

tmux new -s [your-session-name] -n [your-window-name]
tmux new -s monitor -n top

在当前session中创建新窗口

Ctrl+b c

重命名当前窗口

Ctrl+b ,

使用Ctrl+b cCtrl+b ,,创建在四个窗口中运行的四个进程

  • 窗口名为top的运行top命令
  • 窗口名为ping的运行ping google.com命令
  • 窗口名为node的运行node server.js命令
  • 窗口名为errlog的运行tail -f /var/log/apache2/error_log命令

窗口间的移动

Ctrl+b n    // 跳到下个窗口
Ctrl+b p    // 跳到前一个窗口

Ctrl+b 0    // 跳到第一个窗口
Ctrl+b 1    // 跳到第二个窗口
Ctrl+b 2    // 跳到第三个窗口
Ctrl+b 3    // 跳到第四个窗口

Ctrl+b w    // 显示菜单选择
Ctrl+b f    // 查找窗口

panes

创建新session

tmux new -s monitor

竖直切割窗口

Ctrl+b %

水平切割

Ctrl+b "

panes间的切换

Ctrl+b o

在预定义布局间切换

Ctrl+b spacebar

关闭当前pane

Ctrl+b x

参考地址: http://build-podcast.com/tmux/