tmux

会话和进程:

平时使用命令行一般都是打开一个终端,输入ssh指令,和远程主机进行交互,然后关闭窗口,这称之为一次会话(session);

下次打开的时候需要重新连接远程主机,同时上次的操作历史指令已经不见了。这就反应了会话的特性,窗口和在窗口中启动的会话进程是强绑定的,打开窗口,会话开始,关闭窗口,会话结束,同时在会话中启动的进程也会结束。

为了解决这个问题,会话和窗口可以解绑,窗口关闭,会话不结束。同时会话还可以和其他窗口绑定。

tmux :

目前 Linux 系统对会话和窗口 绑定/解绑 功能不直接支持的, 所以我们要借助与其他的工具。screen, tmux 都是 该类型的工具, tmux 更加的强大,易用。

安装 tmux:
 Ubuntu 或 Debian : apt-get install tmux

 CentOS 或 Fedora: yum install tmux

 Mac : brew install tmux
tmux 基本概念简介:

快捷键前缀:

tmux 有大量的快捷键,所有的快捷键都是通过前缀键 启动。相当于按下前缀键之后 会进入一个快捷键模式,之后才能使用快捷键。默认前缀键是 ctrl + b, 即按下 这两个键,就会进入快捷键模式;

例如最常用的 帮助命令快捷键是 ?,那么我们就要按下前缀键 ctrl + b, 之后再按下 ?,然后就会显示帮助信息了。

tmux 的对象映射关系:
注意点:

上层和下层的对应关系都是 1 : N, 使用快捷键和命令可以来回切换。

其中需要注意的是,我们执行最终的操作,也就是执行 shell 命令的部分都是在 会话级别的,也就是说,最终的实际操作都是在 Session 中进行的。

session 是可以在 窗格和窗口中 共享的,也就是说 在一个窗格下的session 可以在当前窗口中窗格 和 当前终端下的其他窗口下的窗格中访问的。

当窗口没有 分割为 窗格的时候,当前窗口就是一个单独的窗格。

会话管理:
新建会话:
tmux new -s  name
查看所有会话列表:
tmux ls / tmux list-session
解绑当前会话:
tmux detach 
绑定指定会话到当前窗格:
tmux attach -t session-name
杀死会话:
tmux kill-session -t session-name
切换会话:
tmux switch -t session-name
重命名会话:
tmux rename-session -t session-name new-session-name
窗格管理:
分割窗格:
tmux split-window  : 上下分割  (-h 左右分割)
选择窗格:
tmux select-pane [-U ]  [-D ]  [-L ]  [-R ]  : 上///
交换窗格:
tmux swap-pane -U / -D 仅支持上下交换
常用窗格相关快捷键(默认都需要 先按下前导键 ):

z(zoom) : 最大化;x: 关闭该窗格;方向键:切换焦点到其他窗格;q: 显示窗格编号;ctrl + 方向键:调整当前焦点的窗格大小;

窗口管理:
新建窗口:
tmux new-window -n window-name
切换窗口:
tmux select-window -t window-name
重命名窗口:
tmux rename-window new-name
常见错误:
创建会话出现:sessions should be nested with care, unset $TMUX to force:

意思是你不能在一个 虚拟会话中创建另一个虚拟会话。

也就是说你当前本身是在一个虚拟会话中的,所以你不能再创建另一个虚拟会话,解决办法就是,解绑当前虚拟会话,然后再创建会话

也就是执行 tmux detach, 然后在执行 tmux new -s session-name; 就可以了。

参考资料:

http://www.ruanyifeng.com/blog/2019/10/tmux.html
http://cenalulu.github.io/linux/professional-tmux-skills/
http://cenalulu.github.io/linux/tmux/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值