Files
reference/docs/ftp.html
2024-09-24 07:02:37 +00:00

173 lines
20 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" data-color-mode="dark">
<head>
<meta charset="utf-8">
<title>ftp 备忘清单
&#x26; ftp cheatsheet &#x26; Quick Reference</title>
<meta content="width=device-width, initial-scale=1" name="viewport">
<meta description="此 ftp 备忘清单包含命令和使用 ftp 脚本实现自动化的技巧示例。
入门,为开发人员分享快速参考备忘单。">
<meta keywords="ftp,reference,Quick,Reference,cheatsheet,cheat,sheet">
<link rel="icon" href="data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%221em%22%20width%3D%221em%22%3E%20%3Cpath%20d%3D%22m21.66%2010.44-.98%204.18c-.84%203.61-2.5%205.07-5.62%204.77-.5-.04-1.04-.13-1.62-.27l-1.68-.4c-4.17-.99-5.46-3.05-4.48-7.23l.98-4.19c.2-.85.44-1.59.74-2.2%201.17-2.42%203.16-3.07%206.5-2.28l1.67.39c4.19.98%205.47%203.05%204.49%207.23Z%22%20fill%3D%22%23c9d1d9%22%2F%3E%20%3Cpath%20d%3D%22M15.06%2019.39c-.62.42-1.4.77-2.35%201.08l-1.58.52c-3.97%201.28-6.06.21-7.35-3.76L2.5%2013.28c-1.28-3.97-.22-6.07%203.75-7.35l1.58-.52c.41-.13.8-.24%201.17-.31-.3.61-.54%201.35-.74%202.2l-.98%204.19c-.98%204.18.31%206.24%204.48%207.23l1.68.4c.58.14%201.12.23%201.62.27Zm2.43-8.88c-.06%200-.12-.01-.19-.02l-4.85-1.23a.75.75%200%200%201%20.37-1.45l4.85%201.23a.748.748%200%200%201-.18%201.47Z%22%20fill%3D%22%23228e6c%22%20%2F%3E%20%3Cpath%20d%3D%22M14.56%2013.89c-.06%200-.12-.01-.19-.02l-2.91-.74a.75.75%200%200%201%20.37-1.45l2.91.74c.4.1.64.51.54.91-.08.34-.38.56-.72.56Z%22%20fill%3D%22%23228e6c%22%20%2F%3E%20%3C%2Fsvg%3E" type="image/svg+xml">
<link href="../style/style.css" rel="stylesheet">
<link href="../style/katex.css" rel="stylesheet">
</head>
<body><nav class="header-nav"><div class="max-container"><a href="../index.html" class="logo"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
<path d="m21.66 10.44-.98 4.18c-.84 3.61-2.5 5.07-5.62 4.77-.5-.04-1.04-.13-1.62-.27l-1.68-.4c-4.17-.99-5.46-3.05-4.48-7.23l.98-4.19c.2-.85.44-1.59.74-2.2 1.17-2.42 3.16-3.07 6.5-2.28l1.67.39c4.19.98 5.47 3.05 4.49 7.23Z" fill="#c9d1d9"></path>
<path d="M15.06 19.39c-.62.42-1.4.77-2.35 1.08l-1.58.52c-3.97 1.28-6.06.21-7.35-3.76L2.5 13.28c-1.28-3.97-.22-6.07 3.75-7.35l1.58-.52c.41-.13.8-.24 1.17-.31-.3.61-.54 1.35-.74 2.2l-.98 4.19c-.98 4.18.31 6.24 4.48 7.23l1.68.4c.58.14 1.12.23 1.62.27Zm2.43-8.88c-.06 0-.12-.01-.19-.02l-4.85-1.23a.75.75 0 0 1 .37-1.45l4.85 1.23a.748.748 0 0 1-.18 1.47Z" fill="#228e6c"></path>
<path d="M14.56 13.89c-.06 0-.12-.01-.19-.02l-2.91-.74a.75.75 0 0 1 .37-1.45l2.91.74c.4.1.64.51.54.91-.08.34-.38.56-.72.56Z" fill="#228e6c"></path>
</svg>
<span class="title">Quick Reference</span></a><div class="menu"><a href="javascript:void(0);" class="searchbtn" id="searchbtn"><svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 18 18">
<path fill="currentColor" d="M17.71,16.29 L14.31,12.9 C15.4069846,11.5024547 16.0022094,9.77665502 16,8 C16,3.581722 12.418278,0 8,0 C3.581722,0 0,3.581722 0,8 C0,12.418278 3.581722,16 8,16 C9.77665502,16.0022094 11.5024547,15.4069846 12.9,14.31 L16.29,17.71 C16.4777666,17.8993127 16.7333625,18.0057983 17,18.0057983 C17.2666375,18.0057983 17.5222334,17.8993127 17.71,17.71 C17.8993127,17.5222334 18.0057983,17.2666375 18.0057983,17 C18.0057983,16.7333625 17.8993127,16.4777666 17.71,16.29 Z M2,8 C2,4.6862915 4.6862915,2 8,2 C11.3137085,2 14,4.6862915 14,8 C14,11.3137085 11.3137085,14 8,14 C4.6862915,14 2,11.3137085 2,8 Z"></path>
</svg><span>搜索</span><span>⌘K</span></a><a href="https://github.com/jaywcjlove/reference/blob/main/docs/ftp.md" class="" target="__blank"><svg viewBox="0 0 36 36" fill="currentColor" height="1em" width="1em"><path d="m33 6.4-3.7-3.7a1.71 1.71 0 0 0-2.36 0L23.65 6H6a2 2 0 0 0-2 2v22a2 2 0 0 0 2 2h22a2 2 0 0 0 2-2V11.76l3-3a1.67 1.67 0 0 0 0-2.36ZM18.83 20.13l-4.19.93 1-4.15 9.55-9.57 3.23 3.23ZM29.5 9.43 26.27 6.2l1.85-1.85 3.23 3.23Z"></path><path fill="none" d="M0 0h36v36H0z"></path></svg><span>编辑</span></a><button id="darkMode" type="button"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="light" height="1em" width="1em">
<path d="M6.995 12c0 2.761 2.246 5.007 5.007 5.007s5.007-2.246 5.007-5.007-2.246-5.007-5.007-5.007S6.995 9.239 6.995 12zM11 19h2v3h-2zm0-17h2v3h-2zm-9 9h3v2H2zm17 0h3v2h-3zM5.637 19.778l-1.414-1.414 2.121-2.121 1.414 1.414zM16.242 6.344l2.122-2.122 1.414 1.414-2.122 2.122zM6.344 7.759 4.223 5.637l1.415-1.414 2.12 2.122zm13.434 10.605-1.414 1.414-2.122-2.122 1.414-1.414z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" class="dark" height="1em" width="1em">
<path d="M12 11.807A9.002 9.002 0 0 1 10.049 2a9.942 9.942 0 0 0-5.12 2.735c-3.905 3.905-3.905 10.237 0 14.142 3.906 3.906 10.237 3.905 14.143 0a9.946 9.946 0 0 0 2.735-5.119A9.003 9.003 0 0 1 12 11.807z"></path>
</svg>
</button><script src="../js/dark.js?v=1.5.6"></script><a href="https://github.com/jaywcjlove/reference" class="" target="__blank"><svg viewBox="0 0 16 16" fill="currentColor" height="1em" width="1em"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a></div></div></nav><div class="wrap h1body-exist max-container"><header class="wrap-header h1wrap"><h1 id="ftp-备忘清单"><svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
<path d="M107.946667 838.4l57.173333 23.893333v-385.28l-103.68 250.026667c-17.493333 43.52 3.413333 93.44 46.506667 111.36z m832-157.866667L728.32 169.813333a85.888 85.888 0 0 0-77.226667-52.48c-11.093333 0-22.613333 1.706667-33.706666 6.4L302.933333 253.866667a85.290667 85.290667 0 0 0-46.08 110.933333l211.626667 510.72a85.248 85.248 0 0 0 110.933333 46.08l314.026667-130.133333a85.077333 85.077333 0 0 0 46.506667-110.933334zM336.213333 373.333333c-23.466667 0-42.666667-19.2-42.666666-42.666666s19.2-42.666667 42.666666-42.666667 42.666667 19.2 42.666667 42.666667-19.2 42.666667-42.666667 42.666666z m-85.333333 469.333334c0 46.933333 38.4 85.333333 85.333333 85.333333h61.866667l-147.2-355.84v270.506667z"></path>
</svg><a aria-hidden="true" tabindex="-1" href="#ftp-备忘清单"><span class="icon icon-link"></span></a>ftp 备忘清单</h1><div class="wrap-body">
<p>此 ftp 备忘清单包含命令和使用 ftp 脚本实现自动化的技巧示例。</p>
</div></header><div class="menu-tocs"><div class="menu-btn"><svg aria-hidden="true" fill="currentColor" height="1em" width="1em" viewBox="0 0 16 16" version="1.1" data-view-component="true">
<path fill-rule="evenodd" d="M2 4a1 1 0 100-2 1 1 0 000 2zm3.75-1.5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zM3 8a1 1 0 11-2 0 1 1 0 012 0zm-1 6a1 1 0 100-2 1 1 0 000 2z"></path>
</svg></div><div class="menu-modal"><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#入门">入门</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#介绍">介绍</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#选项">选项</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#目录操作">目录操作</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#快速开始">快速开始</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#文件操作">文件操作</a><a aria-hidden="true" class="leve2 tocs-link" data-num="2" href="#脚本">脚本</a><a aria-hidden="true" class="leve3 tocs-link" data-num="3" href="#样例">样例</a></div></div><div class="h1wrap-body"><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="入门"><a aria-hidden="true" tabindex="-1" href="#入门"><span class="icon icon-link"></span></a>入门</h2><div class="wrap-body">
</div></div><div class="h2wrap-body"><div class="wrap h3body-not-exist col-span-2"><div class="wrap-header h3wrap"><h3 id="介绍"><a aria-hidden="true" tabindex="-1" href="#介绍"><span class="icon icon-link"></span></a>介绍</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2-->
<ul>
<li>FTP 命令允许用户通过FTPFile Transfer Protocol协议在本地计算机和远程服务器之间传输文件。</li>
<li>FTP 是一种在网络上交换文件的标准协议,是 ARPANet 的标准文件传输协议ARPANet 网络就是现今 Internet 的前身。</li>
<li>使用 FTP 协议时,一方充当客户端,另一方充当服务器,客户端可以上传、下载、删除、重命名文件和目录,以及执行其他文件传输相关的操作。</li>
</ul>
</div></div></div><div class="wrap h3body-not-exist row-span-3"><div class="wrap-header h3wrap"><h3 id="选项"><a aria-hidden="true" tabindex="-1" href="#选项"><span class="icon icon-link"></span></a>选项</h3><div class="wrap-body">
<!--rehype:wrap-class=row-span-3-->
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">ftp</span> <span class="token parameter variable">-v</span> ftp.example.com
</span></code></pre>
<p><code>-v</code>:启用或禁用详细模式。在详细模式下,<code>ftp</code>命令会显示所有来自服务器的响应消息。默认情况下,该选项为开启状态。</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">ftp</span> <span class="token parameter variable">-d</span> ftp.example.com
</span></code></pre>
<p><code>-d</code>启用调试模式。该选项会显示所有FTP传输过程中发送和接收到的命令有助于调试连接问题。</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">ftp</span> <span class="token parameter variable">-n</span> ftp.example.com
</span></code></pre>
<p><code>-n</code>:禁止自动登录。默认情况下,<code>ftp</code>命令会在连接到远程服务器后尝试自动登录。使用该选项可以禁止该行为,通常与<code>.netrc</code>文件联合使用。</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">ftp</span> <span class="token parameter variable">-g</span> ftp.example.com
</span></code></pre>
<p>禁用文件名通配符扩展。<code>ftp</code>命令默认会展开文件名中的通配符。使用该选项可以关闭这一行为。</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">ftp</span> <span class="token parameter variable">-p</span> ftp.example.com
</span></code></pre>
<p><code>-p</code>使用被动模式PASV进行数据连接。被动模式在客户端位于防火墙或NAT后面时非常有用。</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">ftp</span> <span class="token parameter variable">-s:script.txt</span> ftp.example.com <span class="token comment"># Windows</span>
</span><span class="code-line"><span class="token function">ftp</span> <span class="token parameter variable">-n</span> ftp.example.com <span class="token operator">&#x3C;</span> script <span class="token comment"># Linux</span>
</span></code></pre>
<p>⚠️ Windows 上使用<code>-s</code>选项指定<code>script.txt</code>脚本执行 ftp 命令。Linux 上可以使用重定向实现。</p>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="目录操作"><a aria-hidden="true" tabindex="-1" href="#目录操作"><span class="icon icon-link"></span></a>目录操作</h3><div class="wrap-body">
<table><thead><tr><th>命令</th><th>描述</th></tr></thead><tbody><tr><td><code>cd</code></td><td>更改当前工作目录到指定目录</td></tr><tr><td><code>ls</code><code>dir</code></td><td>列出当前目录下的内容</td></tr><tr><td><code>pwd</code></td><td>显示当前目录的绝对路径</td></tr><tr><td><code>mkdir</code></td><td>创建目录</td></tr><tr><td><code>rmdir</code></td><td>删除一个目录</td></tr><tr><td><code>rename &#x3C;old> &#x3C;new></code></td><td>重命名一个目录</td></tr></tbody></table>
</div></div></div><div class="wrap h3body-not-exist row-span-2"><div class="wrap-header h3wrap"><h3 id="快速开始"><a aria-hidden="true" tabindex="-1" href="#快速开始"><span class="icon icon-link"></span></a>快速开始</h3><div class="wrap-body">
<!--rehype:wrap-class=row-span-2-->
<p>使用匿名模式访问远程 FTP 服务器</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">ftp</span> ftp.example.com
</span></code></pre>
<p>ftp 会启动交互式命令行</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">Connected to <span class="token operator">&#x3C;</span>host<span class="token operator">></span> <span class="token punctuation">(</span><span class="token operator">&#x3C;</span>ip address<span class="token operator">></span><span class="token punctuation">)</span>.
</span><span class="code-line"><span class="token number">220</span> <span class="token punctuation">(</span>vsFTPd <span class="token number">3</span>.*<span class="token punctuation">)</span>
</span><span class="code-line"><span class="token comment"># 需要手动输入 anonymous </span>
</span><span class="code-line">Name <span class="token punctuation">(</span><span class="token number">192.168</span>.10.10:root<span class="token punctuation">)</span>: anonymous
</span><span class="code-line"><span class="token number">331</span> Please specify the password.
</span><span class="code-line">Password: <span class="token comment"># 匿名模式下直接回车</span>
</span><span class="code-line"><span class="token number">230</span> Login successful.
</span><span class="code-line">Remote system <span class="token builtin class-name">type</span> is UNIX.
</span><span class="code-line">Using binary mode to transfer files.
</span></code></pre>
<p>连接成功后进入交互式会话.</p>
<p>查看所有命令,使用 <code>helm</code><code>?</code></p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">ftp<span class="token operator">></span> <span class="token builtin class-name">help</span>
</span><span class="code-line"><span class="token comment"># 或者</span>
</span><span class="code-line">ftp<span class="token operator">></span> ?
</span></code></pre>
</div></div></div><div class="wrap h3body-not-exist"><div class="wrap-header h3wrap"><h3 id="文件操作"><a aria-hidden="true" tabindex="-1" href="#文件操作"><span class="icon icon-link"></span></a>文件操作</h3><div class="wrap-body">
<table><thead><tr><th>命令</th><th>描述</th></tr></thead><tbody><tr><td><code>get &#x3C;remote> &#x3C;local></code></td><td>下载一个文件到本地</td></tr><tr><td><code>mget</code></td><td>下载多个文件到本地</td></tr><tr><td><code>put &#x3C;local> &#x3C;remote></code></td><td>上传一个文件到服务器</td></tr><tr><td><code>mput</code></td><td>上传多个文件到服务器</td></tr><tr><td><code>delete &#x3C;remote></code></td><td>删除一个文件</td></tr><tr><td><code>rename &#x3C;old> &#x3C;new></code></td><td>重命名一个文件</td></tr></tbody></table>
</div></div></div></div></div><div class="wrap h2body-exist"><div class="wrap-header h2wrap"><h2 id="脚本"><a aria-hidden="true" tabindex="-1" href="#脚本"><span class="icon icon-link"></span></a>脚本</h2><div class="wrap-body">
</div></div><div class="h2wrap-body"><div class="wrap h3body-not-exist col-span-3"><div class="wrap-header h3wrap"><h3 id="样例"><a aria-hidden="true" tabindex="-1" href="#样例"><span class="icon icon-link"></span></a>样例</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-3-->
<p>以匿名登录为例,将下列脚本代码放入文件 <code>script</code> 中:</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">user anonymous <span class="token string">"<span class="token entity" title="\n">\n</span>"</span> <span class="token comment"># 匿名用户</span>
</span><span class="code-line">binary <span class="token comment"># 将文件传输模式设置为二进制模式,这对于非文本文件(如图片、压缩文件等)来说是必要的,以确保文件在传输过程中不会被更改。</span>
</span><span class="code-line"><span class="token function">ls</span> <span class="token operator">&#x3C;</span>dir<span class="token operator">></span> <span class="token comment"># 进入某个目录</span>
</span><span class="code-line"><span class="token builtin class-name">pwd</span> <span class="token comment"># 输出当前路径</span>
</span><span class="code-line">quit <span class="token comment"># 退出 ftp 连接</span>
</span></code></pre>
<p>使用 <code>ftp</code> 命令执行脚本文件:</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">ftp</span> <span class="token parameter variable">-n</span> ftp.example.com <span class="token operator">&#x3C;</span> script <span class="token comment"># 使用 -n 选项禁止自动登录,这样会继续执行 user 指令,而不是启动交互式命令行。</span>
</span></code></pre>
</div></div></div></div></div></div><script src="https://giscus.app/client.js" data-repo="jaywcjlove/reference" data-repo-id="R_kgDOID2-Mw" data-category="Q&#x26;A" data-category-id="DIC_kwDOID2-M84CS5wo" data-mapping="pathname" data-strict="0" data-reactions-enabled="1" data-emit-metadata="0" data-input-position="bottom" data-theme="dark" data-lang="zh-CN" crossorigin="anonymous" async></script><div class="giscus"></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 <a href="https://wangchujiang.com/#/app" target="_blank">Kenny Wang</a>.</footer></footer><script src="../data.js?v=1.5.6" defer></script><script src="../js/fuse.min.js?v=1.5.6" defer></script><script src="../js/main.js?v=1.5.6" defer></script><div id="mysearch"><div class="mysearch-box"><div class="mysearch-input"><div><svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 18 18">
<path fill="currentColor" d="M17.71,16.29 L14.31,12.9 C15.4069846,11.5024547 16.0022094,9.77665502 16,8 C16,3.581722 12.418278,0 8,0 C3.581722,0 0,3.581722 0,8 C0,12.418278 3.581722,16 8,16 C9.77665502,16.0022094 11.5024547,15.4069846 12.9,14.31 L16.29,17.71 C16.4777666,17.8993127 16.7333625,18.0057983 17,18.0057983 C17.2666375,18.0057983 17.5222334,17.8993127 17.71,17.71 C17.8993127,17.5222334 18.0057983,17.2666375 18.0057983,17 C18.0057983,16.7333625 17.8993127,16.4777666 17.71,16.29 Z M2,8 C2,4.6862915 4.6862915,2 8,2 C11.3137085,2 14,4.6862915 14,8 C14,11.3137085 11.3137085,14 8,14 C4.6862915,14 2,11.3137085 2,8 Z"></path>
</svg><input id="mysearch-input" type="search" placeholder="搜索" autocomplete="off"><div class="mysearch-clear"></div></div><button id="mysearch-close" type="button">搜索</button></div><div class="mysearch-result"><div id="mysearch-menu"></div><div id="mysearch-content"></div></div></div></div></body>
</html>