基于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 {文件名称}

相关推荐
岁岁岁平安17 分钟前
CentOS-7-x86_64解决:使用NAT模式无法ping通www.baidu.com或无法ping 8.8.8.8问题。
linux·运维·centos·centos-7
运维小贺29 分钟前
各服务器厂商调整BIOS睿频教程
linux·运维·服务器·性能优化
网硕互联的小客服32 分钟前
如何排查服务器中已经存在的后门程序?
运维·服务器·github
特种加菲猫1 小时前
指尖上的魔法:优雅高效的Linux命令手册
linux·笔记
★Orange★1 小时前
Linux Kernel kfifo 实现和巧妙设计
linux·运维·算法
NetX行者1 小时前
FastMCP:用于构建MCP服务器的开源Python框架
服务器·python·开源
bemyrunningdog1 小时前
Mock数据
linux·运维·ubuntu
是阿建吖!2 小时前
【Linux | 网络】网络编程套接字
linux·网络
退役小学生呀2 小时前
十、K8s集群资源合理化分配
linux·云原生·容器·kubernetes·k8s
Winner13003 小时前
Debian、Buildroot 和 Ubuntu 都是基于 Linux 的系统区别
linux·ubuntu·debian