新闻资讯

远程文件传输命令有哪些

nat | 2025-02-28

在不同的操作系统和环境中,有多种远程文件传输命令可供使用,这些命令为用户提供了高效、灵活的文件传输方式 。

Windows 系统

1、 Robocopy:Robocopy(Robust File Copy)是 Windows 系统中强大的文件复制命令,也可用于远程文件传输 。它支持复制文件和目录,并且具有丰富的参数选项 。例如,要将本地目录 C:\source\ 复制到远程计算机 192.168.1.100 的共享目录 192.168.1.100\destination\,可以使用命令 “robocopy C:\source\ 192.168.1.100\destination\ /E” 。其中,“/E” 参数表示复制子目录,包括空目录 。Robocopy 还支持镜像复制,使用 “/MIR” 参数,它会删除目标目录中不存在于源目录的文件和目录,实现源目录和目标目录的完全同步 。例如,“robocopy C:\source\ 192.168.1.100\destination\ /MIR” 。它还可以设置传输重试次数、日志记录等功能 。
2、 Psexec:Psexec 是一款远程执行命令工具,也可以用于远程文件传输 。它需要在本地和远程计算机上都有相应的权限 。首先,要确保本地和远程计算机的网络连接正常,并且本地计算机具有远程计算机的管理员权限 。使用 Psexec 进行文件传输时,例如将本地文件 C:\test.txt 传输到远程计算机 192.168.1.100 的 C:\ 目录下,可以使用命令 “psexec 192.168.1.100 -u username -p password copy C:\test.txt C:\” 。其中,“-u” 参数指定远程计算机的用户名,“-p” 参数指定密码 。Psexec 还可以执行远程命令,如在远程计算机上运行程序、启动服务等 。

Linux 系统

1、 Scp:Scp(Secure Copy)是基于 SSH 协议的安全文件传输命令 。它的基本语法是 “scp (选项)((用户 @) 源主机:) 源文件路径 ((用户 @) 目标主机:) 目标文件路径” 。例如,将本地文件 /home/user/local_file.txt 传输到远程主机 192.168.1.100 的 /home/remote_user/ 目录下,命令为 “scp /home/user/local_file.txt remote_user@192.168.1.100:/home/remote_user/” 。如果远程主机的 SSH 端口不是默认的 22 端口,需要使用 “-P” 参数指定端口号,如 “scp -P 2222 /home/user/local_file.txt remote_user@192.168.1.100:/home/remote_user/” 。Scp 支持传输目录,使用 “-r” 参数,如 “scp -r /home/user/local_dir remote_user@192.168.1.100:/home/remote_user/” 。
2、 Rsync:Rsync 是一个灵活的文件同步和传输工具 。它的基本语法是 “rsync (选项) 源文件或目录目标位置” 。例如,将本地目录 /home/user/local_dir 同步到远程主机 192.168.1.100 的 /home/remote_user/ 目录下,命令为 “rsync -avz /home/user/local_dir remote_user@192.168.1.100:/home/remote_user/” 。其中,“-a” 表示以归档模式传输,保留文件的所有属性;“-v” 表示显示详细信息;“-z” 表示压缩传输 。Rsync 支持增量传输,只传输有变化的部分,大大提高了传输效率 。它还可以设置排除规则,使用 “--exclude” 参数,如 “rsync -avz --exclude='*.log' /home/user/local_dir remote_user@192.168.1.100:/home/remote_user/” 表示同步 local_dir 目录,但排除所有.log 文件 。
3、 Sftp:Sftp(SSH File Transfer Protocol)是基于 SSH 的文件传输协议,提供了交互式的文件传输界面 。首先通过 SSH 连接到远程服务器,命令为 “sftp user@remote_host” 。连接成功后,可以使用类似于 FTP 的命令进行文件传输 。例如,使用 “get” 命令下载文件,如 “get remote_file.txt” 将远程服务器上的 remote_file.txt 文件下载到本地当前目录 ;使用 “put” 命令上传文件,如 “put local_file.txt” 将本地的 local_file.txt 文件上传到远程服务器当前目录 。还可以使用 “ls” 命令查看远程服务器当前目录下的文件列表,使用 “cd” 命令切换目录等 。

macOS 系统

1、 Scp:与 Linux 系统中的 Scp 命令类似,在 macOS 系统中也可以使用 Scp 进行远程文件传输 。例如,将本地文件 / Users/user/local_file.txt 传输到远程主机 192.168.1.100 的 / Users/remote_user/ 目录下,命令为 “scp /Users/user/local_file.txt remote_user@192.168.1.100:/Users/remote_user/” 。同样支持使用 “-r” 参数传输目录,使用 “-P” 参数指定端口号 。
2、 Rsync:macOS 系统也支持 Rsync 命令,用法与 Linux 系统中的 Rsync 命令基本相同 。例如,将本地目录 / Users/user/local_dir 同步到远程主机 192.168.1.100 的 / Users/remote_user/ 目录下,命令为 “rsync -avz /Users/user/local_dir remote_user@192.168.1.100:/Users/remote_user/” 。可以根据需要使用各种参数,如 “--exclude” 排除文件或目录,“--delete” 删除目标目录中多余的文件等 。
在使用这些远程文件传输命令时,要确保网络连接正常,并且具备相应的权限 。不同的命令适用于不同的场景,用户可以根据自己的需求选择合适的命令 。


拓展阅读

1、 如何在 Windows 系统中使用 Robocopy 实现定时远程文件传输:结合 Windows 系统的任务计划程序,创建一个新任务 。在任务中设置触发条件,如每天、每周的特定时间 。在操作中,添加 Robocopy 命令及相应参数,实现定时远程文件传输 。
2、 Linux 系统中 Rsync 与 Scp 在不同场景下的选择:对于少量文件的快速传输,Scp 更合适,操作简单;对于大量文件且文件有频繁更新的场景,Rsync更合适。