Linux系统可以和其他系统之间进行传输文件,只要通过ssh连接成功以后,就能进行文件传输。
Linux系统也可以通过URL规则和网页之间进行传输文件(即上传/下载)。
1、Linux系统之间传输文件:scp
centos7自带ssh服务(默认OpenSSH)。
远程连接另一台Linux系统:ssh 用户名@ip地址
向另一台Linux系统发送文件:scp 文件名 用户名@ip地址:目标路径(对方主机中保存位置)
从另一台Linux系统接收文件:scp 用户名@ip地址:文件名 目标路径(本机中保存位置)
查看ip地址:ip a 或者 ip addr
查看ssh服务的状态:systemctl status sshd(若active(running)则ssh服务已开启)
查看ssh相关的进程:ps -e | grep ssh(若有sshd则ssh服务已开启)
2、Windows远程连接Linux,Linux和Windows之间传输文件
(2-1)终端:scp命令
满足先决条件的Windows系统可以安装openssh。若安装并启动了OpenSSH,就可以通过输入终端命令:ssh 用户名@ip地址,连接Linux系统。
参考网址:适用于 Windows 的 OpenSSH 入门 | Microsoft Learn
Windows向Linux传输文件:scp 文件名 用户名@ip地址:目标路径(Linux中保存位置)
Linux向Windows传输文件:scp 用户名@ip地址:文件名 目标路径(Windows中保存位置)
(2-2)XShell 客户端连接
而不能安装OpenSSH的Windows系统,则可下载安装XShell(SSH客户端)。
Windows通过XShell连接centos7系统,出现"[用户名@主机名 ~]#或者$",则表示连接成功。
若Windows通过XShell无法连接虚拟机centos7系统,请尝试以下方法:
① 确保centos7系统已开启。确保XShell输入的用户名和密码正确。
② 确保XShell连接的主机ip地址正确。之前可以连接成功,突然不能连接的,通常是虚拟机ip地址更改。
修改XShell连接的主机ip地址:打开虚拟机centos7系统,登录,查看ip地址。XShell连接会话修改主机(ip地址),重新连接。
通过XShell连接成功后,可以有多种方式在Windows和Linux之间传输文件:xftp工具,rz命令/sz命令。
① xftp工具
安装XShell时也安装了xftp工具,打开XShell,点击"新建文件传输",就可以使用xftp工具在Windows和centos7之间传输文件。
Windows向Linux传输文件:选择左侧windows中的文件及右侧centos7中的保存位置,点击"向右传输",在右侧显示出文件则表示传输成功。
Linux向Windows传输文件:选择右侧centos7中的文件及左侧windows中的保存位置,点击"向左传输",在左侧显示出文件则表示传输成功。
② rz命令/sz命令
在已连接上的centos7系统中,使用rz命令从Windows向centos7传输文件,使用sz命令从centos7向Windows传输文件。
使用rz命令/sz命令,Linux系统需安装lrzsz。若没有安装,可使用yum安装:yum install lrzsz -y
Windows向Linux传输文件:centos7中输入命令:rz -E,然后按回车,弹出打开对话框,选择文件,文件就会从Windows传输到centos7。
使用rz命令,需按照XShell中的Zmodem命令设置的方式使用。
本例中,因XShell会话属性中Zmodem命令设置的是rz -E,因此,输入:rz -E
查看XShell中的Zmodem命令的设置:
Windows向centos7传输文件:(若传输的是空文件(大小0字节),则centos7系统接收0字节,相当于没有传输文件)
补充:Linux系统安装lrzsz后,可以直接将windows中的文件拖拽到XShell远程连接上的Linux系统中。
Linux向Windows传输文件:centos7中输入命令:sz 文件名,按回车,弹出对话框,选择在Windows中的保存位置,文件将从Linux中传输到Windows中。
3、网站下载文件
(3-1)curl
Linux自带的文本传输工具curl,利用URL规则在Linux和网页之间传输文件,支持上传和下载。一般用于从网页下载文件。
curl命令从网页下载数据: curl -o 保存路径和文件名 网址
# 下载网页内容,并输出到指定文件中
curl -o a.txt http://www.baidu.com
# 从网页下载文件
curl -o wget.rpm http://mirrors.163.com/centos/7/os/x86_64/Packages/wget-1.14-18.el7_6.1.x86_64.rpm
补充:可输入命令 man curl 查看curl使用文档,也可输入命令 curl --help 查看curl所有选项。
(3-2)wget
wget也是一款在命令行下使用的下载工具。Linux系统若要使用wget,需安装:yum install wget -y
wget命令从网页下载数据:wget 网址
# 从网页下载文件(文件名就是网页上下载时的名称)
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/vim-minimal-7.4.629-7.el7.x86_64.rpm
注意:从网页下载文件,需确保Linux系统能够连接网络。
查看是否能够连接网络(检测网络连接情况):ping 网址
补充:VMware中Linux系统无法连接网络,尝试以下方法:(宿主机Windows)
① 确保宿主机可以连接网络。确保宿主机已开启VMware相关的服务。Windows可在“我的电脑-->右键点击管理-->服务和应用程序-->服务”查看VMware服务状态,若没有开启,右键点击启动。
② 查看虚拟机的网络配置,“设置-->网络适配器-->网络连接”,选择合适连接模式(一般NAT模式)。
③ VMware中Linux系统关机后,查看虚拟网络器,可在"编辑-->虚拟网络编辑器-->更改设置-->还原默认设置"清除网络设置,重新进行设置。
④ 查看Linux系统中网络配置(文件:/etc/sysconfig/network-scripts/ifcfg-ens33),主要是ONBOOT="yes"和BOOTPROTO="dhcp"。若不是,尝试用vi/vim修改。
⑤ 重启虚拟机linux系统。再不行,重启电脑。还不行,请寻找其他方法。