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

Shell脚本与Xshell的使用、知识点、区别及原理

Shell脚本与Xshell的使用、知识点、区别及原理

Shell脚本

基本概念

Shell脚本是一种为Shell编写的脚本程序,通常用于自动化执行一系列命令。它是在Unix/Linux系统下的命令行解释器与用户交互的接口。

主要知识点

  1. 脚本结构:以#!/bin/bash开头(Shebang),指定解释器

  2. 变量:定义和使用变量(无类型,全部视为字符串)

    name="John"
    echo $name
    
  3. 参数传递$0(脚本名),$1-$9(位置参数),$#(参数个数)

  4. 控制结构:if-else, for, while, case等

    if [ $a -gt $b ]; thenecho "a is greater"
    fi
    
  5. 函数:定义和调用函数

    function greet() {echo "Hello, $1"
    }
    greet "World"
    
  6. 文件操作:读写文件,检查文件属性

  7. 管道和重定向|, >, >>, <

  8. 常用命令:grep, awk, sed, find等

原理

  • Shell脚本由Shell解释器(如bash)逐行解释执行
  • 执行时创建一个子Shell进程(除非使用source或.命令)
  • 支持环境变量和局部变量的作用域

Xshell

基本概念

Xshell是一款功能强大的终端模拟器,用于远程访问和管理Unix/Linux服务器,支持SSH、SFTP、TELNET等协议。

主要知识点

  1. 会话管理:保存多个服务器连接配置
  2. 安全连接:支持SSH1/SSH2协议,公钥/私钥认证
  3. 文件传输:内置XFTP功能,支持SFTP/SCP协议
  4. 终端功能
    • 多标签页
    • 自定义颜色和字体
    • 键盘映射
    • 脚本录制和回放
  5. 高级功能
    • 端口转发(本地/远程/动态)
    • 代理服务器支持
    • 会话日志记录

原理

  • 作为SSH客户端,与远程服务器的SSH守护进程(sshd)通信
  • 建立加密通道,保护数据传输安全
  • 模拟终端行为,将用户输入发送到远程服务器,并显示输出

Shell脚本与Xshell的区别

特性Shell脚本Xshell
本质脚本语言/命令行解释器终端模拟器/SSH客户端
用途自动化任务、系统管理远程服务器连接和管理
运行环境本地或远程Shell环境Windows平台(连接远程服务器)
交互性通常非交互式(可交互)交互式终端
协议支持无(依赖所在系统)SSH, SFTP, TELNET等
图形界面有(GUI应用程序)
脚本能力强大的脚本功能有限脚本功能(主要用于连接)

实际应用中的关系

  1. 在Xshell中运行Shell脚本
    • 通过Xshell连接到远程服务器后,可以编辑和执行Shell脚本
    • 支持将脚本文件上传到服务器(通过SFTP)后执行
  2. 使用Shell脚本自动化Xshell操作
    • Xshell支持脚本录制功能(VBScript/JavaScript)
    • 可以编写脚本自动登录服务器并执行命令
  3. 互补关系
    • Xshell提供友好的界面连接服务器
    • Shell脚本提供强大的自动化能力管理服务器

学习建议

  1. Shell脚本学习路径
    • 基础命令 → 脚本结构 → 流程控制 → 函数 → 高级文本处理
  2. Xshell使用技巧
    • 掌握会话管理
    • 学习SSH密钥对认证
    • 熟悉文件传输功能
    • 利用端口转发功能
  3. 结合使用
    • 通过Xshell连接到服务器后,使用Shell脚本进行批量操作
    • 将常用操作编写为Shell脚本,通过Xshell快速部署执行

相关文章:

Shell脚本与Xshell的使用、知识点、区别及原理

Shell脚本与Xshell的使用、知识点、区别及原理 Shell脚本 基本概念 Shell脚本是一种为Shell编写的脚本程序&#xff0c;通常用于自动化执行一系列命令。它是在Unix/Linux系统下的命令行解释器与用户交互的接口。 主要知识点 脚本结构&#xff1a;以#!/bin/bash开头&#xf…...

【PmHub后端篇】PmHub中基于Redis加Lua脚本的计数器算法限流实现

1 限流的重要性 在高并发系统中&#xff0c;保护系统稳定运行的关键技术有缓存、降级和限流。 缓存通过在内存中存储常用数据&#xff0c;减少对数据库的访问&#xff0c;提升系统响应速度&#xff0c;如浏览器缓存、CDN缓存等多种应用层面。降级则是在系统压力过大或部分服务…...

【递归、搜索与回溯】专题一:递归(二)

&#x1f4dd;前言说明&#xff1a; 本专栏主要记录本人递归&#xff0c;搜索与回溯算法的学习以及LeetCode刷题记录&#xff0c;按专题划分每题主要记录&#xff1a;&#xff08;1&#xff09;本人解法 本人屎山代码&#xff1b;&#xff08;2&#xff09;优质解法 优质代码…...

【Linux】操作系统入门:冯诺依曼体系结构

引言&#xff1a;从一次QQ聊天说起 你是否好奇&#xff0c;当你在键盘上敲下一行文字发送给好友时&#xff0c;计算机内部发生了什么&#xff1f;为什么鼠标点击后程序就能瞬间响应&#xff1f;这一切的答案&#xff0c;都藏在计算机的“心脏”——冯诺依曼体系结构中。 一、硬…...

量化感知训练与 PyTorch 的哪些事

大家好呀&#xff01;今天咱们要来聊聊一个超厉害的技术——量化感知训练&#xff08;Quantization-Aware Training&#xff0c;简称 QAT&#xff09; 在神经网络的世界里&#xff0c;我们总是想方设法地让模型变得更准确、更高效&#xff0c;毕竟谁不想自己的模型在边缘设备上…...

【Mac 从 0 到 1 保姆级配置教程 15】- Python 环境一键安装与配置,就是这么的丝滑

文章目录 前言安装 Python 环境VSCode 配置Python 环境NeoVim 配置 Python 环境&#xff08;选看&#xff09;1. Python LSP 配置2. 打开 python 语言支持 最后参考资料系列教程 Mac 从 0 到 1 保姆级配置教程目录&#xff0c;点击即可跳转对应文章&#xff1a; 【Mac 从 0 到 …...

前端学习(3)—— CSS实现热搜榜

效果展示 具体的展示效果如下&#xff0c;可以直接在浏览器显示&#xff1a; 页面分为两部分&#xff0c;一部分是 body 标签里的 html 结构&#xff0c;一部分是 style 标签里的CSS代码&#xff08;页面布局的部分数据直接在代码里显示了&#xff09; 一&#xff0c;html结…...

大数据——解决Matplotlib 字体不足问题(Linux\mac\windows)

1、将下载好的字体文件放到文件夹中 谷歌官方字体 import matplotlib print(matplotlib.matplotlib_fname())cp NotoSansSC-Regular.ttf /data/home/miniconda3/envs/python3128/lib/python3.12/site-packages/matplotlib/mpl-data/fonts/ttf/cp wqy-zenhei.ttc /data/home/m…...

嵌入式培训之数据结构学习(二)顺序表与单向链表

目录 一、顺序表 &#xff08;一&#xff09;顺序表的基本操作 1、创建顺序表 2、销毁顺序表 3、遍历顺序表 4、尾插&#xff0c;在顺序表的最后插入元素 5、判断表是否满 6、判断表是否空 7、按指定位置插入元素 8、查找元素&#xff0c;根据名字 9、根据名字修改指…...

PyInstaller 打包后 Excel 转 CSV 报错解决方案:“excel file format cannot be determined“

一、问题背景 在使用 Python 开发 Excel 转 CSV 工具时,直接运行脚本(python script.py)可以正常工作,但通过 PyInstaller 打包成可执行文件后,出现以下报错: excel file format cannot be determined, you must specify an engine manually 该问题通常发生在使用pandas…...

鸿蒙 PC 发布之后,想在技术上聊聊它的未来可能

最近鸿蒙 PC 刚发布完&#xff0c;但是发布会没公布太多技术细节&#xff0c;基本上一些细节都是通过自媒体渠道获取&#xff0c;首先可以确定的是&#xff0c;鸿蒙 PC 本身肯定是无法「直接」运行 win 原本的应用&#xff0c;但是可以支持手机上「原生鸿蒙」的应用&#xff0c…...

HarmonyOS 【诗韵悠然】AI古诗词赏析APP开发实战从零到一系列(一、开篇,项目介绍)

诗词&#xff0c;作为中国传统文化的瑰宝&#xff0c;承载着中华民族几千年的思想智慧和审美情趣。然而&#xff0c;在现代社会快节奏的生活压力下&#xff0c;诗词文化却逐渐被忽视&#xff0c;更多的人感到诗词艰涩深奥&#xff0c;难以亲近。与此同时&#xff0c;虽然市场上…...

实物工厂零件画图案例(上)

文章目录 滑台气缸安装板旋转气缸安装板张紧调节块长度调节块双轴气缸安装板步进电机安装板梯形丝杆轴承座 简介&#xff1a;案例点击此处下载&#xff0c;这次的这几个案例并没有很大的难度&#xff0c;练习这几个案例最为重要的一点就是知道&#xff1a;当你拿到一个实物的时…...

js中的同步方法及异步方法

目录 1.代码说明 2.async修饰的方法和非async修饰的方法的区别 3.不使用await的场景 4.总结 1.代码说明 const saveTem () > {// 校验处理const res check()if (!res) {return}addTemplateRef.value.openModal() } 这段代码中&#xff0c;check方法返回的是true和fal…...

C 语言_基础语法全解析_深度细化版

一、C 语言基本结构 1.1 程序组成部分 一个完整的 C 程序由以下部分组成: 预处理指令:以#开头,在编译前处理 #include <stdio.h> // 引入标准库 #define PI 3.14159 // 定义常量全局变量声明:在所有函数外部定义的变量 int globalVar = 10; // 全局变量函数定义…...

【Linux系列】dd 命令的深度解析与应用实践

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

ETL背景介绍_1:数据孤岛仓库的介绍

1 ETL介绍 1.1 数据孤岛 随着企业内客户数据大量的涌现&#xff0c;单个数据库已不再足够。为了储存这些数据&#xff0c;公司通常会建立多个业务部门组织的数据库来保存数据。比如&#xff0c;随着数据量的增长&#xff0c;公司通常可能会构建数十个独立运行的业务数据库&am…...

【周输入】510周阅读推荐-1

本号一年了&#xff0c;有一定的成长&#xff0c;也有很多读者和点赞。自觉更新仍然远远不够&#xff0c;需要继续努力。 但是还是要坚持2点&#xff1a; 在当前这个时代&#xff0c;信息大爆炸&#xff0c;层次不齐&#xff0c;不追加多&#xff0c; 信息输入可以很多&#x…...

Games101作业四

作业0到作业3的代码 这次是实现 de Casteljau 算法&#xff0c;以及绘制 Bezier 曲线,比上次简单 核心思想就是递归,原理忘了就去看第十一节课,从15:00开始的 GAMES101-现代计算机图形学入门-闫令琪 代码 先实现贝塞尔曲线 cv::Point2f recursive_bezier(const std::…...

从Aurora 架构看数据库计算存储分离架构

单就公有云来说&#xff0c;现在云数据面临的挑战有以下 5 个&#xff1a; 跨 AZ 的可用性与数据安全性。 现在都提多 AZ 部署&#xff0c;亚马逊在全球有 40 多个 AZ&#xff0c; 16 个 Region&#xff0c;基本上每一个 Region 之内的那些关键服务都是跨 3 个 AZ。你要考虑整个…...

ElasticSearch深入解析(十一):分页

在Elasticsearch中&#xff0c;常用的分页方案有from size、search_after和scroll三种&#xff0c;适用于不同场景。from size基于偏移量分页&#xff0c;是全局排序后的切片查询&#xff0c;适用于小数据量、浅分页场景&#xff0c;但深度分页性能差&#xff0c;且有默认上限…...

【MySQL】MySQL数据库结构与操作

目录 一. 数据库的概念 二. 数据库的分类 三. 初始MySQL数据库 四. 数据库操作 1&#xff09;创建数据库 2) 查看数据库 3&#xff09;选中数据库 4&#xff09;删除数据库 五. SQL数据类型 1&#xff09;整型和浮点型 2&#xff09;字符串类型 3&#xff09;时间…...

Vue框架的基本介绍

目录 一.Vue 1.概述 2.三大主流框架 3.优点: 二.Vue搭建 三.语法 1.基本框架 2.插值表达式 3.Vue指令 1.v-text: 2.v-html: ​编辑3.v-model: 4.v-on: 5.v-show: 6.v-if: 7.v-else: 8.v-bind: 9.v-for: 一.Vue 1.概述 Vue是一款用于构建用户界面的渐进式的…...

Web 架构之攻击应急方案

文章目录 一、引言二、常见 Web 攻击类型及原理2.1 SQL 注入攻击2.2 跨站脚本攻击&#xff08;XSS&#xff09;2.3 分布式拒绝服务攻击&#xff08;DDoS&#xff09; 三、攻击检测3.1 日志分析3.2 入侵检测系统&#xff08;IDS&#xff09;/入侵防御系统&#xff08;IPS&#x…...

xss-labs靶场基础8-10关(记录学习)

前言&#xff1a; 内容&#xff1a; 第八关 关卡资源网站&#xff0c;html编码网站&#xff08;两个网站&#xff0c;一个是实体编号转义&#xff08;只对特殊字符有效&#xff0c;字母无效&#xff09;、实体符号转义&#xff09; 在线Html实体编码解码-HTML Entity Encodi…...

arctanx 导数 泰勒展开式证明

你提供的推导内容非常清晰&#xff0c;条理分明。下面是对 d d x arctan ⁡ x 1 1 x 2 \frac{d}{dx} \arctan x \frac{1}{1 x^2} dxd​arctanx1x21​ 的总结与适当补充&#xff1a; ✅ 结论 d d x arctan ⁡ x 1 1 x 2 \frac{d}{dx} \arctan x \frac{1}{1 x^2} dxd​a…...

基于Java的家政服务平台设计与实现(代码+数据库+LW)

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本家政服务平台就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&a…...

SpringBoot的外部化配置

一、什么是外部化配置 外部化配置是指把应用程序中各种可配置的参数、属性等信息&#xff0c;从代码内部提取出来&#xff0c;放置在外部的配置文件、数据库或配置中心等地方&#xff08;比如使用.properties、.yml 或.xml 等格式的文件&#xff09;进行管理。提高应用程序的可…...

Java鼠标事件监听器MouseListener、MouseMotionListener和MouseWheelListener

Java鼠标事件监听器MouseListener、MouseMotionListener和MouseWheelListener java中创建鼠标&#xff0c;键盘的事件行为监听器的几种方法 这里以鼠标点击事件监听器为例&#xff0c;其他也是一样创建。 常用的消息监听器对象 1:点击事件监听器 ActionListener 2:按键事件监…...

第三方支付公司如何代付和入账?

通俗来说&#xff0c;就是企业把钱打到第三方公司账户上&#xff0c;再由第三方公司把钱打入客户指定账户。 那么第三方支付入账流程是怎样的呢&#xff1f; 第一&#xff0c;企业向第三方支付公司指定账户充值打款&#xff1b;第二&#xff0c;企业提交代付银行卡信息后台操…...

.NET8关于ORM的一次思考

文章目录 前言一、思路二、实现ODBC>SqlHelper.cs三、数据对象实体化四、SQL生成SqlBuilder.cs五、参数注入 SqlParameters.cs六、反射 SqlOrm.cs七、自定义数据查询八、总结 前言 琢磨着在.NET8找一个ORM&#xff0c;对比了最新的框架和性能。 框架批量操作性能SQL控制粒…...

LlamaIndex 第八篇 MilvusVectorStore

本指南演示了如何使用 LlamaIndex 和 Milvus 构建一个检索增强生成&#xff08;RAG&#xff09;系统。 RAG 系统将检索系统与生成模型相结合&#xff0c;根据给定的提示生成新的文本。该系统首先使用 Milvus 等向量相似性搜索引擎从语料库中检索相关文档&#xff0c;然后使用生…...

记录为什么LIst数组“增删慢“,LinkedList链表“查改快“?

数组&#xff08;Array&#xff09; 增删慢&#xff1a;对于数组来说&#xff0c;增加或删除元素的操作可能会比较慢&#xff0c;特别是当你需要在数组的开头或中间进行这些操作时。这是因为这些操作通常需要移动数组中的其他元素以保持连续性。例如&#xff0c;如果你想要在数…...

【论文阅读】Dip-based Deep Embedded Clustering with k-Estimation

摘要 近年来&#xff0c;聚类与深度学习的结合受到了广泛关注。无监督神经网络&#xff0c;如自编码器&#xff0c;能够自主学习数据集中的关键结构。这一思想可以与聚类目标结合&#xff0c;实现对相关特征的自动学习。然而&#xff0c;这类方法通常基于 k-means 框架&#x…...

ARFoundation 图片识别,切换图片克隆不同的追踪模型

场景搭建&#xff1a; 你可以把我的代码发给AI&#xff0c;去理解 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.XR; using UnityEngine.XR.ARFoundation; using UnityEngine.XR.ARSubsystems; using TMPro; using Unit…...

鸿蒙next播放B站视频横屏后的问题

&#xff08;此文讨论范围为b站视频链接&#xff0c;且不包括b站直播链接&#xff1b;android/iOS的webview播放b站视频完全没有这么多问题&#xff09; 1、竖屏播放没问题 从一个竖屏页p1点击进入视频页p2&#xff0c;p2页仍为竖屏&#xff1b; p2页有一Web组件&#xff0c;…...

华为0507机试

题目二 建设基站 有一棵二叉树&#xff0c;每个节点上都住了一户居民。现在要给这棵树上的居民建设基站&#xff0c;每个基站只能覆盖她所在与相邻的节点&#xff0c;请问信号覆盖这棵树最少需要建设多少个基站 #include <bits/stdc.h> using namespace std;const int …...

apache2的默认html修改

使用127.0.0.1的时候&#xff0c;默认打开的是index.html&#xff0c;可以通过配置文件修改成我们想要的html vi /etc/apache2/mods-enabled/dir.conf <IfModule mod_dir.c>DirectoryIndex WS.html index.html index.cgi index.pl index.php index.xhtml index.htm <…...

EXCEL下拉菜单与交替上色设置

Excel/WPS 表格操作教程&#xff08;双功能整合&#xff09; 目录 功能一&#xff1a;交替行上色 Excel 操作WPS 操作 功能二&#xff1a;下拉菜单设置 Excel 操作WPS 操作 组合效果示例注意事项 功能一&#xff1a;交替行上色 Excel 操作 选中数据区域 拖动鼠标选择需要设置…...

list基础用法

list基础用法 1.list的访问就不能用下标[]了,用迭代器2.emplace_back()几乎是与push_back()用法一致&#xff0c;但也有差别3.insert(),erase()的用法4.reverse()5.排序6.合并7.unique()&#xff08;去重&#xff09;8.splice剪切再粘贴 1.list的访问就不能用下标[]了,用迭代器…...

鸿蒙PC版体验_画面超级流畅_具备terminal_无法安装windows、linux软件--纯血鸿蒙HarmonyOS5.0工作笔记017

鸿蒙NEXT和开源鸿蒙OpenHarmony现在已经开发实现统一,使用鸿蒙ArkTS开发的应用,可以直接 在开源鸿蒙上. 鸿蒙的terminal是使用的linux的语法,但是有很多命令,目前还不能使用,常用的ifconfig等是可以用的. 鸿蒙终于出来PC版了,虽然,不像Windows以及mac等,开放的命令那么多,但…...

Spring 集成 SM4(国密对称加密)

Spring 集成 SM4&#xff08;国密对称加密&#xff09;算法 主要用于保护敏感数据&#xff0c;如身份证、手机号、密码等。 下面是完整集成步骤&#xff08;含工具类 使用示例&#xff09;&#xff0c;采用 Java 实现&#xff08;可用于 Spring Boot&#xff09;。 一、依赖引…...

deepseek梳理java高级开发工程师微服务面试题

Java微服务高级面试题与答案 一、微服务架构设计 1. 服务拆分原则 Q1&#xff1a;微服务拆分时有哪些核心原则&#xff1f;如何解决拆分后的分布式事务问题&#xff1f; 答案&#xff1a; 服务拆分五大原则&#xff1a; 1. 单一职责原则&#xff08;SRP&#xff09;- 每个…...

人事管理系统8

员工管理&#xff08;分页查询、查看详情页、修改&#xff09;&#xff1a; 1. 分页查询 Staff.java 中加入部门名和岗位名两个属性以及对应的 get 和 set 方法。这两个属性没有数据库字段对应&#xff0c; 仅供前端显示用&#xff1a; private String departname; //部门名属…...

Stapi知识框架

一、Stapi 基础认知 1. 框架定位 自动化API开发框架&#xff1a;专注于快速生成RESTful API 约定优于配置&#xff1a;通过标准化约定减少样板代码 企业级应用支持&#xff1a;适合构建中大型API服务 代码生成导向&#xff1a;显著提升开发效率 2. 核心特性 自动CRUD端点…...

第三章 初始化配置(一)

我们首先介绍配置Logback的方法&#xff0c;并提供了许多示例配置脚本。在后面的章节中&#xff0c;我们将介绍Logback所依赖的配置框架Joran。 初始化配置 在应用程序代码中插入日志请求需要大量的规划和努力。观察表明&#xff0c;大约4%的代码用于记录。因此&#xff0c;即…...

WebGIS 开发中的数据安全与隐私保护:急需掌握的要点

在 WebGIS 开发中&#xff0c;数据安全与隐私保护是绝对不能忽视的问题&#xff01;随着地理信息系统的广泛应用&#xff0c;越来越多的敏感数据被存储和传输&#xff0c;比如个人位置信息、企业地理资产等。一旦这些数据泄露&#xff0c;后果不堪设想。然而&#xff0c;很多开…...

C语言 ——— 函数栈帧的创建和销毁

目录 寄存器 mian 函数是被谁调用的 通过汇编了解函数栈帧的创建和销毁 转汇编后&#xff08;Add函数之前的部分&#xff09; 转汇编后&#xff08;进入Add函数之前的部分&#xff09; 转汇编后&#xff08;正式进入Add函数的部分&#xff09; ​编辑 总结 局部变量…...

2025年真实面试问题汇总(二)

jdbc的事务是怎么开启的 在JDBC中&#xff0c;事务的管理是通过Connection对象控制的。以下是开启和管理事务的详细步骤&#xff1a; 1. 关闭自动提交模式 默认情况下&#xff0c;JDBC连接处于自动提交模式&#xff08;auto-commit true&#xff09;&#xff0c;即每条SQL语…...

【用「概率思维」重新理解生活】

用「概率思维」重新理解生活&#xff1a;为什么你总想找的「确定答案」并不存在&#xff1f; 第1层&#xff1a;生活真相——所有结果都是「综合得分」 现象&#xff1a;我们总想找到“孩子生病是因为着凉”或“伴侣生气是因为那句话”的单一答案现实&#xff1a;每个结果背后…...