两个linux之间复制文件及目录

Linux为我们提供了两个用于文件copy的命令,一个是cp,一个是scp,但是他们略有不同,cp 主要是用于在同一台电脑上,在不同的目录之间来回copy文件 scp 主要是在不同的Linux系统之间来回copy文件。scp即security cp,带有安全性的复制。

在两台linux机之间复制文件,我们打开其中任意一台即可,利用scp可实现两者之间文件目录的传输:

从本地服务器复制到远程服务器 

(1) 复制文件:  

命令格式:  

scp local_file remote_username@remote_ip:remote_folder  

或者  

scp local_file remote_username@remote_ip:remote_file  

或者  

scp local_file remote_ip:remote_folder  

或者  

scp local_file remote_ip:remote_file  

第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名  

第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名   

(2) 复制目录:  

命令格式:  

scp -r local_folder remote_username@remote_ip:remote_folder  

或者  

scp -r local_folder remote_ip:remote_folder  

第1个指定了用户名,命令执行后需要输入用户密码;  

第2个没有指定用户名,命令执行后需要输入用户名和密码;

  

从远程服务器复制到本地服务器 

从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。

实例1:从远处复制文件到本地目录

命令:

scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

说明:

从192.168.120.204机器上的/opt/soft/的目录中下载nginx-0.5.38.tar.gz 文件到本地/opt/soft/目录中

实例2:从远处复制到本地

命令:

scp -r root@192.168.120.204:/opt/soft/mongodb /opt/soft/

说明:

192.168.120.204机器上的/opt/soft/中下载mongodb 目录到本地的/opt/soft/目录来。

实例3:上传本地文件到远程机器指定目录

命令:

scp /opt/soft/nginx-0.5.38.tar.gz root@192.168.120.204:/opt/soft/scptest

输出:

说明:

复制本地opt/soft/目录下的文件nginx-0.5.38.tar.gz 到远程机器192.168.120.204opt/soft/scptest目录

实例4:上传本地目录到远程机器指定目录

命令:

scp -r /opt/soft/mongodb root@192.168.120.204:/opt/soft/scptest

输出:

另外:最简单的方法,从ip为 192.168.120.204的机子上复制/opt/soft/mongodb的所有内容到本地机子/usr/lll中。我们登录本机,并且切换到/usr/lll目录下:

cd /usr

cd lll

scp 192.168.120.204:/opt/soft/mongodb.

之后根据要求输入204机子的管理员密码即可完成复制,最后一行的“.”不可缺,指的是不仅将mongobd目录复制到本机中,并且其中的所有文件也跟着一并复制。完成这些复制的前提是您是远程机的管理员。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果Linux服务器之间需要进行文件复制,且台服务器的SSH连接需要密码验证,可以使用以下脚本: ``` #!/bin/bash # 定义源文件和目标文件路径 source_path="/path/to/source/file" target_path="/path/to/target/directory" # 定义远程服务器的IP地址和用户名 remote_ip="remote_server_ip" remote_user="remote_server_user" # 复制文件到远程服务器 scp "$source_path" "$remote_user@$remote_ip:$target_path" # 输出复制成功信息 echo "File copied successfully!" ``` 在脚本中,需要指定远程服务器的IP地址和用户名。然后使用scp命令将文件复制到远程服务器上。当脚本运行时,会提示输入远程服务器的密码进行验证,验证成功后文件就会复制到远程服务器上。 如果需要复制多个文件,只需要修改脚本中的源路径和目标路径即可。如果需要将多个文件复制到同一个目标路径下,可以将目标路径设置为目录路径,然后使用`*`通配符来复制所有文件,例如: ``` #!/bin/bash # 定义源文件和目标文件路径 source_path="/path/to/source/*" target_path="/path/to/target/directory/" # 定义远程服务器的IP地址和用户名 remote_ip="remote_server_ip" remote_user="remote_server_user" # 复制文件到远程服务器 scp $source_path "$remote_user@$remote_ip:$target_path" # 输出复制成功信息 echo "Files copied successfully!" ``` 在这个例子中,`$source_path`是一个目录路径,可以使用`*`通配符来匹配该目录下的所有文件。然后将这些文件复制到远程服务器上的`$target_path`目录下。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值