配置实验环境
systemctl status sshd //查看sshd服务状态
systemctl enable --now sshd //打开当前状态的sshd服务
systemctl disable --now firewalld //当防火墙不放行sshd服务时,关闭火墙
hostnamectl hostname 主机名 //更改主机名
IP a 查看主机IP地址
更换超级用户登录
一、scp命令介绍
SCP是Secure Copy Protocol(安全拷贝协议)的缩写,是SSH(Secure Shell)协议的一部分,用于在网络之间传输文件。其使用加密的方式在本地主机和远程主机之间复制文件。
2.1 基本语法
scp [选项] [源文件] [目标地址]
-i:identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh;
-l:指定宽带限制;
-o:指定使用的ssh选项;
-P:指定远程主机的端口号;
-p:保留文件的最后修改时间,最后访问时间和权限模式;
-q:不显示复制进度;
-r:以递归方式复制。
2.2从远程主机下载文件到本地
scp -rq root@*/root/Desktop/ .
2.3拷贝整个目录到远程主机
scp -r local_folder remote_username@remote_ip:remote_folder
2.4将远程主机目录拷贝到本地
scp -r remote_username@remote_ip:remote_folder local_folder
2.5保留文件权限拷贝
scp -p /home/user/file.txt remoteuser@remotehost:/home/remoteuser/
2.6开启压缩传输
scp -C local_file remote_username@remote_ip:remote_folder
scp命令使用注意事项
默认情况下,SCP命令会使用SSH协议进行传输,因此在使用SCP命令之前必须确保SSH服务已经启动。
使用SCP命令传输文件时,必须确保源文件和目标文件的权限设置正确,否则可能会导致传输失败。
在使用scp命令进行文件传输时,需要注意文件名中的空格和特殊字符需要使用转义符号进行转义。
如果要传输大量的文件或者文件夹,建议使用tar命令打包成一个文件,然后再使用SCP命令进行传输,这样可以提高传输的效率。
使用SCP命令传输文件时,可以使用-v参数开启详细模式,可以查看传输的详细过程,方便调试。
对于高权限的文件或目录,需要使用sudo命令获取足够的权限才能进行传输。
在进行远程文件复制时,需要确保目标主机的用户名和密码正确
rsync
rsync 是一个在 Linux 和其他 Unix-like 系统上一个非常强大的命令行工具,广泛使用的数据同步和文件传输工具。它的名字是 "remote sync" 的缩写,但它不仅仅用于远程同步,也可以用于本地文件和目录之间的同步。rsync 的主要优势在于其高效的增量传输方式,它只传输源和目标之间发生变化的文件块,而不是整个文件
3.1使用 "rsync --daemon --help" 来查看守护进程模式的命令行选项、
1.复制本地文件到远程主机
2.复制远程文件到本地
-r //复制目录
-l //复制链接
-p //复制权限
-t //复制时间戳
-o //复制拥有者
-g //复制拥有组
-D //复制设备文件
3.2将本地目录复制到远程主机
rsync -avz /本地路径/ 用户名@远程服务器IP地址:/远程路径/
3.3从远程主机复制目录到本地
rsync -avz 用户名@远程服务器IP地址:/远程路径/ /本地路径/
3.4使用SSH协议进行远程复制
rsync -avz -e ssh 用户名@远程服务器IP地址:/远程路径/ /本地路径/
3.5仅列出远程主机上的文件而不复制
rsync -avz --list-only 用户名@远程服务器IP地址:/远程路径/
3.6使用rsync进行增量备份
rsync -avz --delete /data/ /backup/
3.7限制传输带宽
rsync -avz --bwlimit=1000 用户名@远程服务器IP地址:/远程路径/ /本地路径/
3.8目录复制并预先分配目标文件的空间
rsync -avz --preallocate 用户名@远程服务器IP地址:/path/to/destination/ /path/to/source/
4.1tar 命令用于创建归档文件(tarball),以及从归档文件中提取文件。
tar [选项] [归档文件] [文件或目录]
归档文件可以保留原始文件和目录的层次结构,通常使用 .tar 或 .tar.gz 作为文件扩展名。
对打包文件进行压缩以节省空间或传输带宽。
选项:
-c:创建归档文件(Create)
-x:从归档文件中提取文件(eXtract)
-v:显示详细信息(Verbose)
-f:指定归档文件的名称(File)
-z:使用 gzip 压缩或解压缩(gzip)
-j:使用 bzip2 压缩或解压缩(bzip2)
-r:向归档文件中追加文件(append)
-t:列出归档文件的内容(List)
4.2创建归档文件
tar -cvf archive.tar file1 file2 catalog/
4.3列出归档文件
tar -tvf archive.tar
4.4解压缩归档文件
tar -xvf archive.tar
# tar.gz
tar -czvf archive.tar.gz
tar -xvf archive.tar -C /path/to/target/directory
mkdir dir-test
tar -xvf archive.tar -C dir-test
zip格式兼容Linux与Windows
# zip -r etc.zip etc.tar
# unzip etc.zip
# gzip etc.tar
# gunzip etc.tar.gz
# bzip2 etc.tar
# bunzip2 etc.tar.bz2
# xz etc.tar
# unxz etc.tar.xz
# tar zcf etc.tar.gz /etc/
# tar zxf etc.tar.gz
bz2
# tar jcf etc.tar.bz2 /etc/
# tar jxf etc.tar.bz2
xz
# tar Jcf etc.tar.xz /etc/
# tar Jxf etc.tar.xz
du -sh 文件或目录
//查看文件或目录的大小