前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【linux命令讲解大全】098.网络文件传输协议介绍及常用命令

【linux命令讲解大全】098.网络文件传输协议介绍及常用命令

作者头像
全栈若城
发布2024-03-02 13:46:35
1440
发布2024-03-02 13:46:35
举报
文章被收录于专栏:若城技术专栏

sftp-server

sftp协议的服务器端程序

补充说明

sftp-server命令是一个sftp协议的服务器端程序,它使用加密的方式进行文件传输。

语法
代码语言:javascript
复制
sftp-server

sftp

交互式的文件传输程序

补充说明

sftp命令是一款交互式的文件传输程序,命令的运行和使用方式与ftp命令相似,但是,sftp命令对传输的所有信息使用SSH加密,它还支持公钥认证和压缩等功能。

语法
代码语言:javascript
复制
sftp [选项] [参数]
选项
  • -B:指定传输文件时缓冲区的大小;
  • -l:使用SSH协议版本1;
  • -b:指定批处理文件;
  • -C:使用压缩;
  • -o:指定SSH选项;
  • -F:指定SSH配置文件;
  • -R:指定一次可以容忍多少请求数;
  • -v:升高日志等级。
参数
  • 目标主机:指定sftp服务器IP地址或者主机名。

实例

建立连接
代码语言:javascript
复制
$ sfpt username@1.1.1.1 # 回车输入密码
获取文件下载到指定路径
代码语言:javascript
复制
sftp> get /export/sftp/test.csv /Users/my/Downloads
Fetching /export/sftp/test.csv to /Users/my/Downloads/test.csv
/export/sftp/test.csv            100%  133     0.3KB/s   00:00
上传本地文件到服务器指定路径
代码语言:javascript
复制
sftp> put /Users/my/Downloads/re-produce.gif /export/sftp
Uploading /Users/my/Downloads/re-produce.gif to /export/sftp/re-produce.gif
/Users/my/Downloads/re-produce.gif            100%  257KB  86.6KB/s   00:02

tftp

在本机和TFTP服务器之间使用TFTP协议传输文件

补充说明

tftp命令用在本机和TFTP服务器之间使用TFTP协议传输文件。

TFTP是用来下载远程文件的最简单网络协议,它基于UDP协议而实现。嵌入式Linux的TFTP开发环境包括两个方面:一是Linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为U-Boot本身内置支持TFTP客户端,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下Linux服务器端tftp-server的配置。

语法
代码语言:javascript
复制
tftp [选项] [参数]
选项
  • -c:指定与TFTP服务器连接成功后,立即要执行的指令;
  • -m:指定文件传输模式。可以是ASCII或者Binary;
  • -v:显示指令详细执行过程;
  • -V:显示指令版本信息。
参数
  • 主机:指定TFTP要连接的TFTP服务器的IP地址或主机名。

实例

  1. 安装TFTP服务器

需要安装xinetd、tftp和tftp-server这三个软件。

如果能上网,通过yum安装:

代码语言:javascript
复制
yum install xinetd
yum install tftp
yum install tftp-server

如果不能上网,可以直接安装提供的rpm包:

代码语言:javascript
复制
rpm -ivh xinetd-2.3.14-18.fc9.i386.rpm
rpm -ivh tftp-0.48-3.fc9.i386.rpm
rpm -ivh tftp-server-0.48-3.fc9.i386.rpm
  1. 配置TFTP服务器

修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no。主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:

代码语言:javascript
复制
service tftp
{
       socket_type           =dgram
       protocol              =udp
       wait                  =yes
       user                  =root
       server                =/usr/sbin/in.tftpd
       server_args           =-s  /home/mike/tftpboot -c
       disable               =no
       per_source            =11
       cps                   =100 2
       flags                 =IPv4
}

说明:修改项server_args= -s <path> -c,其中处可以改为你的TFTP服务器的根目录,参数-s指定chroot,-c指定了可以创建文件。

  1. 启动TFTP服务器并关闭防火墙
代码语言:javascript
复制
/etc/init.d/iptables stop        # 关闭防火墙
sudo /sbin/service xinetd start
或
service xinetd restart
/etc/init.d/xinetd start
看到启动[OK]就可以了
  1. 查看TFTP服务是否开启
代码语言:javascript
复制
netstat -a | grep tftp

显示结果为udp 0 0 *:tftp *:*表明服务已经开启,就表明TFTP配置成功了。

  1. TFTP使用

复制一个文件到TFTP服务器目录,然后在主机启动TFTP软件,进行简单测试。

代码语言:javascript
复制
tftp 192.168.1.2
tftp> get <download file> 
tftp> put <upload file>
tftp> q
  1. TFTP命令用法如下
代码语言:javascript
复制
tftp your-ip-address

进入TFTP操作:

  • connect:连接到远程TFTP服务器
  • mode:文件传输模式
  • put:上传文件
  • get:下载文件
  • quit:退出
  • verbose:显示详细的处理信息
  • trace:显示包路径
  • status:显示当前状态信息
  • binary:二进制传输模式
  • ascii:ASCII传输模式
  • rexmt:设置包传输的超时时间
  • timeout:设置重传的超时时间
  • help:帮助信息
  • ?:帮助信息
  1. 如果老是出现"AVC Denial, click icon to view"的错误,并不能传输文件,需要作如下修改

修改/etc/sysconfig/selinux,将SELINUX设定为disable,使用命令setenforce 0让SELinux配置文件生效。

  1. Busybox中TFTP命令的用法

命令格式为:

代码语言:javascript
复制
tftp [option] ... host [port]

如果要下载或上传文件的话是一定要用这些option的。

  • -g 表示下载文件 (get)
  • -p 表示上传文件 (put)
  • -l 表示本地文件名 (local file)
  • -r 表示远程主机的文件名 (remote file)

例如,要从远程主机192.168.1.2上下载embedexpert,则应输入以下命令:

代码语言:javascript
复制
tftp -g -r embedexpert 192.168.1.2
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • sftp-server
    • 补充说明
      • 语法
  • sftp
    • 补充说明
      • 语法
    • 实例
      • 建立连接
      • 获取文件下载到指定路径
      • 上传本地文件到服务器指定路径
  • tftp
    • 补充说明
      • 语法
    • 实例
    相关产品与服务
    云服务器
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档