经常使用,今天顺便整理一下~
1、scp
scp 是 secure copy 的简写,是linux系统下基于 ssh(Secure Shell)登陆进行安全的远程文件拷贝命令,scp 命令可以在 linux 服务器之间复制文件和目录。
当服务器硬盘变为只读 read only system 时,用 scp 可以把文件移出来。另外,scp 占用非常小的系统资源,不会提高多少系统负荷,基本不影响系统正常使用。
命令格式
scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径>
常用参数
-p 保留原文件的修改时间,访问时间和访问权限
-r 递归复制整个目录
-v 详细方式显示输出
-C 允许压缩
-P 指定数据传输用到的端口号
实例
# 把本地的 source.txt 文件拷贝到 192.168.8.8 机器上的 /home/user 目录下
scp /home/codedancing/source.txt [email protected]:/home/user/
# 把 192.168.8.8 机器上的 source.txt 文件拷贝到本地的 /home/codedancing 目录下
scp [email protected]:/home/user/source.txt /home/codedancing/
# 把 192.168.8.8 机器上的 source.txt 文件拷贝到 192.168.8.9 机器的 /home/user 目录下
scp [email protected]:/home/user/source.txt [email protected]:/home/user/
# 拷贝本地文件夹
scp -r /home/codedancing/sourcedir [email protected]:/home/user/
# 使用指定的主机名
scp -r /home/codedancing/sourcedir [email protected]:/home/user/
2、wget
wget 是一个 Linux 环境下的一个下载文件工具,只能从远程机器将文件或文件夹下载到本地,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。
命令格式
wget [参数] [URL地址]
实例
# 使用wget下载单个文件
wget http://www.stk.com/wordpress-3.1-zh_CN.zip
# 从192.168.8.8上拷贝文件夹source.txt
wget ftp://192.168.8.8//home/user/source.txt
# 使用主机名
wget ftp://www.myhost.com//home/user/source.txt
# 使用 wget -O 下载并以指定的文件名保存
wget -O wordpress.zip http://www.stk.com/download.aspx?id=1080
# 使用 wget -b 后台下载
wget -b http://www.stk.com/wordpress-3.1-zh_CN.zip
#指定本地保存路径,使用参数“-P 路径”或者“--directory-prefix=路径”;-nH, --no-host-directories 不创建主机目录
wget -nH -P /home/codedancing/ ftp://www.myhost.com//home/user/source.txt
3、rsync
rsync 命令是一个远程数据同步工具,可快速同步多台主机间的文件。rsync 使用所谓的 “ rsync 算法 ” 来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。但当小文件众多的情况下,rsync 会导致硬盘 I/O 比较高。
命令格式
rsync [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径>
实例
# n把本地的 source.txt 文件拷贝到 192.168.8.8 机器上的 /home/user 目录下
rsync /home/codedancing/source.txt [email protected]:/home/user/
# 把 192.168.8.8 机器上的 source.txt 文件拷贝到本地的 /home/codedancing 目录下
rsync [email protected]:/home/user/source.txt /home/codedancing/
# 把 192.168.8.8 机器上的 source.txt 文件拷贝到 192.168.8.9 机器的 /home/work 目录下
rsync [email protected]:/home/user/source.txt [email protected]:/home/user/
# 拷贝文件夹
rsync -r /home/work/sourcedir [email protected]:/home/work/
# 使用主机名
rsync -r /home/work/sourcedir [email protected]:/home/work/
# 显示详情,加-v参数
rsync -r -v /home/work/sourcedir [email protected]:/home/work/
# 排除子目录,注意:--exclude后面的路径不能为绝对路径,必须为相对路径才可以,否则匹配不上,就不会被排除掉。
rsync -r -v --exclude sourcedir/notinclude /home/work/sourcedir [email protected]:/home/work/
4、rcp
rcp 是 remote file copy 的缩写,该命令用于远程复制文件或目录。
如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到最后的目录中,系统管理员需要事先把源主机加入到可信任主机列表中,否则无法在源主机上使用rcp远程复制文件到目标主机。
命令格式
rcp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径>
常用参数
-r 递归地把源目录中的所有内容拷贝到目的目录中。要使用这个选项,目的必须是一个目录
-p 保留原文件的修改时间,访问时间和访问权限
-x 为传送的所有数据打开DES加密,这会影响响应时间和CPU利用率,但可以提高安全性。
-D 指定远程服务器的端口号
实例
# 将当前目录下的 source.txt 文件复制到主机 192.168.8.8 的 /home/root/dir/ 目录下
rcp source.txt [email protected]:/home/root/dir/
# 将当前目录下的多个文件复制到主机 192.168.8.8 的 /home/root/dir/ 目录下
rcp source1.txt source2.txt source3.txt [email protected]:/home/root/dir/
# 将远程主机指定目录的文件拷贝到本地目录
rcp -r [email protected]:/home/root/dir/test/ /home/root/dir/
# 将多个文件从多个远程源复制到使用不同用户名的远程目标中
rcp [email protected]:/home/root/dir/source1.txt [email protected]:/home/zhangsan/dir/source2.txt [email protected]:/home/lisi/dir/