【Linux】常用命令(三)

【Linux】常用命令(三)

  • 1. export
    • 1.1 原理
    • 1.2 常用语法
    • 1.3 示例
    • 1.4 书中对命令的解释
    • 1.5 生效范围
  • 2. 测试服务地址与其端口能否访问
    • 2.1 nc(Netcat)命令
    • 2.2 telnet
    • 2.3 nmap
    • 2.4 curl命令 (适用于HTTP/HTTPS 服务)

1. export

export 是 Linux Shell(特别是 Bash) 中的一个内建命令,用来设置环境变量并将其导出到子进程中使用。

1.1 原理

在 Linux 中,变量有两类作用范围:

  1. Shell 变量(本地变量)
    • 只在当前 Shell 会话中有效
    • 不会自动传递给子进程
  2. 环境变量
    • 会被当前 Shell 和所有子进程继承
    • 典型例子:PATHHOMELANG

export 的作用就是:
1.把一个 Shell 变量升级为环境变量
2.或者直接创建一个新的环境变量

1.2 常用语法

export 变量名=# 创建变量并导出
export 变量名                  # 把已有的变量导出为环境变量
export -p                     # 显示当前所有已导出的环境变量

1.3 示例

普通变量不会传递给子进程

$ VAR1=hello
$ bash -c 'echo $VAR1'# 输出为空,因为 VAR1 只是当前 Shell 的本地变量
使用 export 让变量对子进程可见$ export VAR1=hello
$ bash -c 'echo $VAR1'
hello
先定义再导出$ VAR2=world
$ export VAR2
$ bash -c 'echo $VAR2'
world

查看当前所有环境变量

[root@iv-ye20h65dz45i3z346rvs ~]# export -p
# maven
export MAVEN_HOME=/opt/maven/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH# jdk
export JAVA_HOME=/opt/jdk/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH# 使用jdk8
usejdk8() {export JAVA_HOME=/opt/jdk/jdk1.8.0_161export PATH=$JAVA_HOME/bin:$(echo $PATH | sed -E 's|/usr/lib/jvm/[^/]+/bin:||g')java -version
}# 使用jdk21
usejdk21() {export JAVA_HOME=/opt/jdk/jdk-21.0.7export PATH=$JAVA_HOME/bin:$(echo $PATH | sed -E 's|/usr/lib/jvm/[^/]+/bin:||g')java -version
}

1.4 书中对命令的解释

在这里插入图片描述

1.5 生效范围

  • 临时生效:只在当前 Shell 会话有效,退出就消失
  • 永久生效:写到配置文件里,例如:
针对单个用户:~/.bashrc 或 ~/.bash_profile
全局生效:/etc/profile 或 /etc/bash.bashrc

写法举例:

# maven
export MAVEN_HOME=/opt/maven/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH# jdk
export JAVA_HOME=/opt/jdk/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATHsource ~/.bashrc  # 立即生效

2. 测试服务地址与其端口能否访问

往常我们都用ping命令,但是ping命令本身只能测试主机的连通性(即是否能达到目标服务器),但不能检测指定端口是否能访问。如果测试某个端口的可达性,可以使用nctelnetnmaep

2.1 nc(Netcat)命令

nc是一个非常强大的网络工具,通常用于测试端口是否开放。

[root@iv-ye20h65dz45i3z346rvs ~]# yum install -y nmap-ncat
Loaded plugins: fastestmirror, versionlock
Loading mirror speeds from cached hostfile
base                                                                                                                                                | 3.6 kB  00:00:00     
docker-ce-stable                                                                                                                                    | 3.5 kB  00:00:00     
epel                                                                                                                                                | 4.3 kB  00:00:00     
extras                                                                                                                                              | 2.9 kB  00:00:00     
updates                                                                                                                                             | 2.9 kB  00:00:00     
Excluding 2 updates due to versionlock (use "yum versionlock status" to show them)
Resolving Dependencies
--> Running transaction check
---> Package nmap-ncat.x86_64 2:6.40-19.el7 will be installed
--> Finished Dependency ResolutionDependencies Resolved=========================================================================================================================================================================== Package                                   Arch                                   Version                                       Repository                            Size
===========================================================================================================================================================================Installing:nmap-ncat                                 x86_64                                 2:6.40-19.el7                                 base                                 206 kTransaction Summary
===========================================================================================================================================================================Install  1 PackageTotal download size: 206 k
Installed size: 423 k
Downloading packages:
nmap-ncat-6.40-19.el7.x86_64.rpm                                                                                                                    | 206 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionInstalling : 2:nmap-ncat-6.40-19.el7.x86_64                                                                                                                          1/1 Verifying  : 2:nmap-ncat-6.40-19.el7.x86_64                                                                                                                          1/1 Installed:nmap-ncat.x86_64 2:6.40-19.el7                                                                                                                                           Complete!
nc -zv <IP地址或域名> <端口号>
  • -z:只扫描端口,不发送数据
  • -v 显示详情信息
# 端口开放的结果
base) ➜  ~ nc -zv 115.190.126.xxx 8080
Connection to 115.190.126.xxx port 8080 [tcp/http-alt] succeeded!(base) ➜  ~ nc -zv 115.190.126.xxx 3306
Connection to 115.190.126.xxx port 3306 [tcp/mysql] succeeded!# 端口关闭
(base) ➜  ~ nc -zv 115.190.126.xxx 443
nc: connectx to 115.190.126.xxx port 443 (tcp) failed: Connection refused
# 检测多个端口
nc -zv 192.168.0.1 80 443 8080

2.2 telnet

telnet可以连接到指定的端口,适合用来测试某个端口是否能打开。

telnet <IP地址或域名> <端口号>

如果端口可用,可以看到如下结果

(base) ➜  ~ telnet 115.190.126.xxx 3306
Trying 115.190.126.xxx...
Connected to 115.190.126.xxx.
Escape character is '^]'.

如果端口不可用,可以看到下面类似结果

(base) ➜  ~ telnet 115.190.126.xxx 3307
Trying 115.190.126.xxx...
telnet: connect to address 115.190.126.xxx: Operation timed out
telnet: Unable to connect to remote host

2.3 nmap

nmap是一个强大的网络扫描工具,常用于扫描主机和端口。

nmap -p <端口号> <IP地址或域名>
(base) ➜  ~ nmap -p 8080 115.190.126.xxx
Starting Nmap 7.97 ( https://nmap.org ) at 2025-08-13 23:01 +0800
Nmap scan report for 115.190.126.xxx
Host is up (0.014s latency).PORT     STATE SERVICE
8080/tcp open  http-proxyNmap done: 1 IP address (1 host up) scanned in 0.55 seconds

2.4 curl命令 (适用于HTTP/HTTPS 服务)

curl I http://<IP地址或域名>:<端口号>
(base) ➜  ~ curl -I http://115.190.126.xxx:3306
curl: (1) Received HTTP/0.9 when not allowed
(base) ➜  ~ curl -I http://115.190.126.xxx:8080
HTTP/1.1 200
WWW-Authenticate: Basic realm="rocketmq"
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Last-Modified: Tue, 22 Apr 2025 05:43:20 GMT
Accept-Ranges: bytes
Content-Type: text/html;charset=utf-8
Content-Language: en-US
Content-Length: 7022
Date: Wed, 13 Aug 2025 14:53:39 GMT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/93003.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/93003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pytest项目_day15(yaml)

YAMLYAML是一个对所有编程语言都很友好的数据序列化标准&#xff0c;它是一种直观的能够被电脑识别的数据序列化格式&#xff0c;是一种可读性高且容易被人类阅读的脚本语言YAML语言的本质是一种通用的数据串行化格式适用场景 可以直接序列化为数组、字典解析成本低专门写配置文…

审批流程系统设计与实现:状态驱动、灵活扩展的企业级解决方案

审批流程系统设计与实现&#xff1a;状态驱动、灵活扩展的企业级解决方案 本文基于实际企业级审批系统源码&#xff0c;深入解析如何设计高扩展性、强一致性的审批流程引擎&#xff0c;涵盖状态机设计、多租户隔离、文件服务集成等核心实现。 1. 系统设计概览 审批系统的核心架…

汽车免拆诊断案例 | 2010款奥迪A4L车行驶中发动机偶尔自动熄火

故障现象 一辆2010款奥迪A4L车&#xff0c;搭载CDZ发动机 &#xff0c;累计行驶里程约为18.2万km。该车行驶中发动机偶尔自动熄火&#xff0c;有时熄火后能够立即重新起动着机&#xff0c;有时需要等待一会儿才能重新起动着机&#xff0c;故障频率较低。因该故障在其他维修厂陆…

Liam ERD:自动生成美观的交互式实体关系图

Liam ERD 是一个可以快速生成美观且具有交互性的数据库实体关系图&#xff08;ERD&#xff09;的工具&#xff0c;可以帮助用户实现复杂数据库结构的可视化。 Liam ERD 是一个免费开源的项目&#xff0c;代码托管在 GitHub&#xff1a; https://github.com/liam-hq/liam 功能…

网络协议序列化工具Protobuf

目录前言一、下载注意二、解压安装三、Protobuf的使用1、创建.proto文件2、利用protoc编译.proto文件前言 Protocol Buffers是Google的⼀种语⾔⽆关、平台⽆关、可扩展的序列化结构数据的⽅法&#xff0c;它可⽤于&#xff08;数据&#xff09;通信协议、数据存储等。 Protoco…

从表单校验到API网关:全链路输入安全防护指南

从表单校验到 API 网关:全链路输入安全防护指南 在软件系统的安全防御体系中,输入安全是第一道防线,而这道防线的坚固程度直接决定了系统抵御外部攻击的能力。从用户在浏览器中填写表单的那一刻起,到数据经过 API 网关流转至后端服务,每一个环节都可能成为输入攻击的突破…

Flask vs Django:微框架与一站式对决

Flask 简介 1、简介 Flask诞生于2010年&#xff0c;是Armin ronacher用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架&#xff0c;又称之为微框架。 "微"的含义&#xff1a;Flask旨在保持核心简洁&#xff0c;本身相当于内核&#xff0c;其他功能需通过扩展…

真实业务场景:mysql慢查询优化(从17秒的查询优化到700毫秒)

慢查询业务场景:原先在我们系统中要统计一些人员的单位 部门信息的数据情况&#xff0c;比如总的男女人数&#xff0c;每个单位下的男女人数等等&#xff0c;然后原来的sql是这样写的 根据一个单位的id 然后对一张表做出多个子查询进行查询&#xff0c;这时候统计记录 由于加载…

远程影音访问:通过 cpolar 内网穿透服务使用 LibreTV

文章目录前言【视频教程】1.关于LibreTV2.docker部署LibreTV3.简单使用LibreTV4.安装cpolar内网穿透5.配置ward公网地址6.配置固定公网地址总结LibreTV 与 cpolar 的协同应用&#xff0c;为用户打造了一条通往高清观影自由的便捷之路。通过这一方案&#xff0c;用户不仅摆脱了商…

Apache ECharts 6 核心技术解密 – Vue3企业级可视化实战指南

简介 ECharts 是百度开源的一个使用 JavaScript 实现的开源可视化库&#xff0c;它能够生动、可交互地展示数据。在 Vue3 项目中集成 ECharts 可以让你的项目更加直观和动态地呈现数据信息。 核心优势 特性SVG渲染器Canvas渲染器缩放保真度★★★★★★★☆☆☆动态交互性能…

考公VS考研,拼哪个性价比高?

即将到来下半年&#xff0c;将迎来考公和考研是两个非常重要的考试&#xff0c;也是许多年轻人为之奋斗的目标。无论是获得一份稳定的“铁饭碗”&#xff0c;还是提升学历学位获得更高的竞争力&#xff0c;都是值得努力的方向。那么&#xff0c;考公vs考研&#xff0c;到底哪个…

python2操作neo4j

环境依赖 jdk、neo4j图数据库 操作一条数据完整demo import os,json,sys,io from py2neo import Graph,Nodetry:sys.stdout io.TextIOWrapper(sys.stdout.buffer, encodingutf-8)sys.stderr io.TextIOWrapper(sys.stderr.buffer, encodingutf-8) except Exception:passcla…

AI 编程实践:用 Trae 快速开发 HTML 贪吃蛇游戏

1. 背景与目标 贪吃蛇是最适合入门的 2D 网页小游戏之一&#xff1a;规则简单、反馈清晰、可扩展空间大&#xff08;穿墙模式、道具、多食物、排行榜……&#xff09;。 demo地址&#xff1a;https://game.haiyong.site/snake-game.html 本项目的目标是&#xff1a; 纯前端、…

FreeRTOS-C语言指针笔记

文章目录一级指针指针基本概念指针使用示例代码说明二、二级指针二级指针重点解析一级指针 C语言中的指针是一个非常重要的概念&#xff0c;它存储了变量的内存地址。指针的使用可以使程序更加高效&#xff0c;尤其在处理数组、字符串和动态内存分配时。 指针基本概念 指针变…

界面布局智能建议生成:从功能需求到专业UI的AI加速之路

内容简介: 传统界面设计让产品经理陷入"不懂设计、等设计师"的困境&#xff0c;效率低下还容易被挑刺。本文深度解析DeepSeek驱动的界面布局智能生成技术&#xff0c;通过DESIGN框架提示词模板&#xff0c;让产品经理在30分钟内生成3种专业级界面方案&#xff0c;实现…

【BLE系列-第三篇】数据链路层(LL):广播/连接/扫描流程详解

目录 引言 一、广播及连接建立 1.1 广播类型 1.2 扫描/连接请求与响应 1.2.1 广播流程说明 1.2.1.1 广播流程示例图 1.2.1.2 广播信息设置 1.2.1.3 信道广播 1.2.1.4 信道切换 1.2.1.5 广播间隔 1.2.1.6 接收窗口与理论最小传输时间 1.2.2 扫描/连接流程说明 1.2.…

JMeter 测试 WebSocket 接口的详细教程

1. 安装 WebSocket 插件 方法一&#xff1a;通过 Plugins Manager 下载并安装 JMeter Plugins Manager在 JMeter 中&#xff1a;Options → Plugins Manager搜索 WebSocket 并安装 方法二&#xff1a;手动安装 下载 jmeter-websocket-samplers 插件将 jar 文件放到 JMeter/…

飞算JavaAI智慧教育场景实践:从个性化学习到教学管理的全链路技术革新

目录一、智慧教育核心场景的技术突破1.1 个性化学习路径推荐系统1.1.1 学习者能力建模与评估1.2 智能教学管理系统1.2.1 自动化作业批改与学情分析1.3 教育资源智能管理系统1.3.1 教育资源智能标签与推荐二、智慧教育系统效能升级实践2.1 教育数据中台构建2.1.1 教育数据整合与…

Java面试场景题大全精简版

1.分布式系统下如何实现服务限流核心算法&#xff1a;固定窗口&#xff1a;将时间划分为固定窗口&#xff08;如 1 秒&#xff09;&#xff0c;统计窗口内请求数&#xff0c;超过阈值则限流。实现简单但存在临界值突发流量问题。滑动窗口&#xff1a;将固定窗口拆分为多个小窗口…

红帽 AI 推理服务 (vLLM) - 入门篇

《教程汇总》 RedHat AI Inference Server 和 vLLM vLLM (Virtual Large Language Model) 是一款专为大语言模型推理加速而设计的框架。它是由加州大学伯克利分校 (UC Berkeley) 的研究团队于 2023 年开源的项目&#xff0c;目前 UC Berkeley 和 RedHat 分别是 vLLM 开源社区…