cp
基本介绍
cp主要用于同一台服务器上,目录和文件的复制
表达式
cp [OPTIONS] SOURCE DEST --- 从源路径copy文件到目的路径
常用参数
- -a same as -dpR 尽可能将源文件状态、权限等资料都照原装予以复制,并且是递归copy;
- -r 表示递归copy,若source中含有目录名,则将目录下之档案亦皆依序拷贝至目的地;
- -f 表示force,若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制;
基本使用
- 将多个文件copy到某个目录下
命令:cp test1.txt test2.txt test3dir/
注意:test1dir目录必须要首先存在,否则即便加上-r参数也是不行的
- 将源目录下的内容复制到目标目录下
命令:cp -r test3dir/ test4dir/
说明:当source中包含目录时,必须贷-r参数
- 将一个文件内容复制到另一个文件
命令:cp test1.txt test2.txt
说明:如果test2.txt不存在,会先自动创建在赋值内容
scp
基本介绍
在不同系统之间来回复制文件。既可以将本地文件复制到远程服务器上,也可以将远程服务器上的文件复制到本地。
表达式
scp [参数] 文件 用户@IP:/目标路径
特点
- 改变ssh加密算法,可以让速度更快;通常,越弱的加密算法,速度越快
- 通常压缩会降低scp速度,但这与数据类型有很大关系,对压缩率非常高的数据启用压缩,可以加速
- 压缩级别对传输效率影响很小
- 用于完整性校验的不同MAC( message authentication code)算法,对性能约有10%-20%的影响。
常用参数
- -1 强制scp命令使用协议ssh1
- -2 强制scp命令使用协议ssh2
- -4 强制scp命令只使用IPv4寻址
- -6 强制scp命令只使用IPv6寻址
- -B 使用批处理模式(传输过程中不询问传输口令或短语)
- -C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
- -p 保留原文件的修改时间,访问时间和访问权限。
- -q 不显示传输进度条。
- -r 递归复制整个目录。
- -v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
- -c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
- -F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
- -i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
- -l limit 限定用户所能使用的带宽,以Kbit/s为单位。
- -o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
- -P port 注意是大写的P, port是指定数据传输用到的端口号
- -S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
基本使用
- 复制文件,指定用户名,命令执行后需要再输入密码,目标的文件名和源文件名一致
命令:scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music
- 复制文件,指定用户名,命令执行后需要再输入密码,内容复制到目标文件中
命令:scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3
- 复制文件,不指定用户,命令执行后需要再输入用户名和密码
命令:scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music
命令:scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3
- 复制目录
命令:scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/
命令:scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/
- linux服务器和window服务器之间的文件传送
命令:scp administrator@192.168.3.181:/d:/test/config.ips /oracle
说明:将windows上的文件复制到Linux服务器上.其实Linux服务器和windows服务器之间传输文件有很多工具可以使用,如:Winscp、filezilla等,无需用命令实现。
注意:因为windows系统本身不支持ssh协议,所以,要想上面的命令成功执行,必须在windows客户端安装ssh for windows的客户端软件,比如winsshd,使windows系统支持ssh协议才行
注意:
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。