当前位置: 首页 > 编程日记 > 正文

linux的ftp服务器

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里详细介绍Linux ftp命令的一些经常使用的命令,相信掌握了这些使用Linux 进行ftp操作将会非常容易。

Linux ftp命令的一般格式如下:

$ ftp 主机名/IP

其中“主机名/IP”是所要连接的远程机的主机名或IP地址。在命令行中,主机名属于选项,如果指定主机名,ftp将试图与远程机的ftp服务程序进行连接;如果没有指定主机名,ftp将给出提示符,等待用户输入命令:

$ ftp

ftp >

此时在ftp>提示符后面输入open命令加主机名或IP地址,将试图连接指定的主机。

不管使用哪一种方法,如果连接成功,需要在远程机上登录。用户如果在远程机上有帐号,就可以通过ftp使用这一帐号并需要提供口令。在远程机上的用户帐号的读写权限决定该用户在远程机上能下载什么文件和将上载文件放到哪个目录中。

如果没有远程机的专用登录帐号,许多ftp站点设有可以使用的特殊帐号。这个帐号的登录名为anonymous(也称为匿名ftp),当使用这一帐号时,要求输入email地址作为口令。

如果远程系统提供匿名ftp服务,用户使用这项服务可以登录到特殊的,供公开使用的目录。一般专门提供两个目录:pub目录和incoming目录。pub目录包含该站点供公众使用的所有文件,incoming目录存放上载到该站点的文件。

一旦用户使用ftp在远程站点上登录成功,将得到“ftp>”提示符。现在可以自由使用ftp提供的命令,可以用 help命令取得可供使用的命令清单,也可以在 help命令后面指定具体的命令名称,获得这条命令的说明。


最常用的命令有:

FTP>ascii: 设定以ASCII方式传送文件(缺省值)

FTP>bell: 每完成一次文件传送,报警提示.

FTP>binary: 设定以二进制方式传送文件.

FTP>bye: 终止主机FTP进程,并退出FTP管理方式.

FTP>case: 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母.

FTP>cd: 同UNIX的CD命令.

FTP>cdup: 返回上一级目录.

FTP>chmod: 改变远端主机的文件权限.

FTP>close: 终止远端的FTP进程,返回到FTP命令状态, 所有的宏定义都被删除.

FTP>delete: 删除远端主机中的文件.

FTP>dir [remote-directory] [local-file] 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件.

FTP>get [remote-file] [local-file] 从远端主机中传送至本地主机中.

FTP>help [command] 输出命令的解释.

FTP>lcd: 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录.

FTP>ls [remote-directory] [local-file] 同DIR.

FTP>macdef: 定义宏命令.

FTP>mdelete [remote-files] 删除一批文件.

FTP>mget [remote-files] 从远端主机接收一批文件至本地主机.

FTP>mkdir directory-name 在远端主机中建立目录.

FTP>mput local-files 将本地主机中一批文件传送至远端主机.

FTP>open host [port] 重新建立一个新的连接.

FTP>prompt: 交互提示模式.

FTP>put local-file [remote-file] 将本地一个文件传送至远端主机中.

FTP>pwd: 列出当前远端主机目录.

FTP>quit: 同BYE.

FTP>recv remote-file [local-file] 同GET.

FTP>rename [from] [to] 改变远端主机中的文件名.

FTP>rmdir directory-name 删除远端主机中的目录.

FTP>send local-file [remote-file] 同PUT.

FTP>status: 显示当前FTP的状态.

FTP>system: 显示远端主机系统类型.

FTP>user user-name [password] [account] 重新以别的用户名登录远端主机.

FTP>? [command]: 同HELP. [command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。

FTP>! 从 ftp 子系统退出到外壳。


下面简单将ftp常用命令作一简介。

◆启动ftp会话

open命令用于打开一个与远程主机的会话。该命令的一般格式是:

◆open 主机名/IP

如果在ftp 会话期间要与一个以上的站点连接,通常只用不带参数的ftp命令。如果在会话期间只想与一台计算机连接,那么在命令行上指定远程主机名或IP地址作为ftp命令的参数。

◆终止ftp会话

close、disconnect、和bye命令用于终止与远程机的会话。close和disronnect命令关闭与远程机的连接,但是使用户留在本地计算机的ftp程序中。和bye命令都关闭用户与远程机的连接,然后退出用户机上的ftp 程序。

◆改变目录

“cd [目录]”命令用于在ftp会话期间改变远程机上的目录,lcd命令改变本地目录,使用户能指定查找或放置本地文件的位置。

◆远程目录列表

ls命令列出远程目录的内容,就像使用一个交互shell中的ls命令一样。ls命令的一般格式是:

ls [目录] [本地文件]

如果指定了目录作为参数,那么ls就列出该目录的内容。如果给出一个本地文件的名字,那么这个目录列表被放入本地机上您指定的这个文件中。

◆从远程系统获取文件

get和mget命令用于从远程机上获取文件。get命令的一般格式为:

get 文件名

您还可以给出本地文件名,这个文件名是这个要获取的文件在您的本地机上创建时的文件名。如果您不给出一个本地文件名,那么就使用远程文件原来的名字。

mget命令一次获取多个远程文件。mget命令的一般格式为:

mget 文件名列表

使用用空格分隔的或带通配符的文件名列表来指定要获取的文件,对其中的每个文件都要求用户确认是否传送。

◆向远程系统发送文件

put和mput命令用于向远程机发送文件。Put命令的一般格式为:

put 文件名

mput命令一次发送多个本地文件,mput命令的一般格式为:

mput 文件名列表

使用用空格分隔的或带通配符的文件名列表来指定要发送的文件。对其中的每个文件都要求用户确认是否发送。

◆改变文件传输模式

默认情况下,ftp按ASCII模式传输文件,用户也可以指定其他模式。ascii和brinary命令的功能是设置传输的模式。用ASCII模式传输文件对纯文本是非常好的,但为避免对二进制文件的破坏,用户可以以二进制模式传输文件。

◆检查传输状态

传输大型文件时,可能会发现让ftp提供关于传输情况的反馈信息是非常有用的。hash命令使ftp在每次传输完数据缓冲区中的数据后,就在屏幕上打印一个#字符。本命令在发送和接收文件时都可以使用。

◆ftp中的本地命令

当您使用ftp时,字符“!”用于向本地机上的命令shell传送一个命令。如果用户处在ftp会话中,需要shell做某些事,就很有用。例如用户要建立一个目录来保存接收到的文件。如果输入!mkdir new_dir,那么Linux就在用户当前的本地目录中创建一个名为new_dir 的目录。



1. ftp自动登录批量下载文件。

#####从ftp服务器上的/home/data 到 本地的/home/databackup####

#!/bin/bash

ftp -n<

open 192.168.1.100

user ftp01 password

binary

cd /home/data

lcd /home/databackup

prompt

mget *

close

bye

!

2. ftp自动登录上传文件。



####本地的/home/databackup to ftp服务器上的/home/data####

#!/bin/bash

ftp -n<

open 192.168.1.100

user ftp01 password

binary

hash

cd /home/data

lcd /home/databackup

prompt

mput *

close

bye

!


3. ftp自动登录下载单个文件。

####ftp服务器上下载/home/data/a.sh to local /home/databackup####

#!/bin/bash

ftp -n<

open 192.168.1.100

user ftp01 password

binary

cd /home/data

lcd /home/databackup

prompt

get a.sh a.sh

close

bye

!


4. ftp自动登录上传单个文件。

####把本地/home/databachup/a.sh up ftp /home/databackup 下####

#!/bin/bash

ftp -n<

open 192.168.1.100

user ftp01 password

binary

cd /home/data

lcd /home/databackup

prompt

put a.sh a.sh

close

bye

!

小知识:

1. -n 不受.netrc文件的影响。(ftp默认为读取.netrc文件中的设定)

2. << 是使用即时文件重定向输入。

3. !是即时文件的标志它必须成对出现,以标识即时文件的开始和结尾。


转载于:https://my.oschina.net/u/2408025/blog/517753

相关文章:

使用Forms Authentication实现用户注册、登录 (二)用户注册与登录

从这一部分开始&#xff0c;我们将通过一个实际的完整示例来看一下如何实现用户注册与登录。在介绍注册与登录之前&#xff0c;我们首先介绍一下如何判断用户是否已登录&#xff0c;并未后面的示例编写一些基础代码。 判断用户是否已经登录首先&#xff0c;在Web站点项目中添加…

libev源码解析——调度策略

在《libev源码解析——监视器&#xff08;watcher&#xff09;结构和组织形式》中介绍过&#xff0c;监视器分为[2,-2]区间5个等级的优先级。等级为2的监视器最高优&#xff0c;然后依次递减。不区分监视器类型和关联的文件描述符的值&#xff0c;权限高的要优先于权限低的执行…

特斯拉AI团队招兵买马:“英雄不问出处”

2月3日&#xff0c;特斯拉创始人兼CEO埃隆•马斯克发布推特&#xff0c;贴出了Autopilot AI团队招聘人才的信息。马斯克在推特中表示&#xff0c;特斯拉AI团队将直接向马斯克回报&#xff0c;他几乎每天都会与团队保持沟通和交流&#xff0c;并透露团队base在德州奥斯汀。据特斯…

java中重载与重写的区别

最近了解一下重载和重写 一、重载(Overloading) &#xff08;1&#xff09; 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在&#xff0c;具有不同的参数个数/类型。 重载Overloading是一个类中多态性的一种表现。 &#xff08;2&#xff09; Ja…

libev源码解析——I/O模型

在《libev源码解析——总览》一文中&#xff0c;我们介绍过&#xff0c;libev是一个基于事件的循环库。本文将介绍其和事件及循环之间的关系。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 目前ibev支持如下IO事件模型&#xff1a; select模型。对应文件是…

“数学不好,干啥都不行!”骨灰级程序员:其实你们都是瞎努力

之前有很多程序员读者向我们抱怨&#xff1a;1&#xff09;做算法优化时&#xff0c;只能现搬书里的算法&#xff0c;遇到不一样的问题&#xff0c;就不会了。2&#xff09;面试一旦涉及到算法和数据结构&#xff0c;如果数学不行&#xff0c;面试基本就凉凉了。3&#xff09;一…

VISTA中注册表项LEGACY_****的删除

在VISTA中如果你错误安装了某个驱动软件&#xff0c;而如果这个驱动安装软件考虑不周&#xff0c;无法卸载&#xff0c;那么你就麻烦了&#xff01;比如我的U盘以前一直使用优易U盘加密软件1.2来做一个隐蔽的U盘。某天我在VISTA上运行了这个U盘加密软件&#xff0c;这个软件运行…

nodejs这个过程POST求

下面是一个web登陆模拟过程。当我们问一个链接&#xff0c;你得到一个表格&#xff0c;然后填写相应的表格值&#xff0c;然后提交登陆。 var http require(http); var querystring require(querystring); http.createServer(function (request, response) {var responseStri…

FTP、HTTP断点续传和多线程的协议基础

使用FTP或HTTP协议的下载软件支持断点续传和多线程的协议基础是&#xff1a;FTP用的是REST和SIZE&#xff1b;HTTP用的是Range。1、FTP实现断点续传的协议基础REST&#xff08;有的服务器可能不支持此命令&#xff09;Syntax: REST positionSets the point at which a file tra…

libev源码解析——定时器原理

本文将回答《libev源码解析——I/O模型》中抛出的两个问题。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; 对于问题1&#xff1a;为什么backend_poll函数需要指定超时&#xff1f;我们让其一直等待到有事件发生不是更好么&#xff1f; 答案是“必须要指定超…

AI颠覆经济世界作用被夸大?影响远比媒体头条报道更加复杂

来源 | The Gradient译者 | 刘畅编辑 | 夕颜出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09; 【导读】每天我们都听到有人声称人工智能将改变经济体系&#xff0c;造成大量的失业和垄断。但是&#xff0c;经济学家是如何看待的呢&#xff1f;在第三届AI经…

ArcGIS制图之Sub Points点抽稀

简介 Sub Points工具是 Esri 中国自主开发的一个插件&#xff0c;该工具优先考虑点在空间分布上的均匀合理性&#xff0c;并结合点数据中包含的 "优先级" 属性进行筛选。通过获取每个点在一定范围内拥有的相邻点的数目信息&#xff0c;得到地图中点密度的分布状况。抽…

libev源码解析——定时器监视器和组织形式

我们先看下定时器监视器的数据结构。&#xff08;转载请指明出于breaksoftware的csdn博客&#xff09; /* invoked after a specific time, repeatable (based on monotonic clock) */ /* revent EV_TIMEOUT */ typedef struct ev_timer {EV_WATCHER_TIME (ev_timer)ev_tstamp…

谁说AI无用?疫情下,AI已经代替人类做了很多...

整理 | 夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;经历过无比漫长的十多天&#xff0c;疫情至今还没有任何退散的迹象&#xff0c;形势越来越严峻。百度实时大数据报告显示&#xff0c;截至2020年2月4日9时&#xff0c;新型冠状病毒累计报告确诊病例20471例…

关于CSS样式浏览器兼容问题的一些注意事项

CSS技巧1.div的垂直居中问题 vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字&#xff0c;就垂直居中了。缺点是要控制内容不要换行 2. margin加倍的问题 设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。解决…

Ember.js 入门指南——查询记录

2019独角兽企业重金招聘Python工程师标准>>> store提供了统一的获取数据的接口。包括创建新记录、修改记录、删除记录等&#xff0c;更多有关Store API请看这个网址的介绍&#xff1a;http://devdocs.io/ember/data/classes/ds.store。 为了演示这些方法的使用我们结…

C# 视频监控系列(9):服务器端——数据捕获(抓图 + 录像)

前言 录像功能是监控系统中最重要的功能之一&#xff0c;除了本文的功能实现外&#xff0c;还需要你自己考虑合适的存储策略&#xff1a;存储大小、时间段、存储盘符等。 注意 本系列文章限于学习交流&#xff0c;注重过程&#xff0c;由于涉及公司&#xff0c;所以不提供源代码…

疫情当下,你是在家里躺着刷抖音?还是在做这些?

2020年本来可以是很开心的一年没想到一开头就给了我们一个重重的一击疫情的出现让我们非常的恐慌新型病毒肺炎让我们无处可躲原来热闹的新年因为疫情让我们逼不得已只能待在家里走亲访友更是不可能的就连原来约好的相亲也泡汤了因为封城、封村、封小区、封路了而这些也只是为了…

代码打补丁的利器——diff和patch

一般来说&#xff0c;如果我们在研发过程中需要对代码进行修改&#xff0c;是不需要通过打补丁的方式的&#xff0c;因为我们可以直接改动文件即可。但是如果针对一款要上线的产品&#xff0c;我们总不能在研发的电脑上编译通过后直接发布到线上的。&#xff08;转载请指明出于…

React Namespaced Components

2019独角兽企业重金招聘Python工程师标准>>> var MyForm React.createClass({...}); var MyForm.Row React.createClass({...}); var MyForm.Label React.createClass({...}); var MyForm.Input React.createClass({...}); This feature is available in v0.11 …

Linux下HOOK动态链接库中API的方法

2012年&#xff0c;我写了一篇介绍Windows系统下Ring3层API的hook方案——《一种注册表沙箱的思路、实现——Hook Nt函数》&#xff0c;其在底层使用了微软的Detours库。5年后&#xff0c;我又遇到这么一个问题&#xff0c;但是系统变成了Linux。我最开始的想法是找一个Linux下…

NAT的配置与相关概念的理解

试验背景&#xff1a;随着接入因特网的计算机数量不断猛增&#xff0c;IPv4版本地址资源也就愈加显得捉襟见肘。好多企业申请的IP地址都是经过子网不断划分得到的。A类&#xff0c;B类地址基本已用完&#xff0c;而一般的用户根本就申请不到整段的公网C类地址。如果&#xff0c…

AAAI 2020论文解读:商汤科技发布新视频语义分割和光流联合学习算法

来源 | Every Frame Counts: Joint Learning of Video Segmentation and Optical Flow编辑 | Carol出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09; 商汤科技研究团队发表论文《Every Frame Counts: Joint Learning of VideoSegmentation and Optical Flo…

互联网+和创业潮,互联网+前提条件是什么?互联网+做什么?

在大众创业&#xff0c;万众创新的大浪下&#xff0c;凭着对新技术的敏感和青春激情&#xff0c;创业新军不断涌现.... 互联网创业浪潮, 如雨后春笋......,互联网渗透每个人的心中。创业不是赶时髦&#xff0c;而是一条非常孤独&#xff0c;艰难的路。实施“互联网&#xff0b;…

C++拾趣——C++11的语法糖auto

C是一种强类型的语言&#xff0c;比如变量a&#xff0c;如果声明它是整型&#xff0c;则之后只能将它作为整型来用。这和其他弱类型的语言有很大的区别&#xff0c;比如python中&#xff0c;我们可以让a在第一行是个整型&#xff0c;第三行是一个字符串。&#xff08;转载请指明…

“数学不行,啥都干不好!”骨灰级程序员:这比努力重要1000倍

之前有很多程序员读者向我们抱怨&#xff1a;1&#xff09;做算法优化时&#xff0c;只能现搬书里的算法&#xff0c;遇到不一样的问题&#xff0c;就不会了。2&#xff09;面试一旦涉及到算法和数据结构&#xff0c;如果数学不行&#xff0c;面试基本就凉凉了。3&#xff09;一…

跳槽 你准备好了吗

“人往高处走”&#xff0c;这固然没有错。但是&#xff0c;说来轻巧的一句话&#xff0c;它却包含了为什么“走”、什么是“高”、怎么“走”、什么时候“走”&#xff0c;以及“走”了以后怎么办等一系列问题。跳槽是一门学问&#xff0c;也是一种策略。“人往高处走”&#…

C++:常类型Const

常类型&#xff1a;使用类型修饰符const说明的类型&#xff0c;常类型的变量或对象成员的值在程序运行期间是不可改变的。 3.10.1 常引用 如果在说明引用时用const修饰&#xff0c;则被说明的引用为常引用。如果用常引用做形参&#xff0c;便不会产生对实参 的不希望的更改。常…

JQuery制作的toolTip,针对图片预览效果

昨天做了一个文字版的toolTip&#xff0c;后来想想现在大家都爱看图&#xff0c;文字未免有点单调了点&#xff0c;那我们就来个图片式的预览。代码比较简单&#xff0c;我就不多说了。 欢迎来到 买礼网 选购礼品&#xff01; 畅游鄂西山水风光尽在 恩施旅游资讯网首先看看调用…

29篇计算机视觉领域论文,篇篇惊艳!内附链接!

作者 | 微软亚洲研究院本文经授权转载自微软研究院AI头条&#xff08;ID&#xff1a;MSRAsia&#xff09;1. Deep High-Resolution Representation Learning for Human Pose Estimation论文链接&#xff1a;https://arxiv.org/pdf/1902.09212.pdf该论文在提出了一个新的网络Hig…