菜鸟科技网

Linux命令行如何实现分屏操作?

在Linux命令行环境中,分屏操作是提升工作效率的重要技能,它允许用户同时查看多个终端会话、并行执行命令或对比文件内容,本文将详细介绍Linux命令行分屏的多种方法,包括终端内置分屏工具、第三方软件及高级配置技巧,帮助用户根据需求选择最适合的分屏方案。

Linux命令行如何实现分屏操作?-图1
(图片来源网络,侵删)

终端内置分屏工具

大多数现代Linux终端(如GNOME Terminal、Konsole、Xterm等)都内置了分屏功能,无需额外安装即可使用,这些工具通常支持水平和垂直分屏,并允许在多个面板间自由切换。

快捷键分屏

  • 水平分屏:按下Ctrl+Shift+ECtrl+Shift+O(不同终端快捷键可能略有差异),当前终端会分割为上下两个等高的面板,新面板默认打开相同的shell环境。
  • 垂直分屏:按下Ctrl+Shift+-(减号)或Ctrl+Shift+5,终端会左右分割,新面板与原面板内容一致。
  • 面板切换:使用Ctrl+Shift+方向键(上下左右)在面板间移动焦点,或通过Ctrl+Shift+Tab循环切换。
  • 关闭面板:在目标面板中输入exit或直接关闭终端窗口,其他面板会继续运行。

菜单操作

部分终端支持通过菜单栏进行分屏操作,在GNOME Terminal中,可通过“文件”→“拆分终端”选择水平或垂直分屏,或通过“视图”→“布局”调整面板排列方式。

终端配置

用户可通过修改终端配置文件自定义分屏快捷键,以GNOME Terminal为例,编辑~/.config/gnome-terminal/profiles.json,在keybindings部分修改或添加快捷键绑定,将垂直分屏快捷键改为Ctrl+Shift+V

"keybindings": {
    "split-vertical": "Ctrl+Shift+V"
}

第三方分屏工具

当需要更灵活的分屏功能(如跨终端窗口管理、会话持久化等)时,可使用第三方工具。

Linux命令行如何实现分屏操作?-图2
(图片来源网络,侵删)

Tmux

Tmux是一个终端复用器,支持会话持久化、窗口管理和面板分割,适合需要长时间运行的任务或多用户协作。

  • 安装:在Debian/Ubuntu系统中运行sudo apt install tmux,在CentOS/RHEL中运行sudo yum install tmux
  • 基本操作
    • 启动会话:tmux new -s session_name
    • 分割面板:在会话中按Ctrl+B后按(垂直分割)或(水平分割)。
    • 切换面板:Ctrl+B+方向键或Ctrl+B+O(循环切换)。
    • 关闭面板:Ctrl+B+X,或输入exit
    • 分离会话:Ctrl+B+D,会话可在后台运行。
    • 附加会话:tmux attach -t session_name

GNU Screen

Screen是另一个经典的终端复用器,功能与Tmux类似,但配置和操作略有不同。

  • 安装sudo apt install screen(Debian/Ubuntu)或sudo yum install screen(CentOS/RHEL)。
  • 基本操作
    • 启动会话:screen -S session_name
    • 分割窗口:Ctrl+A+(垂直分割)或Ctrl+A+S(水平分割)。
    • 切换窗口:Ctrl+A+方向键或Ctrl+A+Tab
    • 关闭窗口:Ctrl+A+K,或输入exit
    • 分离会话:Ctrl+A+D
    • 附加会话:screen -r session_name

Byobu

Byobu是基于Tmux或Screen的封装工具,提供了增强的快捷键和状态栏显示,适合需要更多可视化信息的用户。

  • 安装sudo apt install byobu(Debian/Ubuntu)。
  • 基本操作:默认使用Tmux后端,快捷键在Tmux基础上增加F2F12的功能键绑定,如F5刷新状态栏,F6创建新窗口。

高级分屏技巧

结合管道与重定向

通过管道和重定向命令,可以将一个命令的输出实时显示在多个终端面板中。

Linux命令行如何实现分屏操作?-图3
(图片来源网络,侵删)
ping example.com | tee /dev/pts/1

该命令会将ping结果同时输出到当前面板和另一个终端设备(需提前打开对应终端)。

使用脚本自动化分屏

编写Shell脚本可批量创建分屏布局,以下脚本创建一个垂直分割的终端,并在右侧面板运行top命令:

#!/bin/bash
gnome-terminal -- bash -c "echo 'Left panel'; exec bash" --tab -- bash -c "top; exec bash"

保存为split_screen.sh并赋予执行权限后运行即可。

跨终端同步输入

使用tmuxset -g synchronize-panes on命令可同步所有面板的输入,适合批量执行相同命令。

分屏工具对比

以下表格总结了常用分屏工具的特点:

工具 安装方式 分屏方式 会话持久化 跨平台支持 适用场景
终端内置 无需安装 快捷键/菜单 不支持 依赖终端 简单临时分屏
Tmux sudo apt install tmux 面板分割 支持 跨平台 长期任务、多用户协作
GNU Screen sudo apt install screen 窗口分割 支持 跨平台 传统终端复用
Byobu sudo apt install byobu 基于Tmux/Screen 支持 跨平台 需要增强可视化信息

相关问答FAQs

Q1: 如何在Tmux中固定面板大小?
A1: 在Tmux会话中,按Ctrl+B+进入命令模式,输入resize-pane -U/L/D/R [像素数]调整面板大小。resize-pane -R 20可将右侧面板宽度增加20个字符,也可使用Ctrl+B+Ctrl+方向键微调大小。

Q2: 分屏后如何在不同面板中运行不同用户权限的命令?
A2: 在需要提权的面板中,使用sudo su - username切换用户,或直接通过sudo command执行特权命令,若需在多个面板中以不同用户身份运行,可提前通过su - username切换用户后再创建分屏,或使用tmux new-session -d -s session_name 'command'为不同面板分配不同命令。

分享:
扫描分享到社交APP
上一篇
下一篇