在Linux系统中,常用的上传文件命令主要有scp
(安全复制)和rsync
。
一、scp命令
scp
是基于SSH协议进行文件传输的命令。它可以在本地与远程主机之间或者远程主机与远程主机之间安全地复制文件。/home/user/file.txt
上传到远程主机remote_host
的/home/remote_user/
目录下:scp /home/user/file.txt remote_user@remote_host:/home/remote_user/
remote_host
的/home/remote_user/file.txt
下载到本地的/home/user/
目录:scp remote_user@remote_host:/home/remote_user/file.txt /home/user/
chmod
命令修改权限,如chmod 755 /home/remote_user/
(这里只是示例,实际权限设置要根据需求和安全策略)。scp
会失败。检查网络连接,确保可以ping通目标主机,并且远程主机的SSH服务正在运行(可以使用systemctl status sshd
命令检查,在基于systemd的系统上)。二、rsync命令
rsync
是一个快速备份工具,它可以在本地和远程之间同步文件和目录。它通过只传输文件的差异部分来提高效率。/home/user/dir1
同步到远程主机remote_host
的/home/remote_user/dir2
:rsync -avz /home/user/dir1 remote_user@remote_host:/home/remote_user/dir2
-a
表示归档模式(递归、保留权限等),-v
表示详细输出,-z
表示压缩传输。--exclude
选项。例如,rsync -avz --exclude='*.log' /home/user/dir1 remote_user@remote_host:/home/remote_user/dir2
,这样可以排除所有.log
文件。scp
中的解决方法;对于SELinux,可以使用setenforce 0
临时关闭(如果要永久关闭需要修改配置文件)。领取专属 10元无门槛券
手把手带您无忧上云