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
Linux利用ftp命令上传下载文件的更多相关文章
- linux下常用FTP命令 上传下载文件【转】
1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...
- linux利用scp远程上传下载文件/文件夹
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度. 当你服务 ...
- linux利用sh脚本上传下载文件到ftp服务器
####本地的/app/awsm/csv2 to ftp服务器上的/awsm/#### #!/bin/sh export today=`date +%Y-%m-%d` ftp -v -n 10.116 ...
- 【ARM-LInux开发】利用scp 远程上传下载文件/文件夹
利用scp 远程上传下载文件/文件夹 scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o s ...
- Linux 终端访问 FTP 及 上传下载 文件
今天同事问我一个问题,在Linux 下访问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上.google 一下. 方 ...
- Linux 终端訪问 FTP 及 上传下载 文件
今天同事问我一个问题,在Linux 下訪问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上. google 一下. ...
- Linux 终端访问 FTP 及 上传下载 文件[转]
1. Linux 终端连接FTP [oracle@Dave ~]$ ftp 10.85.7.97 Connected to 10.85.7.97. 220 Serv-U FTP Server ...
- Linux 普通用户拿到root权限及使用szrz命令上传下载文件
1.如何拿到root权限 在shell里如果看到你的命令输入行最前面显示的是 $符号,说明目前账号只有系统的普通权限. 输入:sudo su 这时能看到shell的输入行最前面已经显示的是#号,说明已 ...
- linux使用命令上传下载文件 -- lrzsz
之前都是用Xftp工具在本地和linux系统之间上传下载文件,最近觉得麻烦,因为平时用Xshell连接,要传输文件的时候还要额外使用别的工具,下面是lrzsz的安装和简单的使用过程: 详细的使用可以s ...
- shell通过ftp实现上传/下载文件
直接代码,shell文件名为testFtptool.sh: #!/bin/bash ########################################################## ...
随机推荐
- 读论文《Reinforced Attention for Few-Shot Learning and Beyond》
2022年4月22日,实验室开组会,我讲了论文<Reinforced Attention for Few-Shot Learning and Beyond>,最近整理资料又再读了一遍,这里 ...
- 【牛客刷题】HJ10 字符个数统计
题目链接 简单的说这题就是字符串去重以后检查长度.如果用Java的话,可以遍历字符串,然后利用Set来进行去重,最后统计Set的size就可以了.但是如果是Go语言,则稍微麻烦点.基本思路就是用map ...
- games101 作业1及作业2分析及解决 详解透视矩阵
games101 作业1及作业2分析及解决 去年的时候把games101的课程以及作业完成,但是整个过程比较粗略,也借助了不少外界的力量(doge),于是最近准备抽几天集中再把作业(1-7)过一遍,常 ...
- layui表格中格式化日期
layui表格中格式化日期 //1.引入 util layui.use(['table', 'admin'], function () { var util = layui.util; //2.表格内 ...
- DPDK简介
DPDK简介 DPDK(Data Plane Development Kit)数据平面开发工具包,是一个开源软件项目.DPDK通过维护一系列能够加速多核CPU数据包处理的库,提供数据处理框架.DPDK ...
- Unocss使用
目录: 安装 简单使用 自定义规则 安装 { "dependencies": { "unocss": "^0.55.6", "vu ...
- 画流程图、状态图、时序图、甘特图的JS库-mermaid-js
参考地址:https://github.com/mermaid-js/mermaid 原生使用方式: <!DOCTYPE html> <html> <head> & ...
- docker 参数'--privileged' 的作用
在Docker中,--privileged 参数给予容器内的进程几乎相同的权限,就像它们在宿主机上一样.这意味着容器可以访问宿主机的所有设备,并且可以执行一些通常需要高级权限的操作,例如加载内核模块. ...
- HTML & CSS – dir, direction, writing-mode, ltr (left to rigth), rtl (right to left)
前言 世界上有很多语言的阅读方向是不同的. 英文 中文 (以前才有竖排文字, 现在中文和英语一样了) 阿拉伯文 (Arabic) 面对不同的语言, HTML 和 CSS 就需要不同的写法. 虽然我没有 ...
- CSS – border-radius (Rounded Corners)
前言 之前的文章 CSS – W3Schools 学习笔记 (3), 这篇独立出来写, 作为整理. 参考: Youtube – Advanced CSS Border-Radius Tutorial ...