ftp – ファイル転送プロトコルクライアント

リモートアクセス

ftp コマンドは、FTP (File Transfer Protocol) サーバーに接続し、ファイルのアップロードやダウンロードを行うためのコマンドラインツールです。
現在ではセキュリティ上の理由からあまり使われず、代わりに sftpscp が推奨されますが、レガシー環境では利用されることがあります。

構文(Syntax)

ftp [オプション] [ホスト]

主なオプション一覧

オプション説明使用例
<host>接続先 FTP サーバーを指定ftp ftp.example.com
-pパッシブモードで接続ftp -p ftp.example.com
-n自動ログインを無効化ftp -n ftp.example.com
-v詳細出力を有効化ftp -v ftp.example.com
-i対話なしモード(mget/mput で確認を省略)ftp -i ftp.example.com

FTP セッション内の主なコマンド

コマンド説明使用例
open <host>サーバーに接続open ftp.example.com
user <username> <password>ログインuser alice secret
lsサーバー上のファイルを一覧表示ls
cd <dir>サーバー側のディレクトリ移動cd uploads
lcd <dir>ローカルディレクトリを変更lcd /home/user/downloads
get <file>ファイルをダウンロードget report.txt
mget <files>複数ファイルをダウンロードmget *.txt
put <file>ファイルをアップロードput local.txt
mput <files>複数ファイルをアップロードmput *.jpg
binaryバイナリ転送モードに切り替えbinary
asciiASCII 転送モードに切り替えascii
delete <file>サーバー上のファイルを削除delete old.txt
bye または quitセッション終了bye

実行例

FTP サーバーに接続

ftp ftp.example.com

出力例:

Connected to ftp.example.com.
220 (vsFTPd 3.0.3)
Name (ftp.example.com:user):

ログイン

user alice secret

ファイルをダウンロード

get report.txt

ファイルをアップロード

put data.csv

複数ファイルをまとめてダウンロード

mget *.log

セッション終了

bye

エラー例(サーバーが応答しない場合)

ftp ftp.notfound.com

出力例:

ftp: Can't connect to `ftp.notfound.com': Connection timed out
ftp: Try again later

関連コマンド

  • sftp : SSH 経由の安全なファイル転送。
  • scp : SSH を利用したファイルコピー。
  • lftp : 高機能な FTP/HTTP クライアント。

備考

  • FTP は暗号化されていないため、パスワードやデータが平文で流れます。
  • 近年は FTPS (FTP over SSL/TLS)SFTP (SSH File Transfer Protocol) の利用が推奨されています。
  • 一部の Linux ディストリビューションでは ftp コマンドがデフォルトでインストールされていない場合があります。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント