
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文件
