美文网首页
tmux 使用

tmux 使用

作者: 只知坚持_d778 | 来源:发表于2019-03-06 14:24 被阅读0次

    资料:
    https://www.cnblogs.com/wangqiguo/p/8905081.html

    sudo apt-get install tmux

    tmux会话部分:

    • ctrl+b d 退出会话 (字母d是detach的缩写)
      我们经常会用到tmux的组合键,一般的组合键中都会加一个前缀也就是 ctrl+b
    tmux ls 终端环境查看会话session列表
    会话环境中运行 ctrl+b s
    
    可以看到在列出的列表中,只有1行,说明只有一个session,
    其中左边的session1表示该session的名字,中间2 windows说明该session1会话中有2个window,
    右边表示该会话创建的时间。
    如果该机器中有多个tmux会话在后台运行,那么这里会列出多行。因为tmux会话在后台运行
    

    ps -ef | grep tmux tmux的进程在后台运行来维持这些会话,exp : tmux new -s session1

    • ctrl+b s 来获取当前linux机器上tmux所有的后台会话列表
      session会话名 window 会话窗口数量 attached表示当前会话
      此时可以通过方向键选择会话并回车,在会话间进行切换。

    • tmux new -s 命令创建一个tmux会话并进入该会话

    • tmux a -t session1 从终端环境进入会话
      如果在终端环境中运行 tmux ls 查看有tmux会话正在后台运行,如何进入到该正在后台中运行的会话呢,通过运行 tmux a -t session1 即可进入到该已存在的会话 session1 中。其中a字母是attach的头字母,表示附加, -t 指定要进入已存在的会话名,如果不存在则会报告 session not found 错误。

    • tmux kill-session -t session1 销毁会话
      在会话环境中运行 ctrl+b : (注意按组合键之后再按一个冒号键),状态栏变成黄色之后提示我们可以在会话环境中输入命令,此时输入 kill-session -t session1 回车即可。其中session1是要销毁的会话名。

    • tmux rename -t old_session_name new_session_name 重命名会话
      ctrl + b $ 重命名会话 (在会话环境中)

    tmux窗口部分:

    • 一个tmux的会话中可以有多个窗口(window),每个窗口又可以分割成多个pane(窗格)。我们工作的最小单位其实是窗格。默认情况下在一个window中,只有一个大窗格,占满整个窗口区域。我们在这个区域工作。
    o_session.png
    • 新创建的会话中会默认创建一个窗口,该窗口名字一般是登陆终端的用户名@主机名,我们可以通过 crtl+b , (组合键之后按一个逗号)来修改当前窗口的名字,如上图所示的窗口名字myserver1就是修改之后的名字。该名字后面有一个*号,表示该窗口是活动窗口(键盘输入会输入到该窗口中)

    • ctrl+b c 创建之后会多出一个窗口如下图所示:


      o_create_window.png
    • 切换window

    在同一个会话的多个窗口之间可以通过如下快捷键进行切换:
    
    ctrl+b p (previous的首字母) 切换到上一个window。
    
    ctrl+b n (next的首字母) 切换到下一个window。
    
    ctrl+b 0 切换到0号window,依次类推,可换成任意窗口序号
    
    ctrl+b w (windows的首字母) 列出当前session所有window,通过上、下键切换窗口
    
    ctrl+b l (字母L的小写)相邻的window切换
    
    • ctrl+b & 关闭当前window
      ctrl+b & 关闭当前window,会给出提示是否关闭当前窗口,按下y确认即可。

    tmux窗格部分:

    • tmux的一个窗口可以被分成多个pane(窗格),可以做出分屏的效果。

    • ctrl+b % 垂直分屏(组合键之后按一个百分号),用一条垂线把当前窗口分成左右两屏。

    • ctrl+b " 水平分屏(组合键之后按一个双引号),用一条水平线把当前窗口分成上下两屏。

    • 分屏之后光标停留在哪个pane上,表示该pane是活动的,另外一般情况下当前pane会被绿色的线条围起来。一般分屏之后当前窗口名字会重置为默认窗口名字。通过多次分屏操作,我们可以得到各种样子的分屏效果,例如下图显示的是一次垂直分屏之后,在右边pane中再次水平分屏的效果:


      o_pane_multi.png
    • 切换pane

    ctrl+b o 依次切换当前窗口下的各个pane。
    
    ctrl+b Up|Down|Left|Right 根据按箭方向选择切换到某个pane。
    
    ctrl+b Space (空格键) 对当前窗口下的所有pane重新排列布局,每按一次,换一种样式。
    
    ctrl+b z 最大化当前pane。再按一次后恢复。
    
    • 关闭pane
      ctrl+b x 关闭当前使用中的pane,操作之后会给出是否关闭的提示,按y确认即关闭。
      或者 直接输入: exit
    • ctrl +b z 最大化当前pane
      如果想, 恢复再按一次

    tmux window中的历史输出查看

    • 在tmux里面,因为每个窗口(tmux window)的历史内容已经被tmux接管了,当我们在每个tmux的window之间进行来回切换,来回操作,那么我们没有办法看到一个window里面屏幕上的历史输出。没办法使用鼠标滚动(例如在SecureCRT中)查看之前的内容,
    • 改用C-b [ 进入copy mode,然后就可以用PgUp/PgDn/光标来浏览历史输出了,按q退出。C-b PgUp 也可以直接进入coy mode.

    相关文章

      网友评论

          本文标题:tmux 使用

          本文链接:https://www.haomeiwen.com/subject/hsttpqtx.html