標準のftpよりベターなコマンドライン用FTPツール NcFTP


MacやLinuxでFTPを扱う場合、コマンドラインではftpコマンドが標準で使えます。
ただし、このコマンドは素朴すぎて、実務では少し煩雑に思えます。

一方、FileZillaなどのGUI型FTPクライアントはかなり高機能なものも無料でありますが、コマンドラインで作業を済ませたい場合にはかえって煩雑です。

そこで、標準のftpコマンドよりもベターなCUI(CLI)型のFTPクライアントであるNcFTPを紹介します。

(注意:SSH経由のFTP(SFTP)が使える場合は、sftpの使用を検討してください。)

特徴

  • 接続したホストをブックマークに登録できる。
    • 初回接続時にbookmarkコマンドで登録すれば、次回からは、ブックマークを使ってホストにアクセスできる
  • get/putでワイルドカードや各種オプションが使用できる。
  • 付属のncftpget/ncftpputコマンドを使えば、Unixシェルから直接get/putができる。

インストール

Macの場合(Homebrew)

brew install ncftp

Linuxも、各種パッケージマネージャに入っていると思いますので、説明は割愛します。

使い方

接続

ncftp -u [username] [hostname]

すると、パスワードを聞かれるので入力します。次のプロンプトが出たら成功です:

User foo logged in.
Logged in to hogehoge.com.
ncftp / >

ブックマーク


接続できたら、その設定をブックマークに入れておきましょう。

ncftp / > bookmark
Enter a name for this bookmark, or hit enter for "hoge": [付けたいブックマーク名を入力]

You logged into this site using a password.
Would you like to save the password with this bookmark?

Save? [no] yes ←ここでyesと入力する
Bookmark "foo" saved.

ブックマークされた設定は、bookmarksコマンドで参照できます。

ダウンロード(get)/アップロード(put)

ncftp本体を使う場合
  • リモートからローカルへファイルをダウンロードしたいとき: get
  • ローカルからリモートへファイルをアップロードしたいとき: put

get/putともに、ワイルドカードが使えます。再帰的に(サブディレクトリごと)get/putしたい場合は-Rオプションを付けます。

get file1 file2
get README*
get -R *         ## ディレクトリ全体をダウンロード

put xx.zip yy.zip
put *.zip
put -R *
付属ツールncftpget/ncftpputを使う場合

あらかじめブックマークを登録しておけば、その名前のサーバに対して、Unixシェルから直接get/putができます。

ncftpget [options] bookmark-name local-directory remote-files...
ncftpput [options] bookmark-name remote-directory local-files...

設定

  • 設定の確認はprefsコマンドで確認できます。
  • 設定を変える場合は、set <option> <value>で設定できます。

自分の設定:

set auto-resume yes
set autosave-bookmark-changes yes
set pager more
set save-passwords yes
set show-status-in-xterm-titlebar yes

具体的な設定項目はMan Page(man ncftpまたはncftp(1) manual page)の「Variable Reference」の項を参照してください。

参考

NcFTP Software
http://www.ncftp.com/

ncftp(1) manual page
http://www.ncftp.com/ncftp/doc/ncftp.html

Man page of NcFTP (日本語訳)
https://linuxjm.osdn.jp/html/ncftp/man1/ncftp.1.html

ncftp - 高機能 ftpクライアント - 会津大学UNIXウィキ
http://technique.sonots.com/?UNIX%2F%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%2F%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%2Fncftp