• Linux利用ftp命令上传下载文件


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

    ftp命令

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

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

                  -n:禁止自动登录

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

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

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

             实例:ftp 122.122.122.122 2222

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

    目录操作

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

    • ls -- 打印目录列表
    • !ls -- 查看本地目录
    • cd -- 改变目录
    • mkdir -- 创建文件夹

    使用FTP下载文件

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

    • lcd -- 指定下载目录
    • get file.txt [file_new.txt] -- 下载文件 支持更改名字
    • mget *.txt -- 使用mget + 通配符下载多个文件

    使用FTP上传文件

    • lcd -- 指定即将上传的文件,所在的本地目录。
    • put file.txt [file_new.txt] -- 上传文件 支持更改名字
    • put /home/data/cwh/file.txt -- 绝对路径
    • mput *.txt -- 上传多个文件

    关闭FTP连接

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

    • bye -- 关闭连接
    • exit -- 关闭连接
    • quit -- 关闭连接
    • close -- 关闭连接

    其他命令

    • ? -- 查询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状态

    一个完整的shell脚本

    文件上传脚本

    #!/bin/bash
    #by anding 20200620
    #for upload UBF
    
    function putftp
    {
    Pass='xxxxxxxxxxx'
    ftp -n 10.254.104.23 21 <<!
    user mcb3tran $Pass
    bin 
    #对端目录 cd
    /opt/cbbs/pcs/all/data/outgoing put $1 bye ! } # 日志定义 log_date="$(date +'%Y%m%d')" log_dir="$HOME/log/$log_date/upload" log_file="$log_dir/put_%s_${log_date}.log" date1=`date +%Y%m` month1=`date -d "2 month ago" +%Y%m` file="SM"$month1"000.931" #生成文件,调用606接口生成文件 tpssreceive -i 606 sleep 20 #处理文件目录--本地 cd /jsyy/tpss/jt_upload/SM_temp file1=`ls /jsyy/tpss/jt_upload/SM_temp/*$date1*` sed -i s/$date1/$month1/g $file1 cat $file1>$file #文件校验 count1=`diff $file1 $file |wc -l` if [ $count1 -gt 0 ]; then echo "====================文件复制出错,请检查!!!!=====================" else echo "===================上传文件中================" rm $file1 fi #上传文件 putftp $file echo `date +"%Y/%m/%d %H:%M:%S"`" 上传${file1}文件成功" &>$(printf "$log_file" "SM") mv $file1 BAK_$file1
  • 相关阅读:
    P4365 [九省联考2018]秘密袭击coat
    P3705 [SDOI2017]新生舞会 01分数规划+费用流
    P4313 文理分科 最小割
    P1707 刷题比赛
    P3994 高速公路 树形DP+斜率优化+二分
    P3384 【模板】树链剖分
    P4915 帕秋莉的魔导书
    P3690 【模板】Link Cut Tree (动态树)
    P3615 如厕计划
    loj #2538. 「PKUWC2018」Slay the Spire
  • 原文地址:https://www.cnblogs.com/yanl55555/p/13523674.html
Copyright © 2020-2023  润新知