Linux 使用scp拷贝文件时报错

Linux 使用scp拷贝文件时报错

Scp命令是Linux环境中非常有用的一个文件拷贝命令,往往应用于不同Linux主机之间文件拷贝,但是今天执行scp时,却出现了下面的报错提示:

“bash: scp: command not found”。

经查,原来用scp命令拷贝文件的目标主机是Centos 6.4 mini版安装的,该机器并没有安装包含有scp命令的rpm文件包,需要安装openssh-clients文件包。下面就分享一下问题解决过程。

在已经安装好scp的主机上查找scp所在的rpm包

# find / -name scp ----查找scp全路径

# rpm -qf /usr/bin/scp ----查看scp所在rpm安装包

openssh-clients-5.3p1-84.1.el6.x86_64

查看目标主机是否安装了scp命令以及openssh-clients文件包。

# find / -name scp ----查找是否安装了scp命令。

# rpm -qa |grep openssh-clients ----查看是否安装了openssh-clients rpm包

由如下图中命令执行的结果可知,该机器既没有scp命令,也没有安装openssh-clients

安装openssh-clients rpm包

a、首先将Centos 6.4的镜像文件挂载到/mnt

# mount -o loop CentOS-6.4-x86_64-bin-DVD1.iso /mnt

b、然后安装openssh-clients rpm包

# rpm -ivh openssh-clients-5.3p1-84.1.el6.x86_64.rpm

执行完命令后,查看目标主机是否已经安装了scp

# find / -name scp

# rpm -qa |grep openssh-clients

执行scp命令,将/usr/jdk-7u60-linux-x64.rpm文件拷贝到目标主机172.29.201.156的/usr文件夹中。

# scp jdk-7u60-linux-x64.rpm 172.29.201.156:/usr ----复制文件

# ssh 172.29.201.156 “ls /usr" ----查看目标主机中是否已经有jdk-7u60-linux-x64.rpm文件