当前位置: 首页 > news >正文

Linux终端与交互式Bash

常用的Linux终端

  1. GNOME Terminal:GNOME 桌面环境下的默认终端程序,支持多个选项卡和配置。
  2. Konsole:KDE 桌面环境下的默认终端程序,提供了丰富的功能和选项。
  3. Terminator:开源的终端程序,支持多个可调整大小和布局的终端。
  4. lxterminal (LXDE 标配):是 LXDE 桌面环境下的默认终端程序.LXTerminal 相对其他终端程序比较简单和灵活,依赖少,轻量级. lxterminal 是最轻量级的终端,启动速度不亚于 Windows 的 cmd.exe

快捷键

Ctrl+L 清空屏幕 (功能相当于命令 clear)
Ctrl+U 剪切文本直到行的起始 (可以用于清空行)
Ctrl+K 剪切文本直到行的末尾
Ctrl+Y 粘贴最近剪切的文本
Ctrl+C 杀死当前进程 (也可以用来清空当前行)
Ctrl+D 退出当前 Shell (功能相当于命令 exit) 或者 删除当前的字符
Ctrl+A 行首
Ctrl+E 行尾
Home/End 行首 / 行尾
Ctrl+F 向前移动一个字符
Ctrl+B 向后移动一个字符
Ctrl+P 或 Ctrl+N 上下历史记录
上下方向键 上下历史记录
Ctrl+Shift+C 复制
Ctrl+Shift+V 粘贴
Tab 智能自动补全 (相当强大)
按住 Ctrl 键进行块选择.
鼠标中键:粘贴
Ctrl+Z 把程序放到后台返回终端
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 或 ~/.profile:Bash 会按照该顺序尝试加载用户的个人配置文件,仅对当前用户有效。
/etc/bash.bashrc:这是全局配置文件,对所有用户有效。
~/.bashrc:Bash 会加载用户的个人配置文件,仅对当前用户有效。
这些配置文件和环境变量中可以包含设置环境变量、定义别名、修改提示符等等的操作。因此,当使用 -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"

相关文章:

Linux终端与交互式Bash

常用的Linux终端 GNOME Terminal:GNOME 桌面环境下的默认终端程序,支持多个选项卡和配置。Konsole:KDE 桌面环境下的默认终端程序,提供了丰富的功能和选项。Terminator:开源的终端程序,支持多个可调整大小…...

呕心整理的常用热门API大全

短信验证码:可用于登录、注册、找回密码、支付认证等等应用场景。支持三大运营商,3秒可达,99.99%到达率,支持大容量高并发。通知短信:当您需要快速通知用户时,通知短信是最快捷有效的方式。短信…...

Redis7.2.3集群安装,新增节点,删除节点,分配哈希槽,常见问题

概念: 【Redis】高可用之三:集群(cluster) - 知乎 实操: Redis集群三种模式 主从模式 优势: 主节点可读可写 从节点只能读(从节点从主节点同步数据) 缺点: 当主节点…...

并行计算机系统结构基础

一、并行计算机系统结构 1.并行性 并行性:计算机系统在同一时刻或者同一时间间隔内 进行多种运算或操作 并行性包括两方面的含义 同时性:两个或两个以上的事件在同一时刻发生并发性:两个或两个以上的事件在同一时间间隔 内发生 从处理数…...

Ubuntu开启永久开启串口权限方法

sudo gedit /etc/udev/rules.d/70-ttyusb.rules//不存在就创建 在该文件中添加如下一行 KERNEL“ttyUSB*”, MODE“0777” 重启系统 sudo reboot...

zTree设置默认选中节点(当前组织默认选中)

/* 节点点击事件 */function onClick(e, treeId, treeNode) {var zTree $.fn.zTree.getZTreeObj("treeDemo"),nodes zTree.getSelectedNodes(),v "";//存储组织名称idd"";//存储组织IDnodes.sort(function compare(a,b){return a.id-b.id;});…...

结合 Django 和 Vue.js 打造现代 Web 应用

概要 在 Web 开发的世界里,Django 和 Vue.js 分别是后端和前端两个非常流行的框架。Django 以其强大的后端能力、快速开发以及安全性而著称,而 Vue.js 因其简洁、灵活和易于上手在前端开发领域广受欢迎。 本篇文章将详细介绍如何将 Django 与 Vue.js 结…...

【Linux网络】ssh服务与配置,实现安全的密钥对免密登录

目录 一、SSH基础 1、什么是ssh服务器 2、对比一下ssh协议与telnet协议 3、常见的底层为ssh协议的软件: 4、拓展 二、SSH软件学习 1、ssh服务软件学习 2、sshd公钥传输的原理: 3、ssh命令学习: 4、学习解读sshd服务配置文件&#x…...

自建ES7.10集群,使用OSS快照恢复数据测试

一、云上集群创建仓库 前置条件 创建云OSS bucket lcsc-es-snapshot,并获取到access_key_id,secret_access_key信息 授予oss bucket lcsc-es-snapshot相关方完全控制权限 创建一个名称为my_backup的仓库。 云上集群创建仓库。PUT _snapshot/my_backup/ {"type": &qu…...

电源线虚接,导致信号线发烫

音频板的信号是经过隔直电容接到音频板的。...

【23真题】难!985难度第一梯队!

今天分享的是23年华南理工大学811的信号与系统试题及解析 本套试卷难度分析:22年华南理工大学811考研真题,我也发布过,若有需要,戳这里自取!本套试题难度中等偏上,只有十道大题,考察大家的综合…...

计算机网络———ipv6简解

文章目录 1.前言:2. ipv6简单分析:2.1.地址长度对比2.2. ipv6包头分析2.3. ipv6地址的压缩表示:2.3. NDP:2.4. ipv6地址动态分配: 1.前言: 因特网地址分配组织)宣布将其最2011年2月3日,IANA (In…...

SQL之开窗函数

文章目录 主要内容一.介绍1.特点2.作用 二.语法及示例1.语法代码如下(示例): 2.示例代码如下(示例):代码如下(示例):代码如下(示例): 总结 主要内容 SQL的开窗函数是SQL语言中非常强…...

OpenAI与微软合作,构建 ChatGPT 5 模型;10天准确天气预报

🦉 AI新闻 🚀 OpenAI与微软合作,构建 ChatGPT 5 模型,下一代人工智能或拥有超级智能 摘要:OpenAI首席执行官 Sam Altman 在接受采访时表示,OpenAI正在与微软合作构建下一代人工智能模型 ChatGPT 5&#x…...

git简明指南

目录 安装 创建新仓库 检出仓库 工作流 安装 下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库 创建新文件夹,打开,然后执行 git init 以创建新的 git 仓库。 检出仓库 执行如下命令以创建一个本地仓库的克隆版本&…...

软件测试面试-如何定位线上出现bug

其实无论是线上还是在测试出现bug,我们核心的还是要定位出bug出现的原因。 定位出bug的步骤: 1,如果是必现的bug,尽可能的复现出问题,找出引发问题的操作步骤。很多时候,一个bug的产生,很多时…...

5、鸿蒙项目远程调试

一、注册华为账号, 如果是华为手机,并注册了账号可能跳过此步骤,如果使用邮箱注册,此邮箱一定是要正确的邮箱,此处需要使用邮箱获取验证码 注册地址:‎ 1、进入注册页面,输入手机号等信息后点…...

什么是原生IP与广播IP?如何区分?为什么需要用原生IP?

在代理IP中,我们常常听到原生IP与广播IP,二者有何区别?如何区分呢?下面为大家详细讲解。 一、什么是原生IP 原生IP地址是互联网服务提供商(ISP)直接分配给用户的真实IP地址,无需代理或转发。此…...

下载文件时的文件名中文乱码问题,文件名丢失

涉及到的java代码如下,下载的时候文件名为中文 package com.example.springboot.service.impl;import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringU…...

ios swift sqlite3 简单使用

一.创建Person类 import UIKitclass Person: NSObject {var name:String? nilvar sex:String? nilvar age:String? niloverride func setValue(_ value: Any?, forUndefinedKey key: String) {}} 二.在使用的地方导入sqlite.3头文件,例如方法都在viewcontr…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

数据链路层的主要功能是什么

数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

Python如何给视频添加音频和字幕

在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线, n r n_r nr​ 根接收天线的 MIMO 系…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...