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

Linux利用ftp命令上传下载文件的更多相关文章

  1. linux下常用FTP命令 上传下载文件【转】

    1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...

  2. linux利用scp远程上传下载文件/文件夹

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度. 当你服务 ...

  3. linux利用sh脚本上传下载文件到ftp服务器

    ####本地的/app/awsm/csv2 to ftp服务器上的/awsm/#### #!/bin/sh export today=`date +%Y-%m-%d` ftp -v -n 10.116 ...

  4. 【ARM-LInux开发】利用scp 远程上传下载文件/文件夹

    利用scp 远程上传下载文件/文件夹 scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o s ...

  5. Linux 终端访问 FTP 及 上传下载 文件

    今天同事问我一个问题,在Linux 下访问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上.google 一下. 方 ...

  6. Linux 终端訪问 FTP 及 上传下载 文件

    今天同事问我一个问题,在Linux 下訪问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上. google 一下. ...

  7. Linux 终端访问 FTP 及 上传下载 文件[转]

    1.      Linux 终端连接FTP [oracle@Dave ~]$ ftp 10.85.7.97 Connected to 10.85.7.97. 220 Serv-U FTP Server ...

  8. Linux 普通用户拿到root权限及使用szrz命令上传下载文件

    1.如何拿到root权限 在shell里如果看到你的命令输入行最前面显示的是 $符号,说明目前账号只有系统的普通权限. 输入:sudo su 这时能看到shell的输入行最前面已经显示的是#号,说明已 ...

  9. linux使用命令上传下载文件 -- lrzsz

    之前都是用Xftp工具在本地和linux系统之间上传下载文件,最近觉得麻烦,因为平时用Xshell连接,要传输文件的时候还要额外使用别的工具,下面是lrzsz的安装和简单的使用过程: 详细的使用可以s ...

  10. shell通过ftp实现上传/下载文件

    直接代码,shell文件名为testFtptool.sh: #!/bin/bash ########################################################## ...

随机推荐

  1. 读论文《Reinforced Attention for Few-Shot Learning and Beyond》

    2022年4月22日,实验室开组会,我讲了论文<Reinforced Attention for Few-Shot Learning and Beyond>,最近整理资料又再读了一遍,这里 ...

  2. 【牛客刷题】HJ10 字符个数统计

    题目链接 简单的说这题就是字符串去重以后检查长度.如果用Java的话,可以遍历字符串,然后利用Set来进行去重,最后统计Set的size就可以了.但是如果是Go语言,则稍微麻烦点.基本思路就是用map ...

  3. games101 作业1及作业2分析及解决 详解透视矩阵

    games101 作业1及作业2分析及解决 去年的时候把games101的课程以及作业完成,但是整个过程比较粗略,也借助了不少外界的力量(doge),于是最近准备抽几天集中再把作业(1-7)过一遍,常 ...

  4. layui表格中格式化日期

    layui表格中格式化日期 //1.引入 util layui.use(['table', 'admin'], function () { var util = layui.util; //2.表格内 ...

  5. DPDK简介

    DPDK简介 DPDK(Data Plane Development Kit)数据平面开发工具包,是一个开源软件项目.DPDK通过维护一系列能够加速多核CPU数据包处理的库,提供数据处理框架.DPDK ...

  6. Unocss使用

    目录: 安装 简单使用 自定义规则 安装 { "dependencies": { "unocss": "^0.55.6", "vu ...

  7. 画流程图、状态图、时序图、甘特图的JS库-mermaid-js

    参考地址:https://github.com/mermaid-js/mermaid 原生使用方式: <!DOCTYPE html> <html> <head> & ...

  8. docker 参数'--privileged' 的作用

    在Docker中,--privileged 参数给予容器内的进程几乎相同的权限,就像它们在宿主机上一样.这意味着容器可以访问宿主机的所有设备,并且可以执行一些通常需要高级权限的操作,例如加载内核模块. ...

  9. HTML & CSS – dir, direction, writing-mode, ltr (left to rigth), rtl (right to left)

    前言 世界上有很多语言的阅读方向是不同的. 英文 中文 (以前才有竖排文字, 现在中文和英语一样了) 阿拉伯文 (Arabic) 面对不同的语言, HTML 和 CSS 就需要不同的写法. 虽然我没有 ...

  10. CSS – border-radius (Rounded Corners)

    前言 之前的文章 CSS – W3Schools 学习笔记 (3), 这篇独立出来写, 作为整理. 参考: Youtube – Advanced CSS Border-Radius Tutorial ...