linux ftp上传下载文件,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 $1bye

!

}#日志定义

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 606sleep20

#处理文件目录--本地

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值