基于ubuntu nc指令实现远程传输文件到嵌入式设备中

背景:

最近在使用nc进行远程文件传输的时候发现在文件传输完成时,没有正确的反馈,而是界面一直停留在传输阶段,加上使用nc传输需要设置一些诸如-l、 -p等参数,于是想将这些参数包裹在sh脚本中,一键执行脚本,方便快捷,具体如下:

一、本地端:

powershell 复制代码
#!/bin/bash

# 初始化ip地址变量为空
ip_address=""
file_name=""

# 使用getopts处理-p和-f选项
while getopts p:f: option
do
  case "${option}"
  in
  p) ip_address=${OPTARG};;
  f) file_name=${OPTARG};;
  esac
done

{ cat "$file_name"; printf '\nEOF\n'; } | nc "$ip_address" 12345

二、远程端:

powershell 复制代码
file_name=" "
# 使用getopts处理-p和-f选项
while getopts f: option
do
  case "${option}"
  in
  f) file_name=${OPTARG};;
  esac
done
nc -l -p 12345 | while IFS= read -r line
do
  if [[ "$line" == *EOF* ]]; then
    pkill nc
  else
    echo "$line" >> $file_name
  fi
done
echo "file pass successfully!"

三、执行

1. 先远程端:sh receive.sh -f {文件名称}

2. 后本地端:sh server_send.sh -p {远程ip} -f {文件名称}

相关推荐
霜!!1 分钟前
openssh升级
linux·运维·服务器
Vect__2 分钟前
25.12.27 理解文件本质+文件系统调用接口+fd+重定向
linux
草莓熊Lotso2 分钟前
2025年12月远程协作平台全景评测:智能连接时代的效率革命
运维·服务器·数据库
lucky-billy2 分钟前
使用 VS Code 通过 SSH 编译 Linux C++ 程序
linux·ssh·vs code·远程编译
阿洛学长17 分钟前
解决服务器 4000端口占用方案
运维·服务器
同聘云17 分钟前
阿里云国际站服务器防御怎么做?服务器能做什么用途?
服务器·安全·阿里云·云计算
stella·19 分钟前
服务器割接,我所学习到的内容。
linux·运维·服务器·学习·shell·割接
胡萝卜3.024 分钟前
Linux包管理器:高效安装软件的秘诀
linux·运维·服务器·人工智能·linux包管理·yum教程·apt入门
I · T · LUCKYBOOM27 分钟前
iptables 防火墙(二)
linux·运维·服务器·网络·安全·centos
带鱼吃猫33 分钟前
Linux 守护进程:会话、终端与后台运行的底层逻辑
linux·运维·服务器