【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
英文地址,請注明出處:http://en.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 開源社區…