使用Tmux的基本操作与后台运行命令

2023-10-26

Tmux简介

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

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

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

Tmux安装

Mac:

brew install tmux

Linux:

sudo apt-get install tmux # ubuntu
sudo yum install tmux # centos

Tmux基本使用

在命令行中输入

tmux

即可进入到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到1000的数,每次都是等1s后输出
然后我们赋予这个文件运行权限:

chmod +x check.sh

然后新建一个tmux会话:

tmux new -s check_tmux

然后在新的窗口中运行:

./check.sh

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

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

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

tmux attach -t check_tmux

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

在这里插入图片描述

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Tmux的基本操作与后台运行命令 的相关文章

  • 如何在 Linux 中检测通过 GUI 登录的用户

    我想在我的程序中捕获通过 GUI 登录的用户名 我的程序作为守护进程从 root 登录运行 如果非 root 用户通过 GUI 登录 我的程序应该会收到通知 我正在粘贴我当前的程序 该程序调用一个 perl 脚本 利用系统调用来检查当前登录
  • 在我的 Linux 机器上安装 lisp

    我使用 Vim 作为我的编辑器 Practical common Lisp 建议安装 Lispbox 我不知道如何使用 emacs 不知道如何用那个 T T 运行 lisp 代码 之后我找到了一个名为 limp vim 的 vim lisp
  • 为 bash 脚本创建应答文件

    我想为别人的 bash 脚本创建一个应答文件 当您运行 bash 脚本时 第一次安装该软件时 系统会询问您 5 个问题 我用的是yes script命令并且有效 它会自动应答yes对所有问题 不过我还是想回答一下no对于最后一个问题 有办法
  • 无法使用 sysctl 更改每个进程的最大打开文件数

    我的实际极限是1024 ulimit a core file size blocks c 0 data seg size kbytes d unlimited scheduling priority e 0 file size blocks
  • Bash:更新文件中的变量

    我知道这是一个简单的答案 在找到答案之前我可能可以继续在谷歌上进行挖掘 但我的日程很紧 我希望能得到一个轻松的答复 我需要在安装时更新 ifcfg eth0 中的变量 换句话说 这就是需要发生的事情 以下变量需要更改 ONBOOT no B
  • 在 docker windows 上运行 linux 容器

    我在 Windows 10 机器上安装了 Docker for Windows 它要求我启用 HyperV 功能 一切都安装正确并且运行良好 虽然有一件事让我大吃一惊 我实际上能够在 docker windows 上运行 Linux 容器
  • 如何尽可能快地输出固定缓冲区?

    示例代码 include
  • 您可以bind()和connect() UDP连接的两端吗

    我正在编写一个点对点消息队列系统 它必须能够通过 UDP 运行 我可以任意选择一侧或另一侧作为 服务器 但这似乎不太正确 因为两端都从另一端发送和接收相同类型的数据 是否可以绑定 和连接 两端 以便它们只能彼此发送 接收 这似乎是一种非常对
  • 即使退出命令后,Shell 脚本仍继续运行

    我的shell脚本如下所示 bin bash Make sure only root can run our script EUID ne 0 echo This script must be run as root 1 gt 2 exit
  • 打印堆栈指针的值

    如何在 Linux Debian 和 Ubuntu 中用 C 打印堆栈指针的当前值 我尝试谷歌但没有找到结果 一个技巧是简单地将本地地址作为指针打印出来 但它不可移植 甚至无法保证有效 void print stack pointer vo
  • 由于参数中有空格,Bash 脚本因未知选项而失败

    我正在尝试运行 aws create lambda 函数 事情的经过如下 eval aws lambda create function function name FUNCTION NAME runtime RUNTIME role RO
  • 安装 Pillow 错误:安装脚本退出并出现错误:命令“x86_64-linux-gnu-gcc”失败,退出状态为 1

    当我尝试安装 Pillow 2 5 3 时 我收到错误 命令 x86 64 linux gnu gcc 失败 退出状态为 1 这是所发生事件的完整日志 http pastebin com 5k2TsyJY 我需要这个库作为另一个 pytho
  • Azure Nvidia 中的 apt-update 出现公钥错误

    我在 AZURE 上启动了 NVIDIA VM 并尝试使用进行更新sudo apt update但给出错误 Hit 2 http azure archive ubuntu com ubuntu focal InRelease Hit 3 h
  • 为多线程 UDP 客户端执行“close ()”时套接字描述符未释放

    我在下面编写了 UDP 客户端 它基本上生成一个单独的线程来接收数据报 但是数据报仅在主线程中发送 现在 在 Linux 发行版上实例化 udpClient 1 UDP 客户端后按 ctrl D 实现退出循环 围绕 getline 调用 并
  • 使用Linux虚拟鼠标驱动

    我正在尝试实施一个虚拟鼠标驱动程序根据基本 Linux 设备驱动程序书 有一个用户空间应用程序 它生成坐标以及内核模块 See 虚拟鼠标驱动程序和用户空间应用程序代码 http www embeddedlinux org cn Essent
  • 找出某个日期时间自unix纪元以来的时间?

    我想找出 2009 年 10 月 1 日 9 00 BST 的 UNIX 时间 即自 Unix 纪元以来的秒数 我如何在 Linux 命令行上执行此操作 我知道你可以使用date UNIXTIME someformat 但是unix时间是我
  • vm.dirty_ratio 和 vm.dirty_background_ratio 之间的区别?

    我目前正在试验中找到的内核参数 proc sys vm 尤其dirty ratio and dirty background ratio 内核文档对两者都有以下解释 脏背景比例 包含 以包含空闲页面的总可用内存的百分比表示 和可回收页 后台
  • Linux 中如何获取内存修改通知

    在Linux的用户空间程序中 我通过从堆中分配来获取一块内存 然后将指针分发给在其他线程中运行的许多其他组件来使用 当上述内存被修改时我想收到通知 我当然可以开发一个自定义用户空间解决方案 供其他组件在尝试修改内存时使用 我的情况的问题是这
  • 如何在 Linux 上调用 Python 中的内联机器代码?

    我正在尝试从 Linux 上的纯 Python 代码调用内联机器代码 为此 我将代码嵌入到字节文字中 code b x55 x89 xe5 x5d xc3 然后打电话mprotect http www kernel org doc man
  • 当模式在范围内时使用 sed 打印范围?

    我有一个充满查询的日志文件 我只想查看有错误的查询 日志条目类似于 path to file executing query QUERY SIZE ROWS MSG DURATION 我想打印所有这些东西 但只有当MSG 包含一些有趣的内容

随机推荐

  • 虚拟机升级glibc(libc), 导致段错误等问题

    由于确实glibc高版本 需要升级glibc 导致出现段错误等信息 只剩下pwd cd等命令可以执行 这个时候需要靠补全命令查询到原系统使用的libc 2 xx文件 然后使用sln 原系统的重新索引libc so 6文件 sln lib64
  • SOA是什么?

    写这样的blog很容易被人砸砖头 而且我现在在专心做BPEL的研究 http hongsoft iteye com admin blogs 287353 也没有必要现在趟这个混水 不过想想 还是有话要说 定义 SOA是一种做架构的范式 这个
  • FreeSwitch数据库

    Freeswitch数据库 一 ODBC DSN 1 概念 ODBC 开放数据库连接 Open Database Connectivity ODBC https baike baidu com item ODBC 是为解决异构数据库间的数据
  • 线性回归(两种方式代码实现)

    方式一 最小二乘法 正规方程 公式推导 其中 代码实现 1 导入库 import numpy as np from sklearn datasets import load boston boston load boston x bosto
  • 前端面试总结及建议

    最近 由于项目组刚成立不久 团队处于天地初开的混沌状态 人员配置不齐 急需一大股新鲜血液融入 为此 开启了一段时间与求职面试者的博弈之路 如今的IT大环境 似乎每个公司一年四季都处于招人状态 而同时又有一大批无论是离职还是在职人员期许找一个
  • Linux操作命令笔记

    Linux Linux的字母大小写 下载和卸载 软件更新 查看空间使用情况 当前目录所在的位置 查看文件中的内容 查看目录下的文件 重启 关机 移动文件 磁盘管理软件 修改权限 删除文件或文件夹 新建文件夹 移动一个文件夹 文件重命名 编译
  • CMake中define_property的使用

    CMake中的define property命令用于定义和记录自定义属性 其格式如下 define property
  • 轻量微调和推理stanford_alpca

    当前的Alpaca模型是在Self Instruct论文中使用的技术生成的52K条指令数据 从7B LLaMA模型微调而来 并进行了一些修改 A10 gpu显存 22G cu117 驱动470 103 01 absl py 1 4 0 ac
  • 图形化界面

    文章目录 一 引入图形化界面 二 关于Easyx的基本函数操作 2 1颜色配比函数 2 2EasyX的坐标 有负数区分 2 3窗口函数函数 三 关于Easyx的实际操作 代码实现 3 1颜色操作的代码实现原理 3 2坐标操作的代码实现原理
  • uview ,uniapp 的UI组件

    文档 https www uviewui com components picker html
  • 高手勿进!写给初中级程序员以及还在大学修炼的“准程序员”的成长秘籍

    1 不要畏惧英文 互联网上很多优秀的技术资源和社区的内容都是英文 如果畏惧英文 就没办法从中汲取富有营养的知识 也没办法跟上技术的发展潮流 那么技术能力就会很难再上一层 技术的眼界就会受限 所以需要去突破语言这关 A 从改变语言环境开始 你
  • 【最详细附源码】R语言4.3.0全新安装教程

    软件下载 软件 R语言 版本 4 3 0 语言 简体中文 大小 77 74M 安装环境 Win7及以上版本 64位操作系统 硬件要求 CPU 2 0GHz 内存 4G 或更高 下载通道 百度网盘丨64位下载链接 https pan baid
  • springcloud整合Hystrix,实现接口服务降级

    利用Hystrix对接口control层进行服务降级 新建子工程service03 作为测试Hystrix服务降级的微服务 pom xml
  • nginx 之 proxy_pass详解

    在nginx中配置proxy pass代理转发时 如果在proxy pass后面的url加 表示绝对根路径 如果没有 表示相对路径 把匹配的路径部分也给代理走 假设下面四种情况分别用 http 192 168 1 1 proxy test
  • 工作十年的程序员,总结的前端面试题!

    1 常用那几种浏览器测试 有哪些内核 Layout Engine 1 浏览器 IE Chrome FireFox Safari Opera 2 内核 Trident Gecko Presto Webkit 2 说下行内元素和块级元素的区别
  • 贝叶斯网络结构学习约束的帕累托(pareto)最优

    约束 无非要考虑两件事 一是算法的结果准确率 二是算法的运行速度 约束算法的帕累托 pareto 最优就是指在保证算法准确性不降的前提下 使得算法的运行速度达到最快 就实现了帕累托最优 在已知贝叶斯网络标准结构的情况下对贝叶斯网络结构进行学
  • 人工智能之数学(概率方面)

    我们经常使用的统计机器学习算法 或者是神经网络模型中 数学作为最基础的根基 融合了高等数学中的微分学 概率 线性代数 凸优化等方面 每一个方面深入后都是有很多的益处 但是本着先实用 在进行学习的原则 所以主要是理解相关数学符号 理解统计学习
  • RocketMQ吐血总结

    RocketMQ吐血总结 架构 概念模型 最基本的概念模型与扩展后段概念模型 存储模型 RocketMQ吐血总结 User Guide RocketMQ是一款分布式消息中间件 最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统 满足线
  • 矩阵分解(1)-- 矩阵分解之LU、LDLT、Cholesky分解

    1 分类 矩阵分解 decomposition factorization 是多半将矩阵拆解为数个三角形矩阵 triangular matrix 依使用目的的不同 可分为几类 与线性方程解法相关的矩阵分解 LU分解 奇异值分解 QR分解 极
  • 使用Tmux的基本操作与后台运行命令

    文章目录 Tmux简介 Tmux安装 Tmux基本使用 Tmux后台运行程序 Tmux简介 Tmux是 终端复用器 经常看到这种说法 它是可以把一次会话中的命令记录下来的工具 会话 终端 命令 程序的关系是 终端 交互的工具 gt 会话 一