Colderleo's blog Colderleo's blog
首页
Linux
C++
Python
前端
工具软件
mysql
索引
关于
GitHub (opens new window)

Colder Leo

热爱代码的打工人
首页
Linux
C++
Python
前端
工具软件
mysql
索引
关于
GitHub (opens new window)
  • 常见程序性能开销cost、latency延迟耗时的经验值
  • 面试常见问题
  • 静态链接-动态链接-elf详解-elfloader
  • 动态库和静态库的依赖问题
  • glibc和ld的编译调试-为某程序单独设置ld
  • dl_iterate_phdr遍历linkmap头、获取so加载地址
  • shell、bash语法和脚本模板
  • so文件查找路径
  • 逻辑地址-线性地址or虚拟地址-物理地址
  • 通过ELF读取当前进程的符号表并获取符号的版本信息
  • 虚拟内存,cache,TLB,页表
  • 用户内存空间分布和mmap
  • numa网卡绑定
  • 隔核绑核、服务器优化
  • popen底层原理和仿照实现-execl
  • tmux用法
    • 会话命令
    • 窗口命令
    • 窗格/面板命令
    • tmux脚本编写
  • ASLR机制
  • 程序后台运行、恢复前台nohup
  • 大页内存huge_page
  • 用perf查看page-fault
  • Bash设置显示全部路径
  • 查看socket fd状态,设置nonblock
  • cout输出到屏幕的过程
  • 多进程写同一文件-write原子性-log日志
  • vim用法
  • epoll用法
  • signal信号、软中断、硬中断、alarm
  • 内核模块
  • 读写锁之pthread_rwlock和内核rwlock自旋读写锁
  • systemtap
  • xargs、awk用法
  • openssl libssl.so.10.so缺失问题
  • netstat用法
  • fork函数
  • tcp延迟确认ack
  • 90.centos7上一次std-string编译错误定位
  • docker用法
  • find用法
  • dmesg
  • gcc编译用法
  • avx-sse切换惩罚
  • Centos7防火墙
  • chmod用法
  • kernel-devel安装版本
  • Linux-Centos7系统安装、网络设置、常见报错
  • linux下g++编译c++文件
  • MegaCli 安装及使用
  • mysql
  • mysql忘记密码修改方法
  • set用法
  • crontab
  • ssh传文件scp
  • ssh连接
  • tcpdump、tshark、tcpreplay用法
  • ubantu root登录以及创建新用户
  • ubuntu安装g++和gdb
  • uClibc编译失败解决方法
  • win10安装WSL open-ssh
  • yum升级git
  • 比较so文件版本-md5sum
  • 查看磁盘信息
  • 合并两个硬盘,挂载到一个文件夹下
  • 软件安装目录usr-local-src
  • 下载centos历史版本
  • sh脚本转可执行文件、加密
  • Linux
gaoliu
2022-01-25
目录

tmux用法

tmux 一个会话中可以包含多个窗口, 一个窗口中可以包含多个窗格(面板)

# 会话命令

# 列出当前所有会话
tmux ls 

# 新建会话并指定名称
tmux new -s session-name

# 脱离会话, detach
ctrl+b, d   

# attach到指定会话
tmux a -t session-name 

# 杀死会话
tmux kill-session -t session-name
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 窗口命令

Ctrl+b c: 创建一个新窗口, 状态栏会显示多个窗口的信息。 Ctrl+b p: 切换到上一个窗口(按照状态栏上的顺序)。 Ctrl+b n: 切换到下一个窗口。 Ctrl+b : 切换到指定编号的窗口, 其中的是状态栏上的窗口编号。 Ctrl+b w: 从列表中选择窗口。 Ctrl+b ,: 窗口重命名

# 窗格/面板命令

ctrl+b, %
拆分左右两个面板

ctrl+b, " 拆分上下两个面板

ctrl+b, x 关闭当前面板

ctrl+b, z 最大化/恢复 当前窗格

# tmux脚本编写

https://www.cnblogs.com/zhchy89/p/10058005.html

tmux_attach_gaoliu.sh

#!/bin/bash

session_name=gaoliu


export PS1="\e[0;31m\\u@\\h \e[0;36m\\t \e[0;31m\\w \e[m\n$ "
export LD_LIBRARY_PATH=.:./lib:./libs:../lib:../libs:$LD_LIBRARY_PATH

# 设置鼠标点击选择pane,点下面状态栏可以切换窗口. 后面三个是老版本的
tmux set -g mouse on
tmux set -g mouse-select-pane on
tmux set -g mouse-select-window on
tmux set -g mode-mouse on

# 创建会话 -s指定session名 -d表示detach
sudo tmux new -s ${session_name} -n window0 -d
tmux send -t ${session_name}:0.0 "tmux set -g mouse on" Enter
tmux send -t ${session_name}:0.0 "tmux set -g mouse-select-pane on" Enter
tmux send -t ${session_name}:0.0 "tmux set -g mouse-select-window on" Enter
tmux send -t ${session_name}:0.0 "tmux set -g mode-mouse on" Enter


# 分割窗格  指定窗格: session名:window名.pane-index
tmux split-window -h -t ${session_name}:window0.0
# 指定也可以是 window-index.pane-index  (省略session名,默认是最近的session)
tmux split-window -v -t window0.0
# 也可以省略window,直接指定pane-index,但是pane-index是整个session的
# tmux split-window -h -t 2

# pane-index从0开始,先第一排从左到右,再第二排、第三排
tmux send -t 0.0 "cd /home/gaoliu"
tmux send -t 0.1 "cd /home/gaoliu"
tmux send -t 0.2 "cd /home/gaoliu"

# 创建第二个window
tmux new-window -t ${session_name} -n window1 -d
tmux split-window -v -t window1.0
tmux split-window -h -t window1.0
tmux split-window -h -t window1.2

# 选择window0
tmux selectw window0

# attach到会话
tmux a -t ${session_name}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
编辑 (opens new window)
上次更新: 2023/05/07, 17:27:54
popen底层原理和仿照实现-execl
ASLR机制

← popen底层原理和仿照实现-execl ASLR机制→

最近更新
01
通过模板实现结构体成员拷贝-按成员名匹配
05-07
02
c++17通过模板获取类成员的个数
05-01
03
avx-sse切换惩罚
04-30
更多文章>
Theme by Vdoing | Copyright © 2019-2023 Colder Leo | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×