精华内容
下载资源
问答
  • 2021-05-14 00:28:38

    最近遇到一个很棘手的问题. 问题很简单:

    一般情况下使用ftp上传就是这个样子:

    如下脚本:

    $ vim copy.sh

    #! /bin/bash

    remote_path=远程地址

    if [ -f $1 ]

    then

    ftp -i -n <

    open ftp服务器

    user 账户名 密码

    put $1 $remote_path$1

    quit

    UPLOAD

    fi

    这是文本文件内容. vim会默认在文件末尾追加\n

    $ vim xxx

    123!$

    hello!$

    456$

    将写好的文件传到ftp服务器:

    $ ./copy.sh xxx

    结果传上去之后发现文本内容跟本地内容不匹配. 肉眼看完了都没看到是什么缘故.  如下:

    服务器上:

    $ md5sum xxx

    7f228319446badf0b351a74a62116074 xxx

    本地文件:

    $ md5sum xxx

    e1ea0c6e041a34a40c5ae78a12af2e20 xxx

    果断对比文本内容:

    本地文件:

    $ od -tx1 -tc xxx

    0000000 31 32 33 21 0a 68 65 6c 6c 6f 21 0a 34 35 36 0a

    1 2 3 ! \n h e l l o ! \n 4 5 6 \n

    0000020ftp服务器上:

    $ od -tx1 -tc xxx

    0000000 31 32 33 21 0d 0a 68 65 6c 6c 6f 21 0d 0a 34 35

    1 2 3 ! \r \n h e l l o ! \r \n 4 5

    0000020 36 0d 0a

    6 \r \n

    0000023

    惊讶的发现ftp客户端在上传的时候往文本后面添加了个 \r  !    何其的可耻.

    man 了一下. 发现了 ftp的传输模式. 区分ASCII 和 binary. 一个是按文本读取, 一个是按二进制读取. 文本读取会判定本地与远程的服务器类型从而默认增添数据.

    因此修改命令即可:

    $ vim copy.sh

    #! /bin/bash

    remote_path=远程地址

    if [ -f $1 ]

    then

    ftp -i -n <

    open ftp服务器

    user 账户名 密码

    binary

    put $1 $remote_path$1

    quit

    UPLOAD

    fi

    可参考这篇博文:

    http://7905648.blog.51cto.com/7895648/1298447

    更多相关内容
  • Linux中如何使用ftp命令,包括如何连接ftp服务器,上传or下载文件以及创建文件夹。虽然现在有很多ftp桌面应用(例如:iis7服务器管理工具),但是在服务器、SSH、远程会话中掌握命令行ftp的使用还是很有必要的。IIS7...

    Linux中如何使用ftp命令,包括如何连接ftp服务器,上传or下载文件以及创建文件夹。虽然现在有很多ftp桌面应用(例如:iis7服务器管理工具),但是在服务器、SSH、远程会话中掌握命令行ftp的使用还是很有必要的。

    IIS7服务器管理工具可以批量管理、定时上传下载、同步操作、数据备份、到期提醒、自动更新。IIS7服务器管理工具适用于Windows操作系统和liunx操作系统;支持Ftp客户端批量操作。

    2b0cdec8d035

    1.ftp命令

    使用格式:ftp [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-w:windowsize] [computer]

    -v:禁止显示远程服务器响应信息

    -n:禁止自动登录

    -i:多文件传输过程中关闭交互提示

    -d:启用调试,显示所有客户端与服务器端传递的命令

    -g:禁用文件名通配符,允许在本地文件和路径名中使用

    实例:ftp 122.122.122.122 2222

    输入用户名、密码,即可完成登录。

    2.目录操作

    FTP命令可以列出、移动、创建文件夹。

    ls -- 打印目录列表

    !ls -- 查看本地目录

    cd -- 改变目录

    mkdir -- 创建文件夹

    3.使用FTP下载文件

    在下载一个文件之前,首先需要使用lcd命令设定本地接收目录位置。

    lcd -- 指定下载目录

    get file.txt [file_new.txt] -- 下载文件 支持更改名字

    mget *.txt -- 使用mget + 通配符下载多个文件

    4.使用FTP上传文件

    put file.txt [file_new.txt] -- 上传文件 支持更改名字

    put /home/data/cwh/file.txt -- 绝对路径

    mput *.txt -- 上传多个文件

    5.关闭FTP连接

    完成FTP工作后,为了安全起见需要关闭连接。有3个命令可以关闭连接:

    bye -- 关闭连接

    exit -- 关闭连接

    quit -- 关闭连接

    close -- 关闭连接

    6.其他命令

    ? -- 查询ftp命令

    help -- 查询ftp命令

    open [ftp server name] -- 和指定的远程Linux FTP服务器连接

    user [user name] [password] -- 使用指定远程Linux FTP服务器的用户登录

    pwd -- 显示当前路径

    ls -- 列出目录和文件

    dir -- 列出目录和文件(同上)

    mkdir [foldname] -- 创建指定目录

    rmdir [foldname] -- 删除指定目录

    cd -- 切换目录

    delete [filename] -- 删除文件

    rename [filename] [newfilename] -- 重命名

    close -- 关闭连接 但保留FTP命令参数提示

    disconnect -- 关闭连接 但保留FTP命令参数提示(同上)

    bye -- 结束连接

    quit -- 结束连接

    ! -- 直接从远程Linux FTP进入到本地Shell中

    exit -- (接上步)从本地Shell环境返回远程Linux FTP中

    !ls -- 列出本地机器目录和文件

    lcd [foldname] -- 更改本地工作目录

    binary -- 使用二进制传输文件

    prompt -- 切换提示(使用mput或mget上传下载多个文件时避免提示)

    case -- 在使用mget时,将远程主机文件名的大写转换为小写字母

    cdup -- 进入远程主机目录的父目录

    system -- 显示远程主机的操作系统类型

    hash  -- 每传输1024字节,显示一个hash符号(#)

    status -- 显示当前ftp状态

    Connected to122.122.122.122.

    No proxy connection.

    Mode: stream; Type: binary; Form: non-print; Structure: file

    Verbose: on; Bell: off; Prompting: off; Globbing: on

    Store unique: off; Receive unique: off

    Case: off; CR stripping: on

    Ntrans: off

    Nmap: off

    Hash mark printing: off; Use of PORT cmds: on

    Tick counter printing: off

    7、一个完整的例子

    1“开始”→“运行”→输入“FTP” 2open 122.122.122.122 2222 3用户名 4密码 5查看目录 6-- dir 文件及目录 7-- ls 只查看文件 8mkdir xxx 新建目录 9cd xxx 切换目录10binary 采用二进制传输11lcd /home/data 定位本地目录12!dir 查看本地目录及文件13put xyz.txt 上传文件(mput)14get xyz.txt 下载文件(mget)15delete *.txt 删除文件16cd.. 返回上一级17rmdir xxx 删除空文件夹18bye 退出ftp服务器19pwd 查看当前目录

    展开全文
  • linux ftp 上传文件命令

    万次阅读 2017-05-25 12:25:38
    首先我们需要先进入到ftp环境 ... 然后进入到对应的目录 ftp>!ls 查看一下文件列表 ...我们首先需要使用lcd命令设定本地接受目录位置...现在我们就可以直接上传我们的文件了 put 文件名 上传成功之后会提示successfu

    首先我们需要先进入到ftp环境


    $ ftp ip地址 账号/密码

    然后进入到对应的目录


    ftp>!ls

    查看一下文件列表

    先执行一个命令 passive

    如果没有这个命令是不能使用ls的

    我们首先需要使用lcd命令设定本地接受目录位置。

    我们首先需要使用lcd命令设定本地接收目录位置

    lcd /绝对路径


    现在我们就可以直接上传我们的文件了


    put 文件名


    上传成功之后会提示successful


    最后在用!ls命令看一下我们上传的文件


    bye 退出






        

    展开全文
  • 模块介绍: from ftplib import FTP ftp = FTP() #设置变量 ... ftp.dir() #显示目录下的文件信息 ftp.nlst() #获取目录下的文件 ftp.mkd(pathname) #新建远程目录 ftp.pwd() #返回当前所在位置 ftp.
  • 主要介绍了Linux ftp 命令行中下载文件get与上传文件put的命令应用详解,需要的朋友可以参考下
  • 需求:ftp获取远程数据的文件,根据文件的创建时间点下载文件。 可以自行扩展根据文件的大小等其他需求。 知识点总结: 1、获取文件的时间: ls -lrt|awk '{print $6 $7 $8}' 时间内容: Sep 8 16:03 2、时间格式...
  • FTP的命令行格式为:ftp -v -d -i -n -g [主机名] ,其中-v 显示远程...FTP使用的内部命令如下(中括号表示可选项):1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip2.$ macro-ame[args...

    FTP的命令行格式为:

    ftp -v -d -i -n -g [主机名] ,其中

    -v 显示远程服务器的所有响应信息;

    -n 限制ftp的自动登录,即不使用;.n etrc文件;

    -d 使用调试方式;

    -g 取消全局文件名。

    FTP使用的内部命令如下(中括号表示可选项):

    1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip

    2.$ macro-ame[args]: 执行宏定义macro-name。

    3.account[password]: 提供登录远程系统成功后访问系统资源所需的补充口令。

    4.append

    local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。

    5.ascii:使用ascii类型传输方式。

    6.bell:每个命令执行完毕后计算机响铃一次。

    7.bin:使用二进制文件传输方式。

    8.bye:退出ftp会话过程。

    9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。

    10.cd remote-dir:进入远程主机目录。

    11.cdup:进入远程主机目录的父目录。

    12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777

    a.out。

    13.close:中断与远程服务器的ftp会话(与open对应)。

    14.cr:使用asscii方式传输文件时,将回车换行转换为回行。

    15.delete remote-file:删除远程主机文件。

    16.debug[debug-value]:设置调试方式, 显示发送至远程主机的每条命令,如:deb up

    3,若设为0,表示取消debug。

    17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件

    18.disconnection:同close。

    19.form format:将文件传输方式设置为format,缺省为file方式。

    20.get remote-file[local-file]:

    将远程主机的文件remote-file传至本地硬盘的local-file。

    21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。

    22.hash:每传输1024字节,显示一个hash符号(#)。

    23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。

    24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。

    25.image:设置二进制传输方式(同binary)。

    26.lcd[dir]:将本地工作目录切换至dir。

    27.ls[remote-dir][local-file]:显示远程目录remote-dir,

    并存入本地文件local-file。

    28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。

    29.mdelete[remote-file]:删除远程主机文件。

    30.mdir remote-files local-file:与dir类似,但可指定多个远程文件,如 :mdir

    *.o.*.zipoutfile 。

    31.mget remote-files:传输多个远程文件。

    32.mkdir dir-name:在远程主机中建一目录。

    33.mls remote-file local-file:同nlist,但可指定多个文件名。

    34.mode[modename]:将文件传输方式设置为modename, 缺省为stream方式。

    35.modtime file-name:显示远程主机文件的最后修改时间。

    36.mput local-file:将多个文件传输至远程主机。

    37.newer file-name:

    如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。

    38.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。

    39.nmap[inpattern outpattern]:设置文件名映射机制, 使得文件传输时,文件中的某些字符相互转换,

    如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。

    该命令特别适用于远程主机为非UNIX机的情况。

    40.ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。

    41.open host[port]:建立指定ftp服务器连接,可指定连接端口。

    42.passive:进入被动传输方式。

    43.prompt:设置多个文件传输时的交互提示。

    44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令,

    该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。

    45.put local-file[remote-file]:将本地文件local-file传送至远程主机。

    46.pwd:显示远程主机的当前工作目录。

    47.quit:同bye,退出ftp会话。

    48.quote arg1,arg2…:将参数逐字发至远程ftp服务器,如:quote syst.

    49.recv remote-file[local-file]:同get。

    50.reget remote-file[local-file]:类似于get,

    但若local-file存在,则从上次传输中断处续传。

    51.rhelp[cmd-name]:请求获得远程主机的帮助。

    52.rstatus[file-name]:若未指定文件名,则显示远程主机的状态, 否则显示文件状态。

    53.rename[from][to]:更改远程主机文件名。

    54.reset:清除回答队列。

    55.restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。

    56.rmdir dir-name:删除远程主机目录。

    57.runique:设置文件名只一性存储,若文件存在,则在原文件后加后缀.1, .2等。

    58.send local-file[remote-file]:同put。

    59.sendport:设置PORT命令的使用。

    60.site arg1,arg2…:将参数作为SITE命令逐字发送至远程ftp主机。

    61.size file-name:显示远程主机文件大小,如:site idle 7200。

    62.status:显示当前ftp状态。

    63.struct[struct-name]:将文件传输结构设置为struct-name, 缺省时使用stream结构。

    64.sunique:将远程主机文件名存储设置为只一(与runique对应)。

    65.system:显示远程主机的操作系统类型。

    66.tenex:将文件传输类型设置为TENEX机的所需的类型。

    67.tick:设置传输时的字节计数器。

    68.trace:设置包跟踪。

    69.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type

    binary,设置二进制传输方式。

    70.umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3

    71.user

    user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user

    anonymous my@email。

    72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp 服务器的所有响 应都将显示给用户,缺省为on.

    73.?[cmd]:同help.

    FTP自动登录批量下载文件

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

    !/bin/bash

    ftp -v -n 192.168.1.171

    user guest 123456

    binary

    cd /home/data

    lcd /home/databackup

    prompt

    mget *

    close

    bye

    #!/bin/bash

    #文件下载

    #cd 在远程机上改变工作目录

    #lcd 在本地机上改变工作目录

    #binary 设置文件传输方式为二进制模式

    #close 终止当前的 ftp 会话

    #bye:退出ftp会话过程。

    #hash 每次传输完数据缓冲区中的数据后就显示一个#号

    #prompt:设置多个文件传输时的交互提示。

    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/loacl/sbin:~/bin

    export PATT

    ftp -v -n $1

    user $2 $3

    binary

    cd $4

    lcd $5

    prompt

    mget $6

    close

    bye

    FTP自动登录批量上传文件

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

    #!/bin/bash

    ftp -v -n 192.168.1.171 << END

    user guest 123456

    binary

    hash

    cd /home/data

    lcd /home/databackup

    prompt

    mput *

    bye

    END

    linux下自动登陆ftp下载文件

    操作系统:linux

    说明:使用了expect,参数为ftp服务器地址和要下载的文件名

    参数:lindex $argv 0 读取ftp服务器ip地址

    lindex

    $argv 1 读取要下载的文件名

    编辑:

    spawn ftp [lindex $argv 0]

    expect "Name (*):"

    send "anonymous\r"

    expect "Password:*"

    send "\r"

    expect "ftp>"

    send "binary\r"

    expect "ftp>"

    send "hash\r"

    expect "ftp>"

    send "get [lindex $argv 1]\r"

    expect "* Transfer complete."

    send "exit\r"

    执行方法:expect ftp.sh

    服务器ip地址 文件名称

    (expect

    ftp.sh 192.168.0.1 filename.txt )

    扩展:可以根据需要把用户名和密码也作为参数输入里边,这个根据个人需求去做

    展开全文
  •  查看远程ftp服务器上用户lte****相应目录下的文件所使用的命令为:ls,登录到ftp后在ftp命令提示符下查看本地机器用户wasqry相应目录下文件命令是:!ls。查询ftp命令可在提示符下输入:?,然后回车。   1、从...
  • LINUX中通过FTP方式上传文件或下载文件以下是简单版本[fengsy@ctihost len.shell]$ cat Leave#Copy File From FtpServ To Local#Author : Feng ShuYanleave(){#local FILEecho $*File_Ls=`ls -l $4 |awk '{print $...
  • 下载文件命令 get 远程ftp服务器上当前目录下要下载的文件名 [下载到本地机器上当前目录时的文件名], 如:get warn.log [project.log],带括号表示可写可不写,不写的话是以服务器的文件名下载 getwarn....
  • 第一步:连接目标服务器 ftp 192.168.xxx.xxx Username: Password: 第二部:新建目录 mkdir xxx 第三步:指定本地目录 ...第六步:上传/下载/删除文件 put xxx.txt get xxx.txt delete xxx.txt ...
  • 上传文件linux,通过java代码上传文件linux中所依赖的jar包
  • 使用 FTP 自动上传图片
  • 首先,从本地的某个目录(/data/ftp/)登陆到远程服务器,并进入要下载文件的目录(/data/logs/),使用get命令从远程服务器的当前目录(/data/logs/)下载文件到本地登陆远程服务器时的目录(/data/ftp/)。get 远程ftp...
  • 1、本地windows 下载FTP工具,我用的是FileZilla 下载地址:https://filezilla-project.org/download.php?type=client 2、输入阿里云服务器公网IP地址,用户名和密码。端口号输入:22(如下图)阿里云服务器上什么...
  • 在网络环境下,想ftp服务器推送文件是开发中经常会用到的,本文不讲解ftp命令,主要针对ftp上传文件中可能遇到的几种错误情况及解决方法进行一下介绍,当然,只是作为一种参考。1、ftp上传文件后,大小被改变了,...
  • linux-往ftp服务器上传文件

    千次阅读 2021-06-07 10:18:26
    1.Linux终端连接FTP [oracle@Dave ~]$ftp 219.212.41.323001 Connected to219.212.41.32. 220219.212.41.32FTP server ready 500 AUTH not understood 500 AUTH not understood KERBEROS_V4 rejected as ...
  • 工作期间,每次将文件上传至ftp服务器时,均需要手工输入ip、用户名、密码等,因此,考虑编写脚本完成文件的上传任务。具体的脚本sync.sh如下: #!...# 上传文件 get $1 # 结束 bye #退出 EOF 然
  • 1 安装vsftpd[root@localhost modules]# yum install -y vsftpd2 编辑ftp配置文件[root@localhost modules]# vi /etc/vsftpd/vsftpd.conf做如下修改:anonymous_enable=NO#关闭匿名登录chroot_local_user=YES#用于...
  • 实现批量上传FTP服务器备份功能,并支持压缩,可配置备份频率
  • 如何使用Linux FTP命令传输文件

    千次阅读 2021-05-13 02:43:57
    在大多数情况下,您将使用桌面FTP客户端连接到远程服务器并下载或上传文件。但是,当您在没有GUI的服务器上工作并且想要通过FTP向远程服务器或从远程服务器传输文件时,ftp命令很有用。开始之前通过ftp传输数据时,...
  • import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream;...import org.apache.commons.net.ftp.FTP; import
  • Linux_ftp_命令行下下载文件get与上传文件put的命令应用.pdf
  • 原因:windows系统中文采用GB2312编码,而linux采用utf-8编码。解决方法:查看是否有中文语言包locale若没有zh_CN.UTF-8相关内容,说明没有安装语言包,安装方法如下:yum groupinstall chinese-support有了中文语言...
  • Linux基础命令---put上传ftp文件

    千次阅读 2020-09-16 09:31:43
    使用lftp登录ftp服务器之后,可以使用put指令将文件上传到服务器。 1、语法 put[-E][-a][-c][-O base]lfile[-o rfile] 2、选项列表 选项 说明 -o 指定输出文件的名字,不...
  • linux下使用FTP命令传输文件

    千次阅读 2021-05-08 22:46:27
    在大多数情况下,您将使用桌面FTP客户端连接到远程服务器下载或上传文件。但是,ftp当您在没有GUI的服务器上工作并且希望通过FTP将文件传输到远程服务器或从远程服务器传输文件时,这时命令行客户端就很有用通过ftp...
  • linuxftp下载文件命令的用法

    千次阅读 2021-05-11 05:06:54
    linxu下的ftp命令是用来下载文件或者上传文件的,下面由学习啦小编为大家整理了linuxftp下载文件命令的用法的相关知识,希望对大家有帮助!一、linux中的ftp下载文件命令的用法从远程ftp服务器下载文件的命令格式:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 63,439
精华内容 25,375
关键字:

linuxftp上传文件命令