如何把文件复制在linux服务器上?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把文件复制在linux服务器上?相关的知识,希望对你有一定的参考价值。
参考技术A 不同的linux之间copy文件常用有3种方法,具体如下:第一种是在其中一台linux安装ftp
server,这样可以在另外一台使用ftp的client程序来进行copy。
第二种方法就是采用samba服务,类似windows文件copy的方式来操作,比较简洁方便
第三种就是利用scp命令来进行文件复制。
scp是有security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。
scp
/home/1.gif
root@172.19.2.75:/home/root
然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始cp和ungzip了
如果想反过来操作,把文件从远程主机copy到当前系统,也很简单:
scp
root@172.19.2.75:/home/abc.gif
/home/root
复制文件夹的格式是
scp
-r
root@192.168.1.1:/home/
/本地目录
我有一台linux机器,上有一些文件包,如何把这些文件包分发到100台服务器上,同时把文件包解压
这100台服务器ip1~100,文件包都是tar,用shell脚本实现
设置无密码传输:
1.在你这台主机上生成公钥
ssh-keygen -t rsa
一直回车
2.复制生成的公钥到所有服务器
即文件~/.ssh/id_rsa.pub
3.传输:
for((i=1;i<101;i++))
do
scp file.tar root@$ip$i:/tmp
echo file.tar " is copied"
done追问
复制生成的公钥到所有服务器时也要输入密码,那就要输入100次啊,有没有不用输密码,一个脚本就可以完成向这100台服务器发送文件包,还有怎么把复制过去的文件包解压
追答第一次近建立连接恐怕就是如此麻烦,也许你可以试试命令
echo passwd | scp -r user@ip:/path
把复制过去的文件解压没搞过,远程解压不知道怎么搞
先设置ssh无密码登陆,然后:
#!/bin/shfor i in `seq 1 100`
do
scp file.tar uaer@ip$i:/path/to/save
done追问
你这个脚本我也知道,关键是scp怎么无密码传输,还有后面解压文件包,你只写了一部分
追答配置ssh信任,像楼上说的那样。至于将公钥拷贝到这么多台主机上面,貌似有一个叫expect的软件可以,你百度一下。
解压就简单了,脚本中scp命令后面加一条:
ssh host tar xf /path/to/file.tar追问看来只能这样了,你的答案还可以
本回答被提问者采纳以上是关于如何把文件复制在linux服务器上?的主要内容,如果未能解决你的问题,请参考以下文章
我有一台linux机器,上有一些文件包,如何把这些文件包分发到100台服务器上,同时把文件包解压