向linux服务器上传下载文件方式收集
Posted 我只吃大碗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向linux服务器上传下载文件方式收集相关的知识,希望对你有一定的参考价值。
向linux服务器上传下载文件方式收集
1. scp
【优点】简单方便,安全可靠;支持限速参数
【缺点】不支持排除目录
【用法】
scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 。
命令格式:
scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径>
举例:
scp /home/work/source.txt [email protected]:/home/work/ #把本地的source.txt文件拷贝到192.168.0.10机器上的/home/work目录下
scp [email protected]:/home/work/source.txt /home/work/ #把192.168.0.10机器上的source.txt文件拷贝到本地的/home/work目录下
scp [email protected]:/home/work/source.txt [email protected]:/home/work/ #把192.168.0.10机器上的source.txt文件拷贝到192.168.0.11机器的/home/work目录下
scp -r /home/work/sourcedir [email protected]:/home/work/ #拷贝文件夹,加-r参数
scp -r /home/work/sourcedir [email protected]:/home/work/ #使用主机名
scp -r -v /home/work/sourcedir [email protected]:/home/work/ #显示详情,加-v参数
2. rcp
目标主机需要事先打开rcp功能,并设置好rcp的权限:把源主机加入到可信任主机列表中,否则无法在源主机上使用rcp远程复制文件到目标主机。
http://baike.baidu.com/view/611109.htm
3. wget
【优点】简单方便,支持排除目录,支持限速参数
【缺点】只能从远程机器将文件或文件夹下载到本地,并且远程机器需要支持ftp服务(例如启动proftpd);参数较多,使用上比scp复杂
【用法】
wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。
命令格式:
wget [参数] ftp://<目标机器ip或主机名>/<文件的绝对路径> #proftpd格式
举例:
wget ftp://192.168.0.10//home/work/source.txt #从192.168.0.10上拷贝文件夹source.txt
wget ftp://www.myhost.com//home/work/source.txt #使用主机名
wget -nH -P /home/work/ ftp://www.myhost.com//home/work/source.txt #指定本地保存路径,使用参数“-P 路径”或者“--directory-prefix=路径”;-nH, --no-host-directories 不创建主机目录
wget -r -l 0 -nH -P /home/work/ ftp://www.myhost.com//home/work/sourcedir #递归下载sourcedir目录,使用参数-r;参数-l, --level=NUMBER 最大递归深度 (inf 或 0 代表无穷).
wget --cut-dirs=3 -r -l 0 -nH -P /home/work/ ftp://www.myhost.com//home/work/sourcedir #-参数-cut-dirs=NUMBER 忽略 NUMBER层远程目录,本例中将myhost上的sourcedir目录保存到本地的work目录下。
wget --limit-rate=200k --cut-dirs=3 -r -l 0 -nH -P /home/work/ ftp://www.myhost.com//home/work/sourcedir #-参数--limit-rate=RATE 限定下载输率
wget --limit-rate=200k --cut-dirs=3 -r -l 0 -nH -P /home/work/ -X /home/work/sourcedir/notincludedir ftp://www.myhost.com//home/work/sourcedir #排除路径使用-X参数
wget -q --limit-rate=200k --cut-dirs=3 -r -l 0 -nH -P /home/work/ -X /home/work/sourcedir/notincludedir ftp://www.myhost.com//home/work/sourcedir #参数-q表示安静模式,无输出;默认是-v,冗余模式
4. rsync
【优点】功能强大,操作类似scp,支持排除目录,支持限速参数;还支持本地复制。
【缺点】暂无
【用法】
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的操作方式和scp和相似,但是比scp强大很多。使用双冒号分割主机名和文件路径时,是使用rsync服务器,这里不做介绍。
命令格式:
rsync [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径>
举例:
rsync /home/work/source.txt [email protected]:/home/work/ #把本地的source.txt文件拷贝到192.168.0.10机器上的/home/work目录下
rsync [email protected]:/home/work/source.txt /home/work/ #把192.168.0.10机器上的source.txt文件拷贝到本地的/home/work目录下
rsync [email protected]:/home/work/source.txt [email protected]:/home/work/ #把192.168.0.10机器上的source.txt文件拷贝到192.168.0.11机器的/home/work目录下
rsync -r /home/work/sourcedir [email protected]:/home/work/ #拷贝文件夹,加-r参数
rsync -r /home/work/sourcedir [email protected]:/home/work/ #使用主机名
rsync -r -v /home/work/sourcedir [email protected]:/home/work/ #显示详情,加-v参数
rsync -r -v --exclude sourcedir/notinclude /home/work/sourcedir [email protected]:/home/work/ #排除子目录,注意:--exclude后面的路径不能为绝对路径,必须为相对路径才可以,否则匹配不上,就不会被排除掉。
5 linux系统下用 ssh登录管理服务器,并用scp上传下载文件
登录ssh方法:
1、ssh 主机
ssh 192.168.1.155 (表示用root用户登录到服务器)
2、ssh 用户@主机
ssh [email protected] (表示用user1登录到服务器)
3、ssh 主机 -l 用户名 -p 端口
ssh 192.168.1.155 -l user2 -p 8080 (表示user2用户用8080端口连接到192.168.1.155的服务器)
用scp命令上传和下载文件
scp [email protected]:1.txt 2.txt (把服务器的1.txt下载到本地,并且重命名为2.txt)
scp 2.txt [email protected]:3.txt (把本地2.txt文件上传到服务器的root目录下,并且命名为3.txt)
scp -r 的话表示上传或者下载文件夹
scp -表示加上端口信息(P为大写)
6 winscp软件方式(推荐)
在Windows下下载安装 winscp,运行后可以看到远程linux 服务器目录,选择要上传的文件拖到相应的目录即可,该方式简单实用
7 window系统下用 ssh登录管理服务器,并用scp上传下载文件
前提,在windows下安装cygwin,后面的操作同5
1 ssh www.2cto.com
在Cygwin中执行:$ ssh [email protected]
2 scp
命令scp基于SSH协议,可以将本地文件拷贝到远程服务上的指定目录,格式如下:
$ scp filename [email protected]:remotedirectory
执行:$ scp ipmsg.log [email protected]:/home/admin
8 ftp软件方式
Step1. 在云服务器配置FTP服务
1.在root权限下,通过如下命令安装Vsftp。
[[email protected]_250_202_tlinux ~]# yum install vsftpd
2.在启动vsftpd服务之前,需要登录云服务器修改配置文件,将匿名登录禁用掉。打开配置文件,命令如下:
[[email protected]_250_202_tlinux ~]# vim /etc/vsftpd/vsftpd.conf
在配置文件中第11行的“anonymous_enable=YES”前面加上#号,即将匿名登录禁用。
3.读取生效配置。
[[email protected]_250_202_tlinux ~]# cat /etc/vsftpd/vsftpd.conf |grep ^[^#]
local_enable=YESwrite_enable=YESlocal_umask=022anon_upload_enable=YESanon_mkdir_write_enable=YESanon_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=YESpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YES
4.启动vsftpd服务。
[[email protected]_250_202_tlinux ~]# service vsftpd start
5.设置FTP用户账号。设置成功后,即可通过该账号登录FTP服务器。(1)设置FTP用户的账号,例如账号为“ftpuser1”,目录为/home/ftpuser1,且设置不允许通过ssh登录。
[[email protected]_250_202_tlinux ~]# useradd -m -d /home/ftpuser1 -s /sbin/nologin ftpuser1
(2)设置账号对应的密码,例如密码为“ftpuser1”。
[[email protected]_250_202_tlinux ~]# passwd ftpuser1
6.修改vsftpd的pam配置,使开发者可以通过自己设置的FTP用户帐号和密码连接到云服务器。(1)修改pam。
[[email protected]_250_202_tlinux ~]# vim /etc/pam.d/vsftpd
内容修改为:
#%PAM-1.0 auth required /lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed auth required /lib64/security/pam_unix.so shadow nullok auth required /lib64/security/pam_shells.so account required /lib64/security/pam_unix.so session required /lib64/security/pam_unix.so
(2)确认修改后的文件是否正确。
[[email protected]_250_202_tlinux ~]# cat /etc/pam.d/vsftpd#%PAM-1.0 auth required /lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed auth required /lib64/security/pam_unix.so shadow nullok auth required /lib64/security/pam_shells.so account required /lib64/security/pam_unix.so session required /lib64/security/pam_unix.so
(3)重启vsftpd服务,使修改生效。
[[email protected]_250_202_tlinux ~]# service vsftpd restartShutting down vsftpd: [ OK ]Starting vsftpd for vsftpd: [ OK ]
Step2. 上传文件到Linux云服务器
1.下载并安装开源软件FileZilla请使用FileZilla的3.5.1、3.5.2版本(使用3.5.3版本的FileZilla进行FTP上传会有问题)。由于FileZilla 官网上只提供了最新的3.5.3版本下载,因此建议开发者自行搜索3.5.1、3.5.2下
载地址。建议的3.5.1 下载地址:http://www.oldapps.com/filezilla.php?old_filezilla=6350
2.连接FTP运行FileZilla,按下图所示进行配置,配置后点击“快速链接”:
配置信息说明如下:(1)主机:云服务器的公网IP(在云服务器“管理视图”页面可查看云服务器的公网IP)。(2)用户名:在Step1中设置的FTP用户的账号,这里以“ftpuser1”为例。(3)密码:在Step1中设置的FTP用
户账号对应的密码,这里以“ftpuser1”为例。(4)端口:FTP监听端口,默认为“21”。
3.上传文件到Linux云服务器上传文件时,鼠标选中本地文件,拖拽到远程站点,即将文件上传到了Linux云服务器。注意:云服务器FTP通道不支持上传tar压缩包后自动解压,以及删除tar包功能。
9 SecureCRT
本地下载SecureCRT,解压后打开,点击快速连接upload11
输入服务器IP地址和用户名,点击连接upload12
输入服务器密码,点击确定upload13
连接成功之后,若服务器未安装RZ软件,输入apt-get install lrzsz,或 yum install lrzsz 回车等待安装upload23
安装rz成功之后,输入rz,回车upload14
弹出文件选择窗口,选择需要上传的文件,点击添加upload15
等待文件上传,完成之后则完成文件上传upload17
输入 rz
上传的文件默认在root下
以上是关于向linux服务器上传下载文件方式收集的主要内容,如果未能解决你的问题,请参考以下文章
你知道哪些linux命令,能把文件上传到远程linux服务器
你知道哪些linux命令,能把文件上传到远程linux服务器