Linux 实用命令:环境变量、文件传输、压缩解压、跨服务器传文件

Linux 实用命令:环境变量、文件传输、压缩解压、跨服务器传文件

前言

刚接触 Linux 服务器时,很多人会卡在环境变量配置、文件上传下载、压缩包处理、多服务器互传文件这几个高频场景。本文结合实操案例,整理一套日常开发运维必备 Linux 操作,覆盖环境变量、rz/sz、tar/zip、scp 四大核心知识点,新手可直接复制命令实操。

一、Linux 环境变量详解

1. 什么是环境变量

环境变量是 Windows / Linux / Mac 系统运行时存储关键信息的键值对(Key=Value),系统运行时会自动读取里面的配置信息辅助工作。

Linux 查看所有环境变量命令:

bash 复制代码
env

常见内置环境变量含义:

变量名 作用
HOME 当前用户家目录
USER 当前登录用户名
PWD 当前所在工作目录
PATH 系统命令搜索路径(重中之重)

2. PATH 环境变量核心作用

无论你在哪个目录下都能直接执行系统命令,全靠 PATH。

PATH 内部用 : 分割多个目录,执行命令时系统会按顺序遍历目录查找程序文件。

查看 PATH 内容:

bash 复制代码
env | grep PATH

示例输出:

复制代码
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/itheima/.local/bin:/home/itheima/bin

执行 cd 时,系统会依次检索上述目录,在 /usr/bin 找到 cd 程序并运行。

3. 自定义环境变量(临时/永久)

3.1 临时环境变量(重启/重登失效)

语法:export 变量名=变量值

bash 复制代码
# 定义临时变量
export ITHEIMA=666
# 读取变量
echo $ITHEIMA
3.2 永久环境变量
  1. 仅当前用户生效
    编辑用户配置文件 ~/.bashrc
bash 复制代码
vim ~/.bashrc
# 文件末尾添加自定义变量
export ITHEIMA=666
# 新增自定义命令路径到PATH
export PATH=$PATH:/home/itheima/myenv
  1. 所有用户全局生效
    编辑系统配置 /etc/profile
bash 复制代码
vim /etc/profile
# 末尾写入export配置
export PATH=$PATH:/home/itheima/myenv
  1. 配置立即生效,不用重新登录
bash 复制代码
source ~/.bashrc
# 全局配置生效
source /etc/profile

4. 自定义 PATH 实战:自定义全局命令

需求:自己写一个脚本,任意目录都能直接执行

  1. 创建存放脚本目录
bash 复制代码
mkdir ~/myenv
vim ~/myenv/mkhaha
  1. 脚本写入内容
bash 复制代码
echo "哈哈哈哈哈"
  1. 临时追加路径到PATH
bash 复制代码
export PATH=$PATH:/home/itheima/myenv
  1. 任意目录执行 mkhaha 即可运行脚本。如需永久生效,把上面 export 写入 .bashrc

二、服务器文件上传下载:rz / sz

1. 工具安装

rz、sz 依赖 lrzsz 工具,CentOS 安装命令:

bash 复制代码
yum -y install lrzsz

2. 上传文件 rz

直接输入命令,弹出本地文件选择窗口,选中文件上传至当前服务器目录

bash 复制代码
rz

3. 下载文件 sz

将服务器文件下载到本地(FinalShell 会默认存到 fsdownload 文件夹)

bash 复制代码
sz test.txt

三、Linux 压缩与解压:tar、zip 完整教程

主流压缩格式区分

格式 使用场景 工具
tar Linux/Mac 归档,仅打包不压缩 tar
tar.gz Linux 最常用,gzip 压缩 tar + -z 参数
zip Windows/Linux/Mac 通用跨平台 zip / unzip

1. tar 命令参数说明

bash 复制代码
tar [-c -v -x -f -z -C]
  • -c:创建压缩包(压缩模式)
  • -x:解压模式
  • -v:显示打包/解压过程
  • -f:指定压缩包文件名,必须放在所有参数最后
  • -z:启用 gzip 压缩(对应 .tar.gz)
  • -C:指定解压目标目录
1.1 tar 打包(不压缩,.tar)
bash 复制代码
# 打包多个文件
tar -cvf test.tar a.txt b.txt
# 打包文件夹
tar -cvf dir.tar myenv/
1.2 tar.gz 压缩(gzip 压缩,体积更小)
bash 复制代码
tar -zcvf test.tar.gz a.txt myenv/
1.3 tar 解压操作
bash 复制代码
# 解压 tar 包到当前目录
tar -xvf test.tar

# 解压 tar 包到指定目录
tar -xvf test.tar -C /home/itheima

# 解压 tar.gz 压缩包到指定目录
tar -zxvf test.tar.gz -C /home/itheima

2. zip 压缩命令

-r 参数:压缩文件夹必须加 -r 递归处理子文件

bash 复制代码
# 压缩多个文件
zip test.zip a.txt b.txt c.txt

# 压缩文件夹+文件
zip -r test.zip myenv/ Desktop/ a.txt

3. unzip 解压 zip 包

-d:指定解压目录

bash 复制代码
# 解压到当前目录
unzip test.zip

# 解压到指定文件夹
unzip test.zip -d /home/itheima

四、跨服务器传输文件:scp 命令

1. scp 介绍

scp = secure cp,基于 SSH 协议在两台 Linux 服务器之间传输文件/文件夹,只要两台机器互通 SSH,知道账号密码/密钥即可传输。

参数 -r:传输文件夹必须加 -r 递归复制。

2. 基础语法

bash 复制代码
scp [-r] 源路径 目标路径
# 远程格式:用户名@主机IP:服务器路径

3. 常用示例

示例1:本机文件夹传到远程服务器

将本机 /export/server/jdk 文件夹传到 node2 服务器 root 用户下 /export/server/

bash 复制代码
scp -r /export/server/jdk root@node2:/export/server/
示例2:远程服务器文件拉取到本机

将 node2 服务器的 jdk 文件夹下载到本机 /export/server/

bash 复制代码
scp -r node2:/export/server/jdk /export/server/
4. 高级用法:同步当前目录
bash 复制代码
# 把本机当前目录jdk文件夹,传到远程同路径
scp -r jdk node2:$PWD
# 等价写法
scp -r jdk node2:'pwd'/

总结

  1. 环境变量:PATH 决定命令全局调用,临时变量 export,永久变量配置 bashrc / profile + source 生效;
  2. 文件传输:rz 上传、sz 下载,适合本地和单台服务器互传;
  3. 压缩解压:tar.gz 是 Linux 首选,zip 用于跨 Windows 交互;
  4. 多服务器传文件:scp 基于 SSH,批量部署、集群同步必备。
相关推荐
AliCloudROS2 小时前
一次真实录屏:我只说每月别超过 200 块,小程序后端就搭好了
运维·人工智能·云计算
__Witheart__2 小时前
lunch选择的版型与版型对应的配置文件
android·linux
A小调的码农2 小时前
给垃圾平板“一生E本” 装新系统—————Armbian 编译 KYX T7Y (RK3326) 踩坑全记录
linux·嵌入式硬件
ljs6482739512 小时前
Linux 网络常用命令与端口基础详解
linux·网络·php
蓝狐社2 小时前
一张被低估的芯片版图——中兴通讯
运维·服务器
网络小白不怕黑2 小时前
13.SSH服务相关配置
服务器·网络·ssh
Jtti2 小时前
站群服务器多IP能不能分散DDoS攻击流量?
服务器·tcp/ip·ddos
hanxiuchao3 小时前
告别客户端臃肿!网页端 M3U8 播放调试方案,适配全办公场景
运维·python·django·m3u8·m3u8播放
qq_163135753 小时前
Linux 判断是否安装 Conda / Miniconda 完整方法
linux