我的tmux配置

我的tmux配置

在这里插入图片描述

tmux.sh
#!/bin/bash


SESSION_NAME="mysession"
MY_BASH_PROJECT="/home/lingu/project/shell/pratice"
MY_C_PROJECT="/home/lingu/project/c"
MY_WEB_PROJECT="/home/lingu/project"
WORK_PROJECT="/home/lingu/work_project"

# 检查 tmux 是否安装
if ! command -v tmux &> /dev/null; then
    echo "tmux is mot installed"
    exit 1
fi

# 检查是否有会话已启动,如果有则直接attach
if tmux has-session -t $SESSION_NAME 2> /dev/null; then
        tmux attach-session -t $SESSION_NAME
        exit 0
fi

tmux new-session -d -s $SESSION_NAME -n 'check system'

tmux split-window -h
tmux split-window -v

tmux send-keys -t $SESSION_NAME:1.1 'neofetch' C-m
tmux send-keys -t $SESSION_NAME:1.2 'ping www.bing.com' C-m
tmux send-keys -t $SESSION_NAME:1.3 'htop' C-m

tmux new-window -t $SESSION_NAME:2 -n 'Shell Script'
tmux send-keys -t $SESSION_NAME:2 'bash' C-m
tmux send-keys -t $SESSION_NAME:2 "cd $MY_BASH_PROJECT" C-m

tmux new-window -t $SESSION_NAME:3 -n 'C Program'
tmux send-keys -t $SESSION_NAME:3 "cd $MY_C_PROJECT" C-m

tmux new-window -t $SESSION_NAME:4 -n 'Website'
tmux send-keys -t $SESSION_NAME:4 "cd $MY_WEB_PROJECT" C-m

tmux new-window -t $SESSION_NAME:5 -n 'work'
tmux send-keys -t $SESSION_NAME:5 "cd $WORK_PROJECT" C-m

tmux new-window -t $SESSION_NAME:6 -n 'server'
tmux send-keys -t $SESSION_NAME:6 "cd $WORK_PROJECT" C-m
tmux send-keys -t $SESSION_NAME:6 'ssh root@xxx.xxx.xxx.xxx' C-m

tmux select-window -t $SESSION_NAME:6

tmux attach-session -t $SESSION_NAME

.tmux.conf
set -g base-index         1     # 窗口编号从 1 开始计数
set -g display-panes-time 10000 # PREFIX-Q 显示编号的驻留时长,单位 ms
set -g mouse              on    # 开启鼠标
set -g pane-base-index    1     # 窗格编号从 1 开始计数
set -g renumber-windows   on    # 关掉某个窗口后,编号重排
setw -g allow-rename      off   # 禁止活动进程修改窗口名
setw -g automatic-rename  off   # 禁止自动命名新窗口
setw -g mode-keys         vi    # 进入复制模式的时候使用 vi 键位(默认是 EMACS)

# Status bar
# Colors
set -g status-bg black
set -g status-fg white

# Alignment
set -g status-justify centre

# 左侧栏,包含显示会话名
set -g status-left '#[bg=black,fg=green][#[fg=cyan]#S#[fg=green]]'
set -g status-left-length 30  # Increase length to fit content

# window列表,居中
setw -g automatic-rename on
set-window-option -g window-status-format '#[dim]#I:#[default]#W#[fg=grey,dim]'
set-window-option -g window-status-current-format '#[fg=cyan,bold]#I#[fg=blue]:#[fg=cyan]#W#[fg=dim]'

# 右侧栏,包含CPU使用率,内存使用率,用户名
set -g status-right '#[fg=green][#[fg=cyan]#(./check_cpu.sh)#[fg=green]] #[fg=green]|#[fg=green] [#[#[fg=cyan]#(./check_memory.sh)#[fg=green]] | #[fg=green][#[fg=yellow]#(whoami)#[fg=green]]'

# 开启状态栏
set -g status on

# 每秒更新状态栏
set -g status-interval 1

check_cpu.sh
#!/bin/bash

# 获取CPU使用情况并计算 CPU 使用率的函数get_cpu_usage() {
    cpu_stat=$(grep 'cpu ' /proc/stat)
    cpu_idle=$(echo "$cpu_stat" | awk '{print $5}')
    total_cpu=$(echo " $cpu_stat" | awk '{print $2+$3+$4+$5+$6+$7+$8}')

    if (( total_cpu > 0 )); then
        cpu_usage=$((100 * (total_cpu - cpu_idle) / total_cpu))
    else
        cpu_usage=0
    fi

    echo "CPU: $cpu_usage%"
}

# 调用函数并输出结果
get_cpu_usage

check_memory
#!/bin/bash

# 获取内存信息mem_info=$(free | grep 内存)

# 提取总内存和已用内存total_mem=$(echo "$mem_info" | awk '{print $2}')
used_mem=$(echo "$mem_info" | awk '{print $3}')

# 计算内存使用率if (( total_mem > 0 )); then
    mem_usage=$((100 * used_mem / total_mem))
else
    mem_usage=0
fi

echo "Mem: ${mem_usage}%"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值