![嵌入式Linux开发技术](https://wfqqreader-1252317822.image.myqcloud.com/cover/138/43738138/b_43738138.jpg)
2.2.4 文件传输工具
2.2.4.1 Linux常用传输命令
Linux服务器之间传输文件的方式有4种,具体内容如下:
(1)scp。scp是Secure Copy的简写,用来进行远程文件复制,其优点是简单方便、安全可靠;其缺点是不支持排除特定的目录。在使用scp传输方式时,实际的数据传输采用SSH协议,并且和SSH协议使用相同的认证方式,提供了相同的安全保证。scp的命令格式为:
![](https://epubservercos.yuewen.com/05A69C/23020642901652606/epubprivate/OEBPS/Images/42374_42_1.jpg?sign=1739295973-ORvpCPAxMYcFuHsTTaowwVd9AoGs9Byx-0-146733abfd44871c58f5d0d56b7b47dc)
例如,把本地的source.txt文件复制到192.168.0.10机器上的“/home/work”目录下,命令如下:
![](https://epubservercos.yuewen.com/05A69C/23020642901652606/epubprivate/OEBPS/Images/42374_42_2.jpg?sign=1739295973-H4eHspEtEWu4XYHN0QCZF6WsSF624ltI-0-e6b4e634e6e3d94af6a0116961f4e95c)
(2)rcp。rcp是Remote File Copy的简写,用来进行远程文件复制。在使用rcp传输方式时,目标主机需要事先打开rcp功能,并设置好rcp的权限,把源主机加入可信任主机列表中,否则源主机无法使用rcp将文件远程复制到目标主机。rcp命令格式为:
![](https://epubservercos.yuewen.com/05A69C/23020642901652606/epubprivate/OEBPS/Images/42374_42_3.jpg?sign=1739295973-hNoKelJEiHqMAqIJpVxG2GOTKXzdYi6W-0-379553f09785c223e44f00519a9c0338)
命令中的每个文件或目录既可以是远程文件名,也可以是本地文件名。远程文件名的形式是“rname@rhost:path”,其中rname是远程用户名,rhost是远程主机名,path是这个文件的路径。例如,把本地的source.txt文件复制到serv001机器上的“/home/work”目录下,命令如下:
![](https://epubservercos.yuewen.com/05A69C/23020642901652606/epubprivate/OEBPS/Images/42374_42_4.jpg?sign=1739295973-reu5ZsZ7Gk3HCSb1TlYz8GtPyL6Rapu5-0-b06ecf3cac18cb662594c182f1eb7b3c)
(3)wget。wget用于从远程主机将文件或文件夹下载到本地,要求远程主机需要支持FTP服务。wget的参数较多,使用时比scp复杂。wget是一个从网络上自动下载文件的传输方式,支持通过HTTP、HTTPS、FTP三种常见的TCP/IP协议,并可以使用HTTP代理。wget命令格式为:
![](https://epubservercos.yuewen.com/05A69C/23020642901652606/epubprivate/OEBPS/Images/42374_42_5.jpg?sign=1739295973-EjZ7839HeKMjNnbWoTsZR7jZeibB6oMF-0-2ab19572d17ae353cc5fae94c9cafe9b)
例如,将文件source.txt从192.168.0.10下载到本地,命令如下:
![](https://epubservercos.yuewen.com/05A69C/23020642901652606/epubprivate/OEBPS/Images/42374_42_6.jpg?sign=1739295973-TmhYhmNpcWTcCMWjEWHxU6tTPH8u94c9-0-51f2c75eeac3aacea4dd2091a84b818a)
(4)rsync。rsync的操作类似于scp,支持排除指定的目录、支持限速参数、支持本地复制。rsync命令格式为:
![](https://epubservercos.yuewen.com/05A69C/23020642901652606/epubprivate/OEBPS/Images/42374_42_7.jpg?sign=1739295973-Fab1BqwbTV0s01wZ4vNUo1zhwWZYF6kE-0-2bb6d988084c3df88092ca9a75d2dbaa)
例如,把本地的source.txt文件复制到192.168.0.10上的“/home/work”目录下,命令如下:
![](https://epubservercos.yuewen.com/05A69C/23020642901652606/epubprivate/OEBPS/Images/42374_43_1.jpg?sign=1739295973-A4wbQZDzydQGOnz5jiOJiXrUL6hOpcQq-0-7cef5e1b7d4a9f1bc83fd4f110f700d0)
2.2.4.2 FTP工具
文件传输协议(File Transfer Protocol,FTP)是互联网用来传输文件的协议,是为了能够在互联网上传输文件而制定的文件传输标准,规定了互联网是如何传输文件的。通过FTP协议,可以向FTP服务器上传文件或从FTP服务器下载文件。FTP工具有FLASHFXP、LEAPFTP、CuteFTP。
FTP工具具有下载和上传两个功能,要连上FTP服务器,就需要知道该FTP服务器的账号和密码,利用账号和密码可以连接到该FTP服务器。
2.2.4.3 Samba工具
Samba是在Linux和UNIX操作系统上实现服务器消息块(Server Messages Block,SMB)协议的一个软件。SMB由服务器程序及客户端程序构成,SMB是一种在局域网上共享文件和打印机的一种通信协议,为局域网内的不同主机之间提供了文件及打印机等资源的共享服务。
Samba既可以用于Windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享。由于NFS(网络文件系统)可以很好地完成Linux与Linux之间的数据共享,因而Samba常用于在Linux与Windows之间的数据共享。