码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 使用Tmux的基本操作与后台运行命令


    文章目录

    • Tmux简介
    • Tmux安装
    • Tmux基本使用
    • Tmux后台运行程序

    Tmux简介

    Tmux是“终端复用器”,经常看到这种说法~。它是可以把一次会话中的命令记录下来的工具。会话、终端、命令、程序的关系是:

    终端(交互的工具)-> 会话(一个进程,也是链接终端的桥梁)-> 命令(指令)-> 程序依据命令运行

    Tmux Github页面:https://github.com/tmux/tmux

    Tmux安装

    Mac:

    brew install tmux
    
    • 1

    Linux:

    sudo apt-get install tmux # ubuntu
    sudo yum install tmux # centos
    
    • 1
    • 2

    Tmux基本使用

    在命令行中输入

    tmux
    
    • 1

    即可进入到tmux的界面,在窗口下面就可以看到新建的会话了。

    常用的命令如下:

    • 查看当前全部的tmux会话:tmux ls
    • 新建会话:tmux new -s [会话名字]
    • 分离会话并回到原始界面:tmux detach
    • 重新进入会话:
      -按照编号:tmux attach -t 0
      -按照名字:tmux attach -t [会话名字]
    • kill会话:
      -按照编号:tmux kill-session -t 0
      -按照名字:tmux kill-session -t [会话名字]
      -或者会话内直接输入exit

    同时也很多快捷键:

    使用快捷键需要先按一下ctrl+b,然后:

    • 快捷键帮助:ctrl+b,然后按一下?,最后按Esc退出
    • 查看当前全部的tmux会话:ctrl+b,然后按一下s
    • 分离会话并回到原始界面:ctrl+b,然后按一下d

    Tmux后台运行程序

    比如有一个脚本,叫做check.sh,内容是:

    for i in `seq 1 1000`
    do
       sleep 1
       echo $i
    done
    
    • 1
    • 2
    • 3
    • 4
    • 5

    如上,可以看出这段代码的逻辑是:循环输出从1到1000的数,每次都是等1s后输出
    然后我们赋予这个文件运行权限:

    chmod +x check.sh
    
    • 1

    然后新建一个tmux会话:

    tmux new -s check_tmux
    
    • 1

    然后在新的窗口中运行:

    ./check.sh
    
    • 1

    可以看到正在运行:
    在这里插入图片描述

    然后分离会话并回到原始界面,先按一下ctrl+b(这时其实界面没有任何变化,但是要小心,因为下一个按键按错了可能就是其他快捷键了),然后按一下d,退回到原始的命令行

    喝一杯茶,然后回去看看:

    tmux attach -t check_tmux
    
    • 1

    可以看到整个界面已经大不相同:

    在这里插入图片描述

    我们可以借助tmux输出难以放在后台的程序

    问:有什么程序不能使用nohup与&放在后台以至于需要这样的操作么??
    答:…hhhhhhhhhh,真心希望你不要碰到这种情况!

  • 相关阅读:
    springboot 调用第三方接口的方式(一)使用RestTemplate方法
    【算法】排序——插入排序及希尔排序
    python简介常考面试题目:python是什么,有什么好处,python2和python3的主要区别
    使用Jconsole监控JMX
    Unity打包出来的APK文件有问题总结
    金仓数据库 KingbaseES插件参考手册 C
    中断机制-通过volatile实现线程中断停止
    深入理解CSS之 层叠
    java操作达梦数据库报org.springframework.dao.DataIntegrityViolationException异常
    MySQL之my.cnf配置文件
  • 原文地址:https://blog.csdn.net/weixin_35757704/article/details/127800282
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号