长沙品牌网站建设实力强,秦皇岛网站,scf900色带,机票网站建设方式常用的Linux终端
GNOME Terminal#xff1a;GNOME 桌面环境下的默认终端程序#xff0c;支持多个选项卡和配置。Konsole#xff1a;KDE 桌面环境下的默认终端程序#xff0c;提供了丰富的功能和选项。Terminator#xff1a;开源的终端程序#xff0c;支持多个可调整大小…常用的Linux终端
GNOME TerminalGNOME 桌面环境下的默认终端程序支持多个选项卡和配置。KonsoleKDE 桌面环境下的默认终端程序提供了丰富的功能和选项。Terminator开源的终端程序支持多个可调整大小和布局的终端。lxterminal (LXDE 标配)是 LXDE 桌面环境下的默认终端程序.LXTerminal 相对其他终端程序比较简单和灵活依赖少轻量级. lxterminal 是最轻量级的终端启动速度不亚于 Windows 的 cmd.exe
快捷键
CtrlL 清空屏幕 (功能相当于命令 clear) CtrlU 剪切文本直到行的起始 (可以用于清空行) CtrlK 剪切文本直到行的末尾 CtrlY 粘贴最近剪切的文本 CtrlC 杀死当前进程 (也可以用来清空当前行) CtrlD 退出当前 Shell (功能相当于命令 exit) 或者 删除当前的字符 CtrlA 行首 CtrlE 行尾 Home/End 行首 / 行尾 CtrlF 向前移动一个字符 CtrlB 向后移动一个字符 CtrlP 或 CtrlN 上下历史记录 上下方向键 上下历史记录 CtrlShiftC 复制 CtrlShiftV 粘贴 Tab 智能自动补全 (相当强大) 按住 Ctrl 键进行块选择. 鼠标中键粘贴 CtrlZ 把程序放到后台返回终端 jobs 查看后台任务 fg NUM 切换到后台任务
终端与Bash的关系
终端是用户与计算机系统进行交互的界面。它提供了一个命令行界面用户可以输入命令并查看命令的输出。终端通常是一个文本模式的界面可以通过键盘输入命令并显示命令的执行结果。终端可以是物理设备如计算机的控制台终端或软件应用程序如在图形用户界面中打开的终端窗口。
Bash 是一种命令行解释器shell它是许多 Unix 和 Linux 系统中默认的命令解释器。Bash 提供了一个交互式的命令行界面用户可以在其中输入命令并执行各种操作包括执行程序、管理文件和目录、设置环境变量等等。Bash 还支持各种 shell 脚本和编程特性可以用于编写自动化脚本和批处理任务。
在终端中用户输入的命令会由终端传递给 Bash 解释器进行解析和执行。Bash 解释器负责解析命令行中的命令和参数并执行相应的操作。Bash 还可以读取和执行各种配置文件如 .bashrc、.bash_profile这些文件中可以包含自定义的环境变量设置、别名、函数等以及其他一些初始化设置。
交互模式运行Bash
在 Bash 中使用 -i 选项以交互模式运行会导致 Bash 将执行的命令作为交互式登录的一部分处理。这意味着 Bash 会加载一系列的配置文件和环境变量以确保新的终端具有与当前终端相似的环境。
当 Bash 以交互模式登录时会按照以下顺序加载配置文件和环境变量
/etc/profile这是全局配置文件对所有用户有效。 ~/.bash_profile 或 ~/.bash_login 或 ~/.profileBash 会按照该顺序尝试加载用户的个人配置文件仅对当前用户有效。 /etc/bash.bashrc这是全局配置文件对所有用户有效。 ~/.bashrcBash 会加载用户的个人配置文件仅对当前用户有效。 这些配置文件和环境变量中可以包含设置环境变量、定义别名、修改提示符等等的操作。因此当使用 -i 选项以交互模式运行 Bash 时它会加载上述配置文件和环境变量从而将当前终端的环境变量加载到新的终端中。
需要注意的是加载的环境变量可能是对登录用户可用的全局变量而非当前终端中自定义的临时变量。所以在某些情况下使用 -i 选项可能会不完全复制当前终端的环境变量。
命令启动终端未加载环境变量问题
通过命令启动终端执行一个程序有时候会发现没有加载环境变量 例如执行下面的命令
lxterminal -e bash -c bash $script;exec bash这个命令是重新启动一个终端然后执行bash $script脚本如果在script脚本中需要使用到一些环境变了例如在.bashrc中添加的环境变量此时就无法将环境变了添加到script的执行程序中去。 所以需要使用交互式的Bash运行这样当前的终端设置的环境变量就会传递到script的执行程序中。 修改上面的程序比较简单只要增加-i就可以。
lxterminal -e bash -ic bash $script;exec bash