Linux FTP命令全集(ftp指令)

hash是启用分段下载?

hash是指散列的文件,FTP的下载并不是将文件的从前都后依次复制,而是为提高下载速率而分成很多小段同时复制,所以下载回来的文件是分成N段的,要重新整合成完整的文件,在下载工具整合文件的时候会显示hash,即指在整合散列数据。

mdelete是批量删除,注意,其余见文👇

参考文章:Linux FTP 命令全集

真的好人,知乎上一老哥给我发了FTP命令大全!

FTP Commands

解释相对来说还挺详细!

20211223 不行还是太杂乱了,自己转载过来再整理一下

文章目录

Linux FTP 命令全集

1 前言

下面就所有命令给出解释和例子。

说明:

  1. remote-file 指远程文件,即服务器上的文件

  2. local-file 指本地文件,即本地机器上的文件

2 登录登出命令

2.1 ftp

$ ftp 192.168.0.2

格式: ftp [host]

Host为ftp主机ip,此命令用来登录ftp服务器,登录后会提示输入账户和密码,账户和密码正确输入后,就会登录到服务器,并进入FTP子程序。

2.2 close(terminate ftp session)(close)

FTP> close

结束与远程服务器的 FTP 会话并返回命令解释程序,没有跳出ftp子程序,可以用open命令重新登录。(但还是需要输入账号和密码)

2.3 disconnect(terminate ftp session)

FTP> disconnect

从远程服务器断开,但还在FTP子命令内,保留 ftp 提示。disconnect是close的别名。

2.4 open

FTP >open 与指定的 FTP 服务器连接。

格式:open computer [port]

说明:computer 指定要连接的远程计算机。可以通过 IP 地址或计算机名称指定计算机(DNS 或主机文件必须可用)。如果自动登录打开(默认),ftp 还将尝试自动将用户登录到 FTP 服务器port 指定用来联系 FTP 服务器的端口号。(搁哪儿设置自动登录呢??)

Eg: open 192. 168. 0. 2,然后输入服务器的用户和密码,重新登录。

20230216:登录过程中提示超时421 timeout后,可用open命令重新登录,比如open 192.168.100.141

2.5 user

FTP >user 指定远程计算机的用户,登录服务器后,可以更换用户。
  格式:user username [password] [account]
  说明:user-name 指定登录到远程计算机所使用的用户名。password 指定 user-name 的密码。如果没有指定,但必须指定,ftp 会提示输入密码。
  account 指定登录到远程计算机所使用的帐户。如果没有指定account,但是需要指定,ftp 会提示您输入帐户。

2.6 account(send account command to remote server)

FTP> account

提供登录远程系统成功后访问系统资源所需的补充口令(不知道什么account,哪来的account、??)

2.7 bye(terminate ftp session and exit)

FTP> bye(或by) 结束与远程计算机的 FTP 会话并退出 ftp。

2.8 !(escape to the shell)(注意有的终止ftp任务有的并不终止,等待进程完成?join?)

FTP> ! 结束与远程计算机的 FTP 会话并退出 ftp,功能与bye相同。

2.9 quit(terminate ftp session and exit)

FTP >quit 结束与远程计算机的 FTP会话并退出 ftp。

备注: bye、!和quit的功能基本相同。(真的吗,你确定??)

3 帮助命令

3.1 ?

FTP >? 显示 ftp 命令说明,同help一样。
  格式:? [command]
  说明:command 指定需要有关说明的命令的名称。如果没有指定 command,ftp 将显示全部命令的列表。

3.2 help

FTP >help 显示 ftp 命令说明。
  格式:help [command]
  说明:command 指定需要有关说明的命令的名称。如果没有指定 command,ftp 将显示全部命令的列表。

3.3 rhelp(呃,我arm ftp上没这个指令。。)

FTP >remotehelp 显示远程命令帮助。
  格式:remotehelp [command]
  说明:command 指定需要帮助的命令的名称。如果没有指定 command,ftp将显示全部远程命令的列表。

4 文件操作命令

4.1 ascii

FTP> ascii

将文件传送类型设置为默认的 ASCII。

说明:FTP 支持两种文件传送类型,ASCII 码和二进制码(binary)。在传送文本文件时应该使用ASCII

4.2 binary/bi(set binary transfer type)

FTP> binary(或bi) 将文件传送类型设置为二进制。

4.3 bell

FTP> bell

切换响铃以在每个文件传送命令完成后响铃。默认情况下,铃声是关闭的。

4.4 cd

FTP> cd

格式:cd remote-directory跳转到remote-directory这个目录

4.5 cdup(change remote working directory to parent directory)

FTP> cdup

说明:更改的远程计算机上的目录,跳到上一层目录。

4.6 lcd(change local working directory)

FTP >lcd 更改本地计算机上的工作目录。

默认情况下,工作目录是启动 ftp 的目录

格式:lcd [directory]

说明:directory 指定要更改的本地计算机上的目录。如果没有指定directory,将显示本地计算机中当前的工作目录。

示例:

ftp> lcd
Local directory now /opt/ftp
ftp> 

4.7 dir(list contents of remote directory)

FTP> dir 显示远程目录文件和子目录列表,同ls命令一样。

格式:dir [remote-directory] [local-file]

说明:remote-directory 指定要查看其列表的目录。如果没有指定目录,将使用远程计算机中的当前工作目录。Local-file 指定要存储列表的本地文件。如果没有指定,输出将显示在屏幕上。(什么意思???见示例)

示例1:显示服务器目录下子目录

ftp> dir video
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-------    1 1000     1000      3046604 Dec 23 21:40 20211223194357.mp4
226 Directory send OK.

示例2:保存服务器目录下子目录文件列表到本地文件

ftp> dir video test.sh  
output to local-file: test.sh? y
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Directory send OK.
ftp> 

test.sh
在这里插入图片描述

4.8 ls

FTP >ls 显示远程目录文件和子目录的缩写列表。

格式:ls [remote-directory] [local-file]

说明:remote-directory 指定要查看其列表的目录。如果没有指定目录,将使用远程计算机中的当前工作目录。 local-file 指定要存储列表的本地文件。如果没有指定,输出将显示在屏幕上。

4.9 mdir(list contents of multiple remote directories)

FTP >mdir 显示远程目录文件和子目录列表。可以使用mdir 指定多个文件。
  格式:mdir remote-files [ ...] local-file
  说明:remote-files 指定要查看列表的目录。必须指定 remote-files。请键入 - 使用远程计算机上的当前工作目录。
  local-file 指定要还原列表的本地文件。请键入- 在屏幕上显示列表。

4.10 pwd

FTP >pwd 显示远程计算机上的当前目录。

4.11 size

FTP> size remote-file

显示远程文件的大小

示例:

ftp> size giphy.gif
213 43675

4.12 mkdir

FTP >mkdir 创建远程目录。
  格式:mkdir directory
  说明:directory 指定新的远程目录的名称。

4.13 rmdir

FTP >rmdir 删除远程目录。
  格式:rmdir directory
  说明:directory 指定要删除的远程目录的名称。

4.14 rename

FTP >rename 重命名远程文件。
  格式:rename filename newfilename
  说明:filename 指定要重命名的文件。 newfilename 指定新的文件名。

4.15 mls(list contents of multiple remote directories)

FTP >mls 显示远程目录文件和子目录的缩写列表。

格式:mls remote-files [ ...] local-file
  说明:remote-files 指定要查看列表的文件。必须指定 remote-files;
  请键入- 使用远程计算机上的当前工作目录。
  local-file 指定要存储列表的本地文件。请键入 - 以在屏幕上显示列表。
  
示例:

ftp> mls
(remote-files) video
(local-file) test.sh
output to local-file: test.sh? y
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Directory send OK.
ftp> 

test.sh
在这里插入图片描述

4.16 chmod

FTP> chmod 755 remote_file

说明:更改远程目录上的文件RWX属性

4.17 modtime

FTP >modtime remote-file 显示远程服务器上的文件的最后修改时间

格式:modtime remote-files

说明:remote-files 远程计算机的文件

示例:

ftp> modtime giphy.gif
giphy.gif	12/16/2021 09:38:40 GMT

4.18 append(append to a file)??

FTP>append local-file

使用当前文件类型设置将本地文件附加到远程计算机上的文件

格式:append local-file [remote-file]

如果省略了 remote-file,本地文件名将被用作远程文件名。

示例:

ftp> append test.sh giphy.gif
local: test.sh remote: giphy.gif
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
25 bytes sent in 0.000102 secs (2.4e+02 Kbytes/sec)
ftp> 

啥意思??我不知道发什么什么??

4.19 send(send one file)

FTP >send 使用当前文件传送类型将本地文件复制到远程计算机上。Send 与put 相同。
  格式:send local-file [remote-file]
  说明:local-file 指定要复制的本地文件。 remote-file 指定要在远程计算机上使用的名称。如果没有指定,文件将命名为 local-file。

4.20 put

FTP >put 使用当前文件传送类型将本地文件复制到远程计算机上。
  格式:put local-file [remote-file]
  说明:local-file 指定要复制的本地文件。
  remote-file 指定要在远程计算机上使用的名称。如果没有指定,文件将命名为 local-file。(同send)

4.21 mput(send multiple files)

FTP >mput 多文件传输,使用当前文件传送类型将本地文件复制到远程计算机上。
  格式:mput local-files [ ...]
  说明:local-files 指定要复制到远程计算机的本地文件
(我看别人使用案例,可以用mput *mget *上传和接收所有文件)

4.22 get

FTP> get 使用当前文件转换类型将远程文件复制到本地计算机。

格式:get remote-file [local-file]

说明:remote-file 指定要复制的远程文件。

Local-file 指定要在本地计算机上使用的名称。如果没有指定,文件将命名为 remote-file。

4.23 mget(get multiple files)

FTP >mget 使用当前文件传送类型将远程文件复制到本地计算机。
  格式:mget remote-files [ …]
  说明:remote-files 指定要复制到本地计算机的远程文件。

mget * 下载服务器目标目录所有文件

4.24 reget(get file restarting at end of local file)

在本地文件结尾处重新启动文件(什么意思?)(断点续传?)(Reget 的作用类似于 get,但如果 local-file 存在并且小于 remote-file,则假定 local-file 是 remote-file 的部分传输副本,并且从明显的故障点继续传输。当通过易于断开连接的网络传输非常大的文件时,此命令很有用。)(https://www.ftp-commands.com/file-transfer-protocol/reget-remote-file-local-file/

4.25 recv(receive file)(与get相同)

FTP >recv 使用当前文件传送类型将远程文件复制到本地计算机。Recv 与 get相同。
  格式:recv remote-file [local-file]
  说明:remote-file 指定要复制的远程文件。
  local-file 指定要在本地计算机上使用的名称。如果没有指定,文件将命名为 remote-file。

4.26 newer(get file if remote file is newer than local file)

FTP >newer remote-filelocal-file获取远程服务器的文件,如果此文件比本地文件新

格式:newer remote-file local-file [ ...]

4.27 delete

FTP> delete 删除远程计算机上的文件。

格式:delete remote-file

说明:remote-file 指定要删除的文件。

4.28 mdelete

FTP >mdelete 删除远程计算机上的文件。
格式:mdelete remote-files [ ...]
说明:remote-files 指定要删除的远程文件。

4.29 umask(get (set) umask on remote side)(权限?)

显示远程服务器的umask值

示例:

ftp> umask
200 Your current UMASK is 077

5 文件模式命令

5.1 case(toggle mget upper/lower case id mapping)(切换mget大小写id映射)

FTP> case

触发远程文件名大小写变化功能

5.2 ccc(没有)

FTP> ccc

5.3 clear(我arm ftp没有这个命令)

FTP>clear

5.4 cprotect

5.5 form(set file transfer format)

设置文件传输格式

5.6 glob(toggle metacharacter expansion of local file names)(切换本地文件名的元字符扩展)

FTP >glob 切换文件名组合。

组合允许在内部文件或路径名中使用通配符(*和?)。默认情况下,组合是打开的。

5.7 hash(为每个传输的缓冲区切换打印“#”)(不太懂。。)

FTP >hash 切换已传输的每个数据块的数字签名 (#) 打印。

数据块的大小是2048 字节。默认情况下,散列符号打印是关闭的。

5.8 idle(获取(设置)远程端的空闲计时器)

5.9 image(set binary transfer type)(跟binary和bi一样)

ftp> ? image
image     	set binary transfer type
ftp> ? bi
binary    	set binary transfer type
ftp> ? binary
binary    	set binary transfer type

5.10 mode(set file transfer mode)

设置文件传输模型,linux只支持流模式(stream)

5.11 nmap(set templates for default file name mapping)(为默认文件名映射设置模板)(啥意思?)

设置或取消文件名映射机制

5.12 nlist(nlist contents of remote directory)(nlist远程目录的内容)

示例:与ls有点像

ftp> nlist
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
190321153853126488.mp4
C:
E:
arnold_test.txtPASV
giphy (1).gif
giphy (2).gif
giphy (3).gif
giphy.gif
shortVideo.avi
video
226 Directory send OK.

5.13 ntrans(set translation table for default file name mapping)(设置默认文件名映射的转换表)

设置或取消文件名字符变换机制

5.14 passive(enter passive transfer mode)(进入被动传输模式)(输一下打开,输一下关闭)

在这里插入图片描述

5.15 private(没有)

5.16 prompt

FTP >prompt 切换提示。如果关闭提示时mget 及 mput 传送所有文件,Ftp在多文件传送过程中将提示允许您有选择地检索或存储文件。默认情况下,提示是打开的。

(切换交互式提示。在多个文件传输期间会出现交互式提示,以允许用户有选择地检索或存储文件。如果提示关闭(默认开启),任何 mget 或 mput 将传输所有文件,任何 mdelete 将删除所有文件。【我们需要关闭!】)

5.17 protect(没有)

5.18 proxy

在辅助控制连接上执行一条ftp 命令

(在辅助控制连接上执行 ftp 命令。此命令允许同时连接到两个远程 ftp 服务器以在两个服务器之间传输文件。第一个代理命令应该是一个打开的,以建立辅助控制连接。输入命令“代理?” 查看在辅助连接上可执行的其他 ftp 命令。以下命令在以代理开头时的行为有所不同:open 不会在自动登录过程中定义新的宏,close 不会删除现有的宏定义,从主机上的主机 get 和 mget 传输文件控制连接到辅助控制连接上的主机,并将传输文件从辅助控制连接上的主机放置、输入和附加到主控制连接上的主机。)

5.19 sendport

为每个数据连接触发使用PORT

(切换 PORT 命令的使用。默认情况下,ftp 在为每个数据传输建立连接时将尝试使用 PORT 命令。使用 PORT 命令可以防止在执行多个文件传输时出现延迟。如果 PORT 命令失败,ftp 将使用默认数据端口。当禁用 PORT 命令的使用时,将不会尝试为每次数据传输使用 PORT 命令。这对于某些忽略 PORT 命令但错误地表明它们已被接受的 FTP 实现很有用。)

5.20 quote

FTP >quote 将参数逐字发送到远程 FTP 服务器。将返回单个的 FTP 回复代码。
Quote 与 literal 相同。
格式:quote argument [ ...]
说明:argument 指定要发送到 FTP 服务器的参数。

5.21 reset

清除应答队列

(清除回复队列。该命令与远程 ftp 服务器重新同步命令/回复序列。远程服务器违反 ftp 协议后,可能需要重新同步。)

5.22 restart

(在指定的标记处重新启动紧随其后的 get 或 put。在 UNIX 系统上,标记通常是文件中的字节偏移量。)

5.23 runique

(使用唯一的文件名切换本地系统上的文件存储。如果文件已存在,其名称与 get 或 mget 命令的目标本地文件名相同,则会在名称后附加“.1”。如果生成的名称与另一个现有文件匹配,则会在原始名称后附加“.2”。如果此过程一直持续到“.99”,则会打印一条错误消息,并且不会进行传输。将报告生成的唯一文件名。请注意,runique 不会影响从 shell 命令生成的本地文件(见下文)。默认值为关闭。)

5.24 safe(我没有这个命令)

将文件传输设置为安全保护模式

5.25 site

(指定的参数作为 SITE 命令逐字发送到远程 FTP 服务器。)

5.26 struct

设置文件传输结构

(将文件传输结构设置为 struct-name。默认情况下使用“流”结构。)

5.27 sunique(这下面的命令基本不懂啥意思啊??)

触发远程唯一主机文件存储功能

(切换在远程计算机上以唯一文件名存储文件。远程 ftp 服务器必须支持 ftp 协议 STOU 命令才能成功完成。远程服务器将报告唯一名称。默认值为关闭。)

5.28 tenex

设置 tenex 文件传输类型

(将文件传输类型设置为与 TENEX 机器通信所需的文件传输类型。)

5.29 type

FTP >type 设置或显示文件传送类型。
  格式:type [type-name]
  说明:type-name 指定文件传送类型。默认设置为 ascii。如果没有指定type-name,将显示当前的类型。

ftp> type
Using binary mode to transfer files.

6 其他命令

6.1 $(运行宏,不知道怎么个用法。。。)

FTP> $ macro_name

运行宏, macro_name为宏的名称

(执行用 macdef 命令定义的宏宏名称。参数被传递给 unglobbed 宏。)

6.2 macdef

定义宏功能

6.3 cr

触发回车换行功能

(在 ascii 类型文件检索期间切换回车剥离。在 ascii 类型的文件传输期间,记录由回车/换行序列表示。当 cr 开启时(默认值),从这个序列中删除回车符以符合 UNIX 单换行记录分隔符。非 UNIX 远程系统上的记录可能包含单个换行符;当进行 ascii 类型传输时,只有当 cr 关闭时,这些换行符才能与记录定界符区分开来。)

6.4 debug

FTP> debug 切换调试。

当调试打开时,发送到远程计算机的每个命令都打印,前面是字符串“>”。默认情况下,调试是关闭的。

(切换调试模式。如果指定了可选的调试值,则它用于设置调试级别。当调试打开时,ftp 打印发送到远程机器的每个命令,前面是字符串“–>”)

6.5 trace

FTP >trace 切换数据包跟踪。Trace在运行 ftp 命令时显示每个数据包的路由。(不知道怎么用。。)

6.6 status(显示 ftp 的当前状态)

FTP >status 显示 FTP 连接和切换的当前状态。

open前:

ftp> status   
Connected to 192.168.1.118.
No proxy connection.
Mode: stream; Type: binary; Form: non-print; Structure: file
Verbose: on; Bell: off; Prompting: on; Globbing: on
Store unique: off; Receive unique: off
Case: off; CR stripping: on
Ntrans: off
Nmap: off
Hash mark printing: off; Use of PORT cmds: on
Tick counter printing: off
Macros:
	asd
	ad
	aaa

open后:

ftp> status
Connected to 192.168.1.118.
No proxy connection.
Mode: stream; Type: binary; Form: non-print; Structure: file
Verbose: on; Bell: off; Prompting: on; Globbing: on
Store unique: off; Receive unique: off
Case: off; CR stripping: on
Ntrans: off
Nmap: off
Hash mark printing: off; Use of PORT cmds: on
Tick counter printing: off
Macros:
	asd
	ad
	aaa

bye后重新打开ftp(未open):

[root@RV1126_RV1109:/opt/ftp]# ./ftp
ftp> status
Not connected.
No proxy connection.
Mode: ; Type: ; Form: ; Structure: 
Verbose: on; Bell: off; Prompting: on; Globbing: on
Store unique: off; Receive unique: off
Case: off; CR stripping: on
Ntrans: off
Nmap: off
Hash mark printing: off; Use of PORT cmds: on
Tick counter printing: off

6.7 rstatus

显示远程服务器的状态

ftp> rstatus
211-FTP server status:
     Connected to ::ffff:192.168.1.114
     Logged in as yg
     TYPE: ASCII
     No session bandwidth limit
     Session timeout in seconds is 300
     Control connection is plain text
     Data connections will be plain text
     At session startup, client count was 1
     vsFTPd 3.0.3 - secure, fast, stable
211 End of status

6.8 system

显示远程主机类型,主要是版本与内核信息

(显示远程机器上运行的操作系统类型。)

ftp> system
215 UNIX Type: L8

6.9 verbose

FTP >verbose 切换 verbose 模式。如果打开,将显示所有ftp 响应。在文件传送完成后,将同时显示与传送效率有关的统计信息。默认情况下,verbose 是打开的。

(切换详细模式。在详细模式下,来自 FTP 服务器的所有响应都会显示给用户。此外,如果启用详细信息,则在文件传输完成时,会报告有关传输效率的统计信息。默认情况下,verbose 处于开启状态。)

显式本地和远程的区别貌似就是在命令前加个!

比如:

显示远程目录文件:ls或者dir

显示本地目录文件:!ls或者!dir

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值