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 永久环境变量
- 仅当前用户生效
编辑用户配置文件~/.bashrc
bash
vim ~/.bashrc
# 文件末尾添加自定义变量
export ITHEIMA=666
# 新增自定义命令路径到PATH
export PATH=$PATH:/home/itheima/myenv
- 所有用户全局生效
编辑系统配置/etc/profile
bash
vim /etc/profile
# 末尾写入export配置
export PATH=$PATH:/home/itheima/myenv
- 配置立即生效,不用重新登录
bash
source ~/.bashrc
# 全局配置生效
source /etc/profile
4. 自定义 PATH 实战:自定义全局命令
需求:自己写一个脚本,任意目录都能直接执行
- 创建存放脚本目录
bash
mkdir ~/myenv
vim ~/myenv/mkhaha
- 脚本写入内容
bash
echo "哈哈哈哈哈"
- 临时追加路径到PATH
bash
export PATH=$PATH:/home/itheima/myenv
- 任意目录执行
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'/
总结
- 环境变量:PATH 决定命令全局调用,临时变量 export,永久变量配置 bashrc / profile + source 生效;
- 文件传输:rz 上传、sz 下载,适合本地和单台服务器互传;
- 压缩解压:tar.gz 是 Linux 首选,zip 用于跨 Windows 交互;
- 多服务器传文件:scp 基于 SSH,批量部署、集群同步必备。