当前位置: 首页 > news >正文

【Linux】 服务器无 sz 命令时的文件传输和日志查看方案

当 Linux 服务器没有 sz (send with ZMODEM) 命令时,您有多种替代方案来获取文件或直接查看日志。

方案一:使用其他文件传输命令

1. 使用 scp 命令(推荐)

从本地向服务器传输文件,或从服务器下载文件到本地:

# 从服务器下载文件到本地当前目录
scp username@server_ip:/path/to/your/file.zip ./# 从本地上传文件到服务器
scp ./local_file.zip username@server_ip:/path/to/destination/# 指定端口(如果SSH不是默认22端口)
scp -P 2222 username@server_ip:/path/to/file.zip ./

2. 使用 sftp 命令

交互式文件传输,类似 FTP:

# 连接服务器
sftp username@server_ip# 在sftp会话中操作
sftp> get /path/to/file.zip        # 下载文件
sftp> put local_file.zip           # 上传文件
sftp> ls                           # 列出远程文件
sftp> lls                          # 列出本地文件
sftp> exit                         # 退出

3. 使用 rsync 命令

更高效的文件同步工具:

# 从服务器同步文件到本地
rsync -avz -e ssh username@server_ip:/path/to/file.zip ./# 同步整个目录
rsync -avz -e ssh username@server_ip:/path/to/logs/ ./logs/

方案二:直接通过 Xshell 查看 .zip 中的日志

1. 在服务器上直接解压并查看

无需下载到本地,直接在服务器上操作:

# 查看zip文件内容
unzip -l your_log_file.zip# 解压特定文件
unzip -p your_log_file.zip specific_log.log | less# 解压到临时目录查看
mkdir /tmp/log_temp
unzip your_log_file.zip -d /tmp/log_temp
cat /tmp/log_temp/specific_log.log

2. 使用 zgrep 直接搜索压缩文件内容

如果文件是 .gz 格式,可以直接搜索:

# 搜索包含"error"的行
zgrep "error" your_log_file.gz# 显示上下文
zgrep -A 3 -B 3 "error" your_log_file.gz

对于 .zip 文件,可以结合 unzip:

# 在zip文件中搜索
unzip -p your_log_file.zip | grep "error"

笔者用的这种方式,还不错~~

3. 使用 zless/zcat 查看压缩文件

对于 .gz 文件:

zless your_log_file.gz
zcat your_log_file.gz | grep "error"

对于 .zip 文件:

unzip -p your_log_file.zip | less

方案三:安装 sz/rz 命令

如果经常需要这类操作,建议安装 lrzsz 包:

CentOS/RHEL:

sudo yum install lrzsz
# 或
sudo dnf install lrzsz

Ubuntu/Debian:

sudo apt-get update
sudo apt-get install lrzsz

安装后就可以使用 sz filenamerz 命令了。

方案四:Xshell 内置功能

1. 使用 Xshell 的 XFTP 功能

Xshell 自带 XFTP 插件,提供图形化文件传输:

在 Xshell 会话中,点击工具栏的 新建文件传输 按钮或使用快捷键 Ctrl + Alt + F这会打开一个类似 FTP 客户端的界面,可以拖拽文件

2. 使用 Xshell 的"传输"菜单

点击 传输 菜单选择 用ZMODEM发送 或 用ZMODEM接收

方案五:直接在服务器上分析日志

如果只是想查看日志内容,不需要下载到本地:

1. 实时监控日志

# 查看实时日志(如果日志正在写入)
tail -f /path/to/logfile.log# 查看最后100行
tail -100 /path/to/logfile.log# 结合grep过滤
tail -f /path/to/logfile.log | grep "error"

2. 日志分析常用命令

# 统计错误数量
grep -c "ERROR" logfile.log# 查看特定时间段的日志
sed -n '/2024-01-15 10:00:00/,/2024-01-15 11:00:00/p' logfile.log# 按时间排序并去重
grep "ERROR" logfile.log | sort | uniq# 查看最大的错误信息
grep "ERROR" logfile.log | cut -d' ' -f4- | sort | uniq -c | sort -nr | head -10

实用脚本示例

快速查看zip中日志的脚本

创建一个脚本 view_zip_log.sh

#!/bin/bash
if [ $# -eq 0 ]; thenecho "Usage: $0 <zipfile> [logfile]"echo "Available logs in zip:"unzip -l "$1" | grep -E "\.(log|txt)$"exit 1
fiZIPFILE=$1
LOGFILE=${2:-$(unzip -l "$1" | grep -E "\.(log|txt)$" | head -1 | awk '{print $4}')}if [ -z "$LOGFILE" ]; thenecho "No log file found in zip"exit 1
fiecho "Viewing: $LOGFILE"
unzip -p "$ZIPFILE" "$LOGFILE" | less

使用方法:

chmod +x view_zip_log.sh
./view_zip_log.sh your_log_file.zip          # 查看第一个日志文件
./view_zip_log.sh your_log_file.zip app.log  # 查看指定日志文件

总结推荐

  1. 日常使用:优先使用 scp 或 Xshell 的 XFTP 功能

  2. 快速查看:在服务器上直接用 unzip -p file.zip | less 查看

  3. 长期方案:安装 lrzsz 包获得 sz/rz 命令

  4. 批量传输:使用 rsync 进行高效同步

http://www.dtcms.com/a/403092.html

相关文章:

  • 【TVM 教程】设置 RPC 系统
  • 在ssh远程连接的autodl服务器(中国无root权限服务器)上使用copilt的Claude模型
  • Ansible 自动化运维:集中化管理服务器实战指南
  • 自动化运维工具 Ansible 集中化管理服务器
  • 【好玩的开源项目】使用Docker部署LMS轻量级音乐服务器
  • Netty从0到1系列之RPC通信
  • Coze源码分析-资源库-创建数据库-后端源码-安全与错误处理
  • LeetCode:52.腐烂的橘子
  • LeetCode算法日记 - Day 52: 求根节点到叶节点数字之和、二叉树剪枝
  • 四种方法解决——力扣189.轮转数组
  • ⸢ 伍-Ⅱ⸥ ⤳ 默认安全治理实践:水平越权检测 前端安全防控
  • 力扣856
  • Leetcode94.二叉数的中序遍历练习
  • 多种解法全解析——力扣217. 存在重复元素
  • 用python做的网站多吗二手书交易网站策划书
  • phpcms网站源码ui培训班多少钱
  • Android Studio 导入 opencv
  • 在线网站做成appdede网站地图样式修改
  • 全新尚界H5凭借HUAWEI XMC数字底盘引擎技术,让湿滑路面也“稳”操胜券
  • iOS 26 性能测试实战,如何评估启动速度、CPUGPU 负载、帧率与系统资源适配(uni-app 与 iOS 原生应用性能方案)
  • 腾讯会议→微课操作
  • html原生表格,实现左侧列固定
  • Idea提高开发效率的快捷键最佳学习方式
  • 做网站一定需要icp么中国建设协会官网
  • Selenium使用教程
  • 多线程——单例模式
  • 镜头调焦的 调整的是焦距还是像距?
  • (四)React+.Net+Typescript全栈(错误处理)
  • @ant-design/icons-vue 打包成多格式库
  • 什么是营销型网站?杭州建设教育网站