【Linux】【开发环境】Linux/windows传输文件手段小结

简介: 【Linux】【开发环境】Linux/windows传输文件手段小结

缘起


在嵌入式开发过程中,经常需要在windows和Linux系统之间或Linux系统之间传输文件,但受限于服务器或开发环境等(有的时候服务器并未安装某种服务或者处于信息安全的考虑,限制了samba、ftp的使用等),并不一定能随心所欲的使用某一种方式,本文将相关手段做一梳理,供各位参考。


相关手段


1、samba


  • samba不用多说,用起来非常爽,服务器上的文件和本地文件一样;


  • 常用技巧:


– 将samba服务器映射成本地磁盘;


– 同一个服务器(同一个IP),在windows上仅支持一个用户访问,如需更换用户,可使用net use或凭据管理器进行切换。


2、ftp/sftp/tftp


  • Linux环境上,ftp相关软件包比较多:

Ftp/vsftp/wu-ftp/proftp/gssftp/sftp/tftpfer


  • windows环境:系统自带,也可使用各种FTP客户端软件,如FileZilla等。


  • Linux搭建ftp服务器的时候,可使用curlftpfs挂载ftp空间;


3、scp


  • Linux之间操作,直接使用命令行:


本地->远端


scp -r /opt/soft/root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz 


远端->本地


scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/


  • scp的一种隐式用法:


gzip -c /home/qxhgd/data | ssh yankay01"gunzip -c - > /home/qxhgd/data" #将/home/qxhgd/data经过GZIP压缩,通过ssh传输到qxhgd的机器上


  • Windows和Linux之间,可借助相关软件,如Winscp、MobaXterm等都自带scp功能。


4、rcp


  • 用于复制远程文件或目录;


  • 安装命令:


yum isntall -y rsh


  • rcp命令有两种格式:


– 第一种格式用于文件到文件的拷贝;


– 第二种格式用于把文件或目录拷贝到另一个目录中。


rcp [-pr][源文件或目录][目标文件或目录]
rcp [-pr][源文件或目录...][目标文件]


5、rsync


  • 安装命令


sudo yum install rsync


  • 命令格式:


rsysnc [options] source path destination path


  • 特点:


与其他文件传输工具(如 FTP 或 scp)不同,rsync的最大特点差异化传输(支持断点续传,数据同步)。


6、sz/rz


  • Linux/Unix同Windows进行ZModem文件传输的命令行工具


  • RHEL系列Linux环境安装命令:


yum install lrzsz


  • 具体命令格式:


sz filename       #下载文件filename;
sz file1 file2    #下载多个文件;
sz dir/*        #下载dir目录下所有文件;
rz [-a][-b][-e]    #上传,ascii,binary,escape;


  • SecureCRT软件是windows侧支持ZModem的客户端。


7、wget


  • Linux中的一个下载文件的工具,支持HTTP/HTTPS、FTP/FTPS 等协议;


  • 安装命令:


yum install -y wget


  • 具体用法:


wget [选项]... [URL]...


例子:


wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz


  • 具体操作中,可在一个系统上搭建http服务器,另一个服务器上执行wget下载文件。


  • wget也有windows的版本;


8、cURL


  • cURL支持 HTTP、HTTPS、FTP 等协议,还支持 POST、cookies、认证、从指定偏移处下载部分文件、User-Agent、限速、文件大小、进度条等特征;


  • 具体命令格式:


curl protocol://address:port/url


  • 一个实例:


curl http://www.baidu.com


  • cURL也有windows的版本;


9、nc


  • 安装命令:


yum install -y nc


  • 发送、接收操作


nc  -l  8888 > recv.txt           #将8888端口接收的数据保存到recv.txt文件
nc  192.168.1.100 8888 < send.txt #将send.txt发送到1.100的8888端口


10、Uuto/Uucp


  • Linux uuto命令将文件传送到远端的UUCP主机。


  • uuto为script文件,它实际上会执行uucp,用来将文件传送到远端UUCP主机,并在完成工作后,以邮件通知远端主机上的用户。


  • Uucp用于将文件从一台计算机复制到另一台计算机。uucp 将创建工作文件和数据文件,对要传输的作业进行排队,并调用 uucico 守护进程,随即该守护进程将尝试与远程计算机进行联络。


  • uuto将文件从本地计算机复制到远程计算机上的公共假脱机目录 /var/spool/uucppublic/receive。uucp 用于将文件复制到远程计算机上的任何可访问目录中,与之不同的是,uuto 将文件置于适当的假脱机目录中,并指示远程用户使用 uupick 来选取该文件。


11、vim


  • 全部复制:


按esc后,然后gg"+yG :


  • 粘贴:


p或P;


复制全部内容只能在linux上粘贴,在windows上粘贴,只有第一个屏幕的内容。


12、Resilio Sync


  • 原名BitTorrent Sync;


  • 运用 BitTorrent 技术在各平台间无限快速同步


13、Syncthing


  • Syncthing 是一个轻量级的点对点文件同步系统


  • Syncthing 可在 Linux、MacOS、Windows 和多种 BSD 中使用


14、Teamviewer


Teamviewer除了作为远程工具外,也可以作为远程传输文件的工具,支持Linux和Windows系统。


15、Raysync


  • 镭速,支持多个平台


  • 尤其适用于大文件传输场景


16、nfs


  • 服务器之间共享某一块磁盘,通过网络传输将分散的文件集中存储在一块指定的共享磁盘,实现基本的文件共享;


  • 实现这种方案,分服务端和客户端,将服务端的磁盘mount到客户端指定目录下,在客户端操作就像操作本地磁盘一样;


17、管道


gzip -c /home/test/data | ssh qxhgd@192.168.1.100 "gunzip -c - > /home/qxhgd/data" 
#将/home/test/data经过GZIP压缩,通过ssh传输到qxhgd的机器上
#gzip压缩,"-c"表示输出到stdout,即通过管道传送
#gunzip压缩,"-c"表示接收从管道传进的sdtin


18、Croc


  • 号称是下一代文件传输利器;


  • 可跨多个平台使用,支持CLI。


19、Directory Opus


  • 既可支持本地文件管理,也可以用于和Linux服务器之间的通信。


相关链接









相关文章
|
5天前
|
存储 网络协议 Linux
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
53 34
|
2月前
|
存储 NoSQL Linux
linux积累-core文件是干啥的
核心文件是Linux系统在程序崩溃时生成的重要调试文件,通过分析核心文件,开发者可以找到程序崩溃的原因并进行调试和修复。本文详细介绍了核心文件的生成、配置、查看和分析方法
161 6
|
2月前
|
Ubuntu Linux Go
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
278 14
|
2月前
|
存储 NoSQL Linux
linux之core文件如何查看和调试
通过设置和生成 core 文件,可以在程序崩溃时获取详细的调试信息。结合 GDB 等调试工具,可以深入分析 core 文件,找到程序崩溃的具体原因,并进行相应的修复。掌握这些调试技巧,对于提高程序的稳定性和可靠性具有重要意义。
432 6
|
2月前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
91 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
3月前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
54 5
|
3月前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
74 6
|
8天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
50 23
Linux系统之whereis命令的基本使用
|
22天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
34 11
|
2月前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
143 8