向linux服务器上传下载文件方式收集

时间:2023-03-08 16:53:28
向linux服务器上传下载文件方式收集

向linux服务器上传下载文件方式收集

1. scp

【优点】简单方便,安全可靠;支持限速参数
【缺点】不支持排除目录
【用法】

scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 。 
命令格式:

scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径>

举例:

scp /home/work/source.txt work@192.168.0.10:/home/work/   #把本地的source.txt文件拷贝到192.168.0.10机器上的/home/work目录下

scp work@192.168.0.10:/home/work/source.txt /home/work/   #把192.168.0.10机器上的source.txt文件拷贝到本地的/home/work目录下

scp work@192.168.0.10:/home/work/source.txt work@192.168.0.11:/home/work/   #把192.168.0.10机器上的source.txt文件拷贝到192.168.0.11机器的/home/work目录下

scp -r /home/work/sourcedir work@192.168.0.10:/home/work/   #拷贝文件夹,加-r参数 
scp -r /home/work/sourcedir work@www.myhost.com:/home/work/   #使用主机名 
scp -r -v /home/work/sourcedir work@www.myhost.com:/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 work@192.168.0.10:/home/work/   #把本地的source.txt文件拷贝到192.168.0.10机器上的/home/work目录下
rsync work@192.168.0.10:/home/work/source.txt /home/work/   #把192.168.0.10机器上的source.txt文件拷贝到本地的/home/work目录下
rsync work@192.168.0.10:/home/work/source.txt work@192.168.0.11:/home/work/   #把192.168.0.10机器上的source.txt文件拷贝到192.168.0.11机器的/home/work目录下
rsync -r /home/work/sourcedir work@192.168.0.10:/home/work/   #拷贝文件夹,加-r参数 
rsync -r /home/work/sourcedir work@www.myhost.com:/home/work/   #使用主机名 
rsync -r -v /home/work/sourcedir work@www.myhost.com:/home/work/   #显示详情,加-v参数
rsync -r -v --exclude sourcedir/notinclude  /home/work/sourcedir work@www.myhost.com:/home/work/   #排除子目录,注意:--exclude后面的路径不能为绝对路径,必须为相对路径才可以,否则匹配不上,就不会被排除掉。

5 linux系统下用 ssh登录管理服务器,并用scp上传下载文件

登录ssh方法:
1、ssh 主机
ssh 192.168.1.155 (表示用root用户登录到服务器)
2、ssh 用户@主机
ssh user1@192.168.1.155  (表示用user1登录到服务器)
3、ssh 主机 -l 用户名 -p 端口
ssh 192.168.1.155 -l user2 -p 8080 (表示user2用户用8080端口连接到192.168.1.155的服务器)

用scp命令上传和下载文件

scp root@192.168.1.155:1.txt 2.txt (把服务器的1.txt下载到本地,并且重命名为2.txt)
scp 2.txt root@192.168.1.155: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 username@remotehost

2 scp
命令scp基于SSH协议,可以将本地文件拷贝到远程服务上的指定目录,格式如下:
 
$ scp filename username@remotehost:remotedirectory
 
执行:$ scp ipmsg.log admin@10.25.1.202:/home/admin

8 ftp软件方式

Step1. 在云服务器配置FTP服务

1.在root权限下,通过如下命令安装Vsftp。

[root@VM_250_202_tlinux ~]# yum install vsftpd

2.在启动vsftpd服务之前,需要登录云服务器修改配置文件,将匿名登录禁用掉。打开配置文件,命令如下:

[root@VM_250_202_tlinux ~]# vim /etc/vsftpd/vsftpd.conf

在配置文件中第11行的“anonymous_enable=YES”前面加上#号,即将匿名登录禁用。

3.读取生效配置。

[root@VM_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服务。

[root@VM_250_202_tlinux ~]# service vsftpd start

5.设置FTP用户账号。设置成功后,即可通过该账号登录FTP服务器。(1)设置FTP用户的账号,例如账号为“ftpuser1”,目录为/home/ftpuser1,且设置不允许通过ssh登录。

[root@VM_250_202_tlinux ~]# useradd -m -d /home/ftpuser1 -s /sbin/nologin ftpuser1

(2)设置账号对应的密码,例如密码为“ftpuser1”。

[root@VM_250_202_tlinux ~]# passwd ftpuser1

6.修改vsftpd的pam配置,使开发者可以通过自己设置的FTP用户帐号和密码连接到云服务器。(1)修改pam。

[root@VM_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)确认修改后的文件是否正确。

[root@VM_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服务,使修改生效。

[root@VM_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下