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,批量部署、集群同步必备。
相关推荐
yt004yt34 分钟前
### 越华环保集团|绿岛 VOCs 集中治理,管网系统安全设计工程实战分享
大数据·运维
yt004yt1 小时前
越华环保集团|绿岛 VOCs 集中治理,管网系统安全设计工程实战分享
大数据·运维
晚安日记wanna1 小时前
压测 TPS 卡在 800CPU 只跑四成六步定位法
运维·面试·测试
yunwei371 小时前
eBPF 示例教程:实现 `scx_nest` 调度器
linux·后端·性能优化
朽棘不雕1 小时前
关于重定向的小补充
linux
T1mzhou2 小时前
ARM64 平台安全学习记录
linux·服务器·arm开发·arm
GG-_-Bond2 小时前
基于dpdk实现udp接收数据
linux·网络·udp
吴声子夜歌2 小时前
Shell编程实例——bash入门
linux·运维·shell
爱和冰阔落3 小时前
【Linux】条件变量为什么必须配合互斥锁:从 pthread_cond_wait 到阻塞队列
linux·运维·c++·缓存·中间件·安卓
tedcloud1233 小时前
God‘s Eye View 怎么搭建?在云服务器上部署一个实时 3D 地球可视化平台
linux·服务器·开发语言·后端·rust