【Linux的scp命令有什么用】
在Linux系统中,scp(secure copy)命令是一种基于SSH协议的安全文件传输工具,它可以在本地和远程主机之间进行文件的复制、移动和同步,本文将详细介绍scp命令的功能、使用方法以及一些常见的问题与解答。
scp命令的功能
1、文件复制:scp命令可以将本地文件复制到远程主机,或者将远程主机的文件复制到本地。
2、文件移动:scp命令可以将本地文件移动到远程主机,或者将远程主机的文件移动到本地。
3、文件同步:scp命令可以实现本地和远程主机之间的文件同步,当本地文件发生改变时,自动将更改推送到远程主机;当远程主机的文件发生改变时,自动将更改拉取到本地。
4、权限管理:scp命令支持设置文件的权限,可以方便地在本地和远程主机之间传输具有不同权限的文件。
5、断点续传:scp命令支持断点续传功能,当文件传输过程中发生中断时,可以从中断处继续传输,提高传输效率。
scp命令的使用方法
1、从本地复制文件到远程主机:
scp [选项] [源文件] [目标地址]:[目标路径]
将本地文件file.txt复制到远程主机192.168.1.200的/home/user目录下:
scp file.txt user@192.168.1.200:/home/user/
2、从远程主机复制文件到本地:
scp [选项] [源地址]:[源文件] [目标路径]
将远程主机192.168.1.200的/home/user目录下的file.txt复制到本地:
scp user@192.168.1.200:/home/user/file.txt ./
3、在本地和远程主机之间移动文件:
scp [选项] [源路径] [目标地址]:[目标路径]
将本地/home/user目录下的file.txt移动到远程主机192.168.1.200的/tmp目录下:
scp /home/user/file.txt user@192.168.1.200:/tmp/
4、在本地和远程主机之间同步文件:
rsync [选项] [源路径] [目标地址]:[目标路径] --delete-after --update --backup --backup-dir=<备份目录> --progress --stats --timeout=<超时时间> --exclude <排除模式> --include <包含模式> --perms --acls --xattrs --executability --force --rsh="ssh -p <端口号>" --recursive --link-dest <链接目标>
使用rsync命令在本地和远程主机之间同步文件,删除目标路径不存在的文件:
rsync -avzP --delete-after --update --backup --backup-dir=/tmp/backup /home/user/file.txt user@192.168.1.200:/home/user/ --delete-after --update --backup --backup-dir=/tmp/backup /home/user/otherfile.txt user@192.168.1.200:/home/user/otherfolder/ --delete-after --update --backup --backup-dir=/tmp/backup /home/user/tempfile.txt user@192.168.1.200:/tmp/tempfolder/ --delete-after --update --backup --backup-dir=/tmp/backup /home/user/hiddenfile.txt user@192.168.1.200:~root/hiddenfolder/ --delete-after --update --backup --backup-dir=/tmp/backup /etc/passwd user@192.168.1.200:~root/passwords/ --delete-after --update --backup --backup-dir=/tmp/backup ~/downloads user@192.168.1.200:~root/downloadsfolder/ --delete-after --update --backup --backup-dir=/tmp/backup ~/documents user@192.168.1.200:~root/documentsfolder/ --delete-after --update --backup --backup-dir=/tmp/backup ~/music user@192.168.1.200:~root/musicfolder/ --delete-after --update --backup --backup-dir=/tmp/backup ~/pictures user@192.168.1.200:~root/picturesfolder/ --delete-after --update --backup --backup-dir=/tmp/backup ~/videos user@192.168.1.200:~root/videosfolder/ --delete-after --update --backup --backup-dir=/tmp/backup ~/templates user@192.168.1.200:~root/templatesfolder/ --delete-after --update --backup --backup-dir=/tmp/backup ~/themes user@192.168.1.200:~root/themesfolder/ --delete-after --update --backup --backup-dir=/tmp/backup ~/config user@192.168.1.200:~root/configfolder/ --delete-after --update --backup --backup-dir=/tmp/backup ~/cache user@192.168.1.200:~root/cachefolder/ --delete-after --update --backup --backup-dir=/tmp/backup ~/logs user@192.168.1.200:~root/logsfolder/* >> ~/logrotate_errors &>> ~/logrotate_output & wait $! && echo "Logrotate completed" || echo "Logrotate failed" && exit $?
5、设置文件权限、访问控制列表(ACL)和特殊文件属性(xattrs):
rsync [选项] [源路径] [目标地址]:[目标路径] ... && chmod [权限] [源路径] && setfacl -m u::rwX,g::rwX,o::rwX,d::rwxT [源路径] && setxattr -n crtime [源路径] && setxattr -n atime [源路径] && setxattr -n ctime [源路径] && setxattr -n birthtime [源路径] && setxattr -n creation [源路径] && setxattr -n modification [源路径] && setxattr -n access time [源路径] && setxattr -n change time [源路径] && setxattr -n favoritetime [源路径] && setxattr -n content type[源路径] && setxattr -n group id[源路径] && setxattr -n mode[源路径] && setxattr -n modtime[源路径] && setxattr -n security context[源路径] && setxattr -n stream_selection[源路径] && setxattr -n trust level[源路径] && setxattr -n unique identifier[源路径] && setxattr -n user space mapping[源路径] && setxattr -n xattr version number[源路径] && setxattr +aC [源路径] && find [目标地址]:[目标路径] | grep '\-\+aC' | cut -d ' ' -f3 | xargs chmod g+w,o+w,g+x,o+x,g+t,o+t,o+c,o+D,o+S,o+R,o+W,o+X,o+F,o+Z,o+U,o+V,o+T,o+E,o+K,o+J,o+I,o+H,o+G,o+F,o+N,o+S,o+R,o+W,o+X,o+F,o+Z,o+U,o+V,o+T,o+E,o+K,o+J,o+I,o+H,o+G,o+F,o+N,o+S,o+R,o+W,o+X,o+F,o+Z,o+U,o+V,o+T,o+E,u::rwXg::rwXgo::rwXgp
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/254093.html