Linux下常用的ftp操作命令

=========== 完美的分割线 =============

1.登陆ftp服务器

ftp [IP] [PORT]        # 登陆ftp服务器,本机登陆可以不写IP

实例演示:

[root@ftpsrv vsftpd]# ftp 127.0.0.1 21
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (127.0.0.1:root): nice
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

可以看出登陆后默认为二进制传输模式

2.ftp子命令

2.1.帮助命令

ftp> ?|help                  # 显示ftp内部命令的帮助信息

2.2.查看ftp中的文件列表(ls和dir都可以查看)

ftp> dir
227 Entering Passive Mode (127,0,0,1,44,241).
150 Here comes the directory listing.
drwxr-xr-x 2 501 501 4096 Sep 04 07:18 aaa
drwxr-xr-x 2 501 501 4096 Sep 05 08:59 bbb
226 Directory send OK.
ftp> ls
227 Entering Passive Mode (127,0,0,1,71,215).
150 Here comes the directory listing.
drwxr-xr-x 2 501 501 4096 Sep 04 07:18 aaa
drwxr-xr-x 2 501 501 4096 Sep 05 08:59 bbb
226 Directory send OK.
ftp>

2.3.切换ftp的目录

ftp> cd aaa      # 切换到ftp的aaa目录
250 Directory successfully changed.
ftp> pwd        # 查看当前所在的ftp目录
257 "/aaa"
ftp> ls
227 Entering Passive Mode (127,0,0,1,88,202).
150 Here comes the directory listing.
-rw-r--r-- 1 501 501 0 Sep 05 09:01 aaa1
-rw-r--r-- 1 501 501 0 Sep 05 09:02 aaa2
226 Directory send OK.
ftp>

2.4.查询linux系统信息

1) 查询系统中的文件列表

ftp> ! [linux系统命令]          # 在ftp服务器中执行系统命令,之后回到ftp环境中
ftp> ! ls /usr/local/
aegis bin cloudmonitor etc games include lib lib64 libexec logs nginx sbin share src

2)切换linux中的工作目录

ftp> lcd /tmp/            # 在ftp服务器中切换本地工作目录(登陆ftp前的系统中的目录),可以tab补全
Local directory now /tmp

2.5.下载上传文件或目录

1)创建和删除ftp目录

ftp> mkdir ccc
257 "/aaa/ccc" created
ftp> ls
227 Entering Passive Mode (127,0,0,1,194,152).
150 Here comes the directory listing.
-rw-r--r-- 1 501 501 0 Sep 05 09:01 aaa1
-rw-r--r-- 1 501 501 0 Sep 05 09:02 aaa2
drwxr-xr-x 2 501 501 4096 Sep 05 09:06 ccc
226 Directory send OK.
ftp> rmdir ccc
250 Remove directory operation successful.
ftp> ls
227 Entering Passive Mode (127,0,0,1,214,114).
150 Here comes the directory listing.
-rw-r--r-- 1 501 501 0 Sep 05 09:01 aaa1
-rw-r--r-- 1 501 501 0 Sep 05 09:02 aaa2
226 Directory send OK.

2)下载ftp的文件

# 下载单个文件

ftp> !pwd        # 查看当前所在的系统工作目录
/tmp
ftp> ls
227 Entering Passive Mode (127,0,0,1,223,180).
150 Here comes the directory listing.
-rw-r--r-- 1 501 501 0 Sep 05 09:01 aaa1
-rw-r--r-- 1 501 501 0 Sep 05 09:02 aaa2
226 Directory send OK.
ftp> get aaa1    # 下载aaa1文件
local: aaa1 remote: aaa1
227 Entering Passive Mode (127,0,0,1,33,232).
150 Opening BINARY mode data connection for aaa1 (0 bytes).
226 Transfer complete.
ftp> !ls
aaa1
ftp> get aaa2 aaa3    # 下载aaa2文件,并命名为aaa3
local: aaa3 remote: aaa2
227 Entering Passive Mode (127,0,0,1,171,86).
150 Opening BINARY mode data connection for aaa2 (0 bytes).
226 Transfer complete.
ftp> !ls          # 查看,下载成功
aaa1 aaa3

# 下载多个文件

ftp> mget aaa1 aaa2
mget aaa1? y
227 Entering Passive Mode (127,0,0,1,83,114).
150 Opening BINARY mode data connection for aaa1 (0 bytes).
226 Transfer complete.
mget aaa2? y
227 Entering Passive Mode (127,0,0,1,217,121).
150 Opening BINARY mode data connection for aaa2 (0 bytes).
226 Transfer complete.
ftp> !ls -l
total 1532
-rw-r--r-- 1 root root 0 Sep 5 17:20 aaa1    # 可以看到文件创建时间已经更改
-rw-r--r-- 1 root root 0 Sep 5 17:20 aaa2
-rw-r--r-- 1 root root 0 Sep 5 17:14 aaa3

3)上传文件

# 上传单个文件

# 创建测试文件

[root@ftpsrv tmp]# touch ddd1
[root@ftpsrv tmp]# touch ddd2
[root@ftpsrv tmp]# ll
total 1532
-rw-r--r-- 1 root root 0 Sep 5 17:20 aaa1
-rw-r--r-- 1 root root 0 Sep 5 17:20 aaa2
-rw-r--r-- 1 root root 0 Sep 5 17:14 aaa3
-rw-r--r-- 1 root root 0 Sep 5 17:23 ddd1
-rw-r--r-- 1 root root 0 Sep 5 17:23 ddd2

# 上传

ftp> put ddd1       # 上传单个文件,可以tab补全
local: ddd1 remote: ddd1
227 Entering Passive Mode (127,0,0,1,69,10).
150 Ok to send data.
226 Transfer complete.
ftp> put ddd1 eee1    # 上传单个文件并改名
local: ddd1 remote: eee1
227 Entering Passive Mode (127,0,0,1,243,160).
150 Ok to send data.
226 Transfer complete.
ftp> ls
227 Entering Passive Mode (127,0,0,1,234,62).
150 Here comes the directory listing.
-rw-r--r-- 1 501 501 0 Sep 05 09:01 aaa1
-rw-r--r-- 1 501 501 0 Sep 05 09:02 aaa2
drwxr-xr-x 2 501 501 4096 Sep 05 09:18 bbb
-rw-r--r-- 1 501 501 0 Sep 05 09:23 ddd1
-rw-r--r-- 1 501 501 0 Sep 05 09:23 eee1
226 Directory send OK

# 上传多个文件

ftp> mput ddd1 ddd2
mput ddd1? y
227 Entering Passive Mode (127,0,0,1,92,11).
150 Ok to send data.
226 Transfer complete.
mput ddd2? y
227 Entering Passive Mode (127,0,0,1,66,108).
150 Ok to send data.
226 Transfer complete.
ftp> ls
227 Entering Passive Mode (127,0,0,1,191,91).
150 Here comes the directory listing.
-rw-r--r-- 1 501 501 0 Sep 05 09:01 aaa1
-rw-r--r-- 1 501 501 0 Sep 05 09:02 aaa2
drwxr-xr-x 2 501 501 4096 Sep 05 09:18 bbb
-rw-r--r-- 1 501 501 0 Sep 05 09:27 ddd1    # 查看修改时间可以确认已经上传成功
-rw-r--r-- 1 501 501 0 Sep 05 09:27 ddd2
-rw-r--r-- 1 501 501 0 Sep 05 09:23 eee1
226 Directory send OK.

2.6.ftp文件目录操作

1)修改ftp文件名

ftp> rename aaa1 qqq1
350 Ready for RNTO.
250 Rename successful.
ftp> ls
227 Entering Passive Mode (127,0,0,1,29,54).
150 Here comes the directory listing.
-rw-r--r-- 1 501 501 0 Sep 05 17:02 aaa2
drwxr-xr-x 2 501 501 4096 Sep 05 17:18 bbb
-rw-r--r-- 1 501 501 0 Sep 05 17:27 ddd1
-rw-r--r-- 1 501 501 0 Sep 05 17:27 ddd2
-rw-r--r-- 1 501 501 0 Sep 05 17:23 eee1
-rw-r--r-- 1 501 501 0 Sep 05 17:37 fff
-rw-r--r-- 1 501 501 0 Sep 05 17:01 qqq1    # 修改后的文件名
226 Directory send OK.

2)删除ftp文件

ftp> delete aaa2    # 删除aaa2文件
250 Delete operation successful.
ftp> ls
227 Entering Passive Mode (127,0,0,1,138,61).
150 Here comes the directory listing.
drwxr-xr-x 2 501 501 4096 Sep 05 17:18 bbb
-rw-r--r-- 1 501 501 0 Sep 05 17:27 ddd1
-rw-r--r-- 1 501 501 0 Sep 05 17:27 ddd2
-rw-r--r-- 1 501 501 0 Sep 05 17:23 eee1
-rw-r--r-- 1 501 501 0 Sep 05 17:37 fff
-rw-r--r-- 1 501 501 0 Sep 05 17:01 qqq1
226 Directory send OK.

# 删除多个ftp文件

ftp> mdelete ddd1 ddd2 eee1
mdelete ddd1? y
250 Delete operation successful.
mdelete ddd2? y
250 Delete operation successful.
mdelete eee1? y
250 Delete operation successful.
ftp> ls
227 Entering Passive Mode (127,0,0,1,166,205).
150 Here comes the directory listing.
drwxr-xr-x 2 501 501 4096 Sep 05 17:18 bbb
-rw-r--r-- 1 501 501 0 Sep 05 17:37 fff
-rw-r--r-- 1 501 501 0 Sep 05 17:01 qqq1
226 Directory send OK.

3)删除ftp目录

ftp> rmdir bbb    # 删除bbb目录
250 Remove directory operation successful.
ftp> ls
227 Entering Passive Mode (127,0,0,1,143,198).
150 Here comes the directory listing.
-rw-r--r-- 1 501 501 0 Sep 05 17:37 fff
-rw-r--r-- 1 501 501 0 Sep 05 17:01 qqq1
226 Directory send OK.

2.7.其他ftp命令

1)切换传输模式

ftp> ascii        # 切换为ascii模式
200 Switching to ASCII mode.
ftp> bin        # 切换为二进制模式,默认登陆就是二进制传输模式
200 Switching to Binary mode.

2)关闭和重连ftp

ftp> close      # 断开ftp的连接
221 Goodbye.
ftp> ls        # 可以看出,无法显示ftp服务器的文件列表
Not connected.
ftp> open 127.0.0.1 21    # 重新连接ftp服务器
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (127.0.0.1:root): admin     # 使用admin登陆ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls        # 可以再次查看ftp服务器的文件列表
227 Entering Passive Mode (127,0,0,1,227,247).
150 Here comes the directory listing.
drwxr-xr-x 2 501 501 4096 Sep 05 17:47 aaa
drwxr-xr-x 2 501 501 4096 Sep 05 16:59 bbb
226 Directory send OK.

3) 退出ftp会话

ftp> quit    # 也可以使用bye和exit
221 Goodbye.
[root@ftpsrv vsftpd]#

========= 完毕,呵呵呵呵 =========

Linux下常用的ftp操作命令的更多相关文章

  1. linux下常用FTP命令

    linux下常用FTP命令 1. 连接ftp服务器 1. 连接ftp服务器格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1b)服 ...

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

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

  3. linux下常用命令备忘

    转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删 ...

  4. linux下常用关机命令

    linux下常用的关机命令有:shutdown.halt.poweroff.init:重启命令有:reboot.下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法. 首先来看一下 ...

  5. Linux 下常用解压命令(转载)

    Linux下常用文件解压(包括rpm.deb包) Linux下怎么解后缀名是gzip的文件?1.以.a为扩展名的文件:#tar xv file.a2.以.z为扩展名的文件:#uncompress fi ...

  6. Linux 下常用命令

    linux 下常用命令: 1.删除文件命令为 rm 2.创建目录的命令是:mkdir 3.删除目录的命令是rmdir(空目录) 4.切换到root帐号:su 5.查看所有进程:ps -aux 6.杀死 ...

  7. linux下常用语言的语法检查插件整理

    linux下常用语言的语法检查插件 可以结合vim语法检查插件syntastic使用,具体请参考syntastic使用说明 如php,sql,json,css,js,html,shell,c等语法插件 ...

  8. MongoDB在Linux下常用优化设置

    MongoDB在Linux下常用优化设置 以下是一些MongoDB推荐的常用优化设置.在生产环境下选取合适的参数值,例如预读值和默认文件描述符数目等,会对系统性能有很大的影响. 1.关闭数据库文件的 ...

  9. linux下常用的日志分析命令

    linux下常用的日志分析命令   本文介绍下,在linux中常用的一些分析日志的命令行或脚本,有需要的朋友参考下.     形如下面这样的access.log日志内容: 211.123.23.133 ...

随机推荐

  1. [ios][switf]页面跳转

    参考:http://bbs.csdn.net/topics/390899712 注意用push会崩溃 用其他的正常 1.storyboard直接拖拉,使用不同种类的segue均可2.直接写代码: // ...

  2. [ios]自定义UI

    参考:http://blog.sina.com.cn/s/blog_7b9d64af0101edqf.html 回忆一下,这么个场景. 我们在一个界面上,要排列多个相同的元素.你马上就可以想到: 1. ...

  3. HDU 6090 Rikka with Graph

    Rikka with Graph 思路: 官方题解: 代码: #include<bits/stdc++.h> using namespace std; #define ll long lo ...

  4. Python - Cookie绕过验证码登录

    前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 另一篇博文  P ...

  5. 寻找重复的子树 Find Duplicate Subtrees

    2018-07-29 17:42:29 问题描述: 问题求解: 本题是要求寻找一棵树中的重复子树,问题的难点在于如何在遍历的时候对之前遍历过的子树进行描述和保存. 这里就需要使用之前使用过的二叉树序列 ...

  6. WCF配置后支持通过URL进行http方式调用

    最近遇到一个小型项目,主要就是通过手机写入NFC信息,思考许久后决定就写一个简单的CS程序来搞定这个问题,可是当涉及到手机和PC通信的时候首先考虑到的就是IIS,同时因为数据库是SQLite,思前想后 ...

  7. LeetCode--083--删除排序链表中的重复元素

    问题描述: 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次. 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2-&g ...

  8. React 介绍

    ttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind The sm ...

  9. 01-trie练习

    这里用递归实现01-trie, 可以看做是区间长度为2的幂的权值线段树, 能实现权值的所有操作, 异或时, 翻转左右儿子即可. 练习1 CF 817E Choosing The Commander 大 ...

  10. Oracle11g温习-第一章:Oracle 体系架构

    2013年4月27日 星期六 10:20 1.oracle 网络架构及应用环境 1. ORACLE 实例——包括内存结构与后台进程 2. ORACLE 数据库——物理操作系统文件的集合 3. 了解内存 ...