zoukankan      html  css  js  c++  java
  • Tmux简单使用

    为什么要用Tmux

    有时候需要SSH或者telent远程登录到Linux服务器上执行一个长时间运行的命令,但是网络断开或者窗口关闭都会导致任务的退出了

    这是因为我们打开一个终端程序(xshell/CRT/Item2),连接本机或者远程就创建一个会话

    典型的场景就是:有时候需要SSH或者telent远程登录到Linux服务器上执行一个长时间运行的命令,但是网络断开或者窗口关闭都会导致任务的退出了

    我们执行的命令就是在这个会话内执行的,当我们退出终端或者网络断开后,就会给会话发送中断的指令,又因为我们运行的命令是通过这个会话创建的,退出指令会传递给我们会话创建的进程

    我们常见的操作使用nohub,nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号或者使用更方便功能更强大的tmux

    Tmux作用

    • 它允许在单个窗口中,同时访问多个会话。这对于同时干多件事有很大用处
    • 可以在不同的窗口中,访问已存在的会话。并可以进行实时共享会话
    • 它不会随着窗口关闭或者Session端口而关闭会话统一由Tmux维护

    Tmux安装

    # CentOS
    yum install tmux
    
    # Mac
    brew install tmux

    Tmux常用命令

    查看有那些tmux会话: [tmux ls]

    tmux ls
    # or
    tmux list-session

    栗子:

    [@js_27_144 ~]# tmux ls
    rsync_big_file: 1 windows (created Wed Jan 15 17:04:41 2020) [114x58]
    [@js_27_144 ~]#

    创建新tmux会话

    # 默认(使用的是tmux默认的id不容易识别到底是干什么的)
    tmux new
    
    # 使用-s参数指定名称
    tmux new -s rsync_file

    进入存在的tmux会话:[tmux at -t session-name]

    # 使用会话id
    tmux attach -t 0
    
    # 使用会话名称
    tmux attach -t <session-name>

    栗子

    [@js_27_144 ~]# tmux ls
    1: 1 windows (created Wed Jan 15 17:08:30 2020) [114x58]
    rsync_big_file: 1 windows (created Wed Jan 15 17:04:41 2020) [114x58]
    [@js_27_144 ~]#
    [@js_27_144 ~]# tmux at -t rsync_big_file

     挂起tmux会话,退出tmux并且tmux会话保持后台运行

    # 调出命令行输入
    detach
    
    # 或者使用快捷键
    ctrl+b d

    杀死tmux会话

    # 使用会话编号
    tmux kill-session -t 0
    
    # 使用会话名称
    tmux kill-session -t <session-name>

    会话快捷键

    [ctrl+b d] 挂起会话保持后台运行:按住ctrl不放同时按b,所有按键松开在按d

    [ctrl+b s] 在tmux窗口列出当前tmux会话:按住ctrl不放同时按b,所有按键松开在按s,然后就可以按上下键切换会话,回车进入,按:q退出选择界面

    [ctrl+b $] 在tmux窗口重命名当前会话按住ctrl不放同时按b,所有按键松开在按$

    [ctrl+b 0] 在tmux窗口切换会话:按住ctrl不放同时按b,所有按键松开在按0是选择id为0个session会话,ctrl+b 1 是选择id为1的会话

    [ctrl+b :]在tmux窗口调出命令行:按住ctrl不放同时按b,所有按键松开在按:(冒号)

    [ctrl+b ?]在tmux窗口调出帮助菜单里面有各种快捷键提示:按住ctrl不放同时按b,所有按键松开在按?(问好)

    tmux问题

    1 默认不能滚动窗口上下翻看历史输出的内容

    启用滚轮查看日志

    # 允许使用鼠标控制,选中复制(想翻看记录直接调出命令行接口然后输入就行,或者直接写到配置文件 ~/.tmux.conf)
    setw -g mode-mouse on
    
    
    
    # 如果只想通过鼠标选中复制内容或者翻看历史屏幕输入或输出内容,启用上面一条就可以了,下面的东西我个人感觉属于锦上添花有没有都行
    
    
    # 允许鼠标选择窗口(在多窗口下使用更好)
    set -g mouse-select-pane on
    
    # 允许鼠标调整窗口的大小(多窗口下可以使用鼠标调整窗口大小)
    set -g mouse-resize-pane on
    
    # 允许鼠标选择tmux打开的session列表可以替代ctrl+b 0 / ctrl+b 1
    set -g mouse-select-window on
  • 相关阅读:
    ARP 协议
    天梯赛L1 题解
    DNS域名系统
    LeetCode 三角形最小路径和
    sql注入漏洞的利用
    XSS漏洞防御
    忘记密码功能漏洞挖掘
    sql bypass
    Web环境搭建组合
    常用数据库的总结
  • 原文地址:https://www.cnblogs.com/luotianshuai/p/12197378.html
Copyright © 2011-2022 走看看