linux几种文件传输方式(同主机、服务器之间)

31 篇文章 2 订阅
18 篇文章 0 订阅

本文仅作日常记录:
1. FTP : FTP是文件服务器,可实现文件的上传下载,存储等功能。
2. scp: scp能够将不同主机的文件进行相互传输,使用简单方便。
3. rz : 用于linux与windows之间的文件上传
4. sz :用于linux与windows之间的文件下载
5. rsync : rsync是文件同步工具,结合inotify可以实现文件的同步,备份功能。

*FTP常见用法

1、查看ftp服务的状态
命令:service vsftpd status
PS:提示vsftpd: command not found,修改PATH的环境变量就可以了
2、启动ftp
命令:service vsftpd start
3、查看ftp进程
命令:ps -ef|grep -i ftp
命令:netstat -an | grep 21

**FTP连接后的常见用法**
1、连接FTP    
命令:ftp ip地址/主机名
输入正确的用户名和密码,验证通过就可以连接到这个指定远程主机了
# ftp 192.168.1.1
2、在远程主机查看文件等操作
即你连接的远程主机上操作,方法和平常一模一样,如
ftp> ls
ftp>pwd

3、更改本地电脑的目录
ftp>lcd
ftp>lcd ..

4、下载文件
ftp> get test.txt
ftp> mget *.txt
PS:
a)下载到了本地主机的当前目录下。比如,在/opt/ipnet/test下执行ftp,都下载到这个目录了。
b)批量下载每下载一个文件就会有确认提示,可以关闭这个提示,prompt off

 5、上传文件
 ftp> put test1.txt /usr/cc/testAB.htm  
 ftp> mput *.txt
 PS:上传文件都来自于本地主机的当前目录下。比如,在/opt/ipnet/test下运行的ftp命令,则上传的文件都是/opt/ipnet/test目录下的

 6、文件传输类型
 a)查看ftp> type
  Using binary mode to transfer files.

 7、关闭
 ftp> bye
 ftp> quit
其他:
1.FTP> ! 从 ftp子系统退出到外壳。
2.FTP> ? 显示 ftp命令说明。? 与 help相同。
格式:? [command]
说明:[command]指定需要帮助的命令名称。如果没有指定 command,ftp将显示全部命令的列表。
3.FTP> append 使用当前文件类型设置将本地文件附加到远程计算机上的文件。
格式:append local-file [remote-file]
说明:local-file 指定要添加的本地文件。
remote-file 指定要添加 local-file的远程计算机上的文件。如果省略了 remote-file,本地文件名将被用作远程文件名。
4.FTP> ascii 将文件传送类型设置为默认的 ASCII。
说明:FTP 支持两种文件传送类型,ASCII码和二进制图像。在传送文本文件时应该使用ASCII。
5.FTP> bell 切换响铃以在每个文件传送命令完成后响铃。默认情况下,铃声是关闭的。
6.FTP> binary(或bi)将文件传送类型设置为二进制。
7.FTP> bye(或by)结束与远程计算机的 FTP会话并退出 ftp。
8.FTP> cd 更改远程计算机上的工作目录。
格式:cd remote-directory
说明:remote-directory 指定要更改的远程计算机上的目录。
9.FTP> close 结束与远程服务器的 FTP会话并返回命令解释程序。
FTP> debug 切换调试。当调试打开时,发送到远程计算机的每个命令都打印,前面是字符串“>”。默认情况下,调试是关闭的。
10.FTP> delete 删除远程计算机上的文件。
格式:delete remote-file
说明:remote-file 指定要删除的文件。
11.FTP> dir 显示远程目录文件和子目录列表。
格式:dir [remote-directory] [local-file]
说明:remote-directory 指定要查看其列表的目录。如果没有指定目录,将使用远程计算机中的当前工作目录。Local-file指定要存储列表的本地文件。如果没有指定,输出将显示在屏幕上。
12.FTP> disconnect从远程计算机断开,保留 ftp 提示。
13.FTP> get 使用当前文件转换类型将远程文件复制到本地计算机。
格式:get remote-file [local-file]
说明:remote-file 指定要复制的远程文件。
Local-file 指定要在本地计算机上使用的名称。如果没有指定,文件将命名为 remote-file。
14.FTP >glob 切换文件名组合。组合允许在内部文件或路径名中使用通配符(*和?)。默认情况下,组合是打开的。
15.FTP >hash切换已传输的每个数据块的数字签名 (#) 打印。数据块的大小是2048字节。默认情况下,散列符号打印是关闭的。
16.FTP >help显示 ftp 命令说明。
格式:help [command]
说明:command 指定需要有关说明的命令的名称。如果没有指定 command,ftp将显示全部命令的列表。
17.FTP >lcd 更改本地计算机上的工作目录。默认情况下,工作目录是启动 ftp的目录。
格式:lcd [directory]
说明:directory 指定要更改的本地计算机上的目录。如果没有指定directory,将显示本地计算机中当前的工作目录。
18.FTP >literal 将参数逐字发送到远程 FTP服务器。将返回单个的 FTP 回复代码。
格式:literal argument [ ...]
说明:argument 指定要发送到 FTP服务器的参数。
19.FTP >ls 显示远程目录文件和子目录的缩写列表。
格式:ls [remote-directory] [local-file]
说明:remote-directory 指定要查看其列表的目录。如果没有指定目录,将使用远程计算机中的当前工作目录。 local-file指定要存储列表的本地文件。如果没有指定,输出将显示在屏幕上。
20.FTP >mdelete 删除远程计算机上的文件。
格式:mdelete remote-files [ ...]
说明:remote-files 指定要删除的远程文件。
21.FTP >mdir显示远程目录文件和子目录列表。可以使用 mdir 指定多个文件。
格式:mdir remote-files [ ...] local-file
说明:remote-files 指定要查看列表的目录。必须指定 remote-files。请键入 -使用远程计算机上的当前工作目录。
local-file 指定要还原列表的本地文件。请键入-在屏幕上显示列表。
22.FTP >mget 使用当前文件传送类型将远程文件复制到本地计算机。
格式:mget remote-files [ ...]
说明:remote-files 指定要复制到本地计算机的远程文件。
23.FTP >mkdir 创建远程目录。
格式:mkdir directory
说明:directory 指定新的远程目录的名称。
24.FTP >mls 显示远程目录文件和子目录的缩写列表。
格式:mls remote-files [ ...] local-file
说明:remote-files 指定要查看列表的文件。必须指定 remote-files;
请键入- 使用远程计算机上的当前工作目录。
local-file 指定要存储列表的本地文件。请键入 -以在屏幕上显示列表。
25.FTP >mput 使用当前文件传送类型将本地文件复制到远程计算机上。
格式:mput local-files [ ...]
说明:local-files 指定要复制到远程计算机的本地文件
26.FTP >open 与指定的 FTP服务器连接。
格式:open computer [port]
说明:computer 指定要连接的远程计算机。可以通过 IP地址或计算机名称指定计算机(DNS 或主机文件必须可用)。如果自动登录打开(默认),ftp还将尝试自动将用户登录到 FTP 服务器port指定用来联系 FTP 服务器的端口号。
27.FTP >prompt 切换提示。如果关闭提示时 mget及 mput 传送所有文件,Ftp在多文件传送过程中将提示允许您有选择地检索或存储文件。默认情况下,提示是
打开的。
28.FTP >put 使用当前文件传送类型将本地文件复制到远程计算机上。
格式:put local-file [remote-file]
说明:local-file 指定要复制的本地文件。
remote-file 指定要在远程计算机上使用的名称。如果没有指定,文件将命名为 local-file。
29.FTP >pwd 显示远程计算机上的当前目录。
30.FTP >quit 结束与远程计算机的 FTP 会话并退出 ftp。
31.FTP >quote 将参数逐字发送到远程 FTP服务器。将返回单个的 FTP 回复代码。
Quote 与 literal相同。
格式:quote argument [ ...]
说明:argument 指定要发送到 FTP服务器的参数。
32.FTP >recv使用当前文件传送类型将远程文件复制到本地计算机。Recv 与 get相同。
格式:recv remote-file [local-file]
说明:remote-file 指定要复制的远程文件。
local-file 指定要在本地计算机上使用的名称。如果没有指定,文件将命名为 remote-file。
33.FTP >remotehelp显示远程命令帮助。
格式:remotehelp [command]
说明:command 指定需要帮助的命令的名称。如果没有指定 command,ftp将显示全部远程命令的列表。
34.FTP >rename重命名远程文件。
格式:rename filename newfilename
说明:filename 指定要重命名的文件。 newfilename指定新的文件名。
35.FTP >rmdir 删除远程目录。
格式:rmdir directory
说明:directory 指定要删除的远程目录的名称。
36.FTP >send 使用当前文件传送类型将本地文件复制到远程计算机上。Send与put 相同。
格式:send local-file [remote-file]
说明:local-file 指定要复制的本地文件。 remote-file指定要在远程计算机上使用的名称。如果没有指定,文件将命名为 local-file。
37.FTP >status 显示 FTP 连接和切换的当前状态。
38.FTP >trace 切换数据包跟踪。Trace在运行 ftp 命令时显示每个数据包的路由。
39.FTP >type 设置或显示文件传送类型。
格式:type [type-name]
说明:type-name 指定文件传送类型。默认设置为 ascii。如果没有指定type-name,将显示当前的类型。
40.FTP >user 指定远程计算机的用户。
格式:user username [password] [account]
说明:user-name 指定登录到远程计算机所使用的用户名。password指定 user-name 的密码。如果没有指定,但必须指定,ftp会提示输入密码。
account 指定登录到远程计算机所使用的帐户。如果没有指定account,但是需要指定,ftp会提示您输入帐户。
41.FTP >verbose 切换 verbose模式。如果打开,将显示所有 ftp 响应。在文件传送完成后,将同时显示与传送效率有关的统计信息。默认情况下,verbose是打开的。
 

SCP介绍
secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。scp在夸机器复制的时候为了提高数据的安全性,使用了ssh连接和加密方式,如果机器之间配置了ssh免密码登录,那在使用scp的时候密码都不用输入。

命令格式:scp  [参数] [本地主机文件路径]  [远程主机路径]
参数选项:
-1  强制scp命令使用协议ssh1  
-2  强制scp命令使用协议ssh2  
-4  强制scp命令只使用IPv4寻址  
-6  强制scp命令只使用IPv6寻址  
-B  使用批处理模式(传输过程中不询问传输口令或短语)  
-C  允许压缩。(将-C标志传递给ssh,从而打开压缩功能)  
-p 保留原文件的修改时间,访问时间和访问权限。  (建议使用,传输时保留属性时间信息,否则会导致时间发生改变无法进行增量传输)
-q  不显示传输进度条。  (很适合crontab任务计划中使用)
-r  递归复制整个目录。  
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。   
-c cipher  以cipher将数据传输进行加密,这个选项将直接传递给ssh。   
-F ssh_config  指定一个替代的ssh配置文件,此参数直接传递给ssh。  
-i identity_file  从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。    
-l limit  限定用户所能使用的带宽,以Kbit/s为单位。     
-o ssh_option  如果习惯于使用ssh_config(5)中的参数传递方式,   
-P port  注意是大写的P, port是指定数据传输用到的端口号   
-S program  指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

1、从本地复制到远程

#scp /home/administrator/news.txt root@192.168.6.129:/etc/squid

/home/administrator/ 本地文件的绝对路径
news.txt 要复制到服务器上的本地文件
root 通过root用户登录到远程服务器(也可以使用其他拥有同等权限的用户)
192.168.6.129 远程服务器的ip地址(也可以使用域名或机器名)
/etc/squid 将本地文件复制到位于远程服务器上的路径

2、将远程服务器上的文件复制到本机

#scp remote@www.abc.com:/usr/local/sin.sh /home/administrator

remote 通过remote用户登录到远程服务器(也可以使用其他拥有同等权限的用户)
www.abc.com 远程服务器的域名(当然也可以使用该服务器ip地址)
/usr/local/sin.sh 欲复制到本机的位于远程服务器上的文件
/home/administrator 将远程文件复制到本地的绝对路径
注意两点:
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:

#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator

2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。
安装 SSH(Secure Shell) 服务以提供远程管理服务

sudo apt-get install ssh

SSH 远程登入 Ubuntu 机

ssh username@192.168.0.1

将 文件/文件夹 从远程 Ubuntu 机拷至本地(scp)

scp -r username@192.168.0.1:/home/username/remotefile.txt .

将 文件/文件夹 从本地拷至远程 Ubuntu 机(scp)

scp -r localfile.txt username@192.168.0.1:/home/username/

将 文件/文件夹 从远程 Ubuntu 机拷至本地(rsync)

rsync -v -u -a –delete –rsh=ssh –stats username@192.168.0.1:/home/username/remotefile.txt .

将 文件/文件夹 从本地拷至远程 Ubuntu 机(rsync)

rsync -v -u -a –delete –rsh=ssh –stats localfile.txt username@192.168.0.1:/home/username/

    两台linux服务器之间文件传递

scp -r root@192.168.1.122:/web/site/uploads/* /uploads/

-r copy uploads下的所有文件和文件夹

root这个是122这台服务器上面用户

192.168.1.122:服务器地址,最后一定要加冒号,然后接文件夹

/web/site/uploads 文件所在的位置。更后面的那个是要保存到本地位置

除此之外还有一些:
Linux下常用的文件传输方式介绍与比较:sftp.ssh.nc.rsync. ftp
Linux nc命令用法收集
Linux主机之间传输文件的几种方法对比
 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值