MacではFTPコマンドを使ってしまう件

レンタルサーバーを借りてブログを始めると、必要に応じてサーバーのデータをダウンロードしたり、サーバーへアップロードしたりといった作業が出てきます。多くの人はFTPアプリを使ってUI上から操作してこの作業をしているかと思います。WindowsではFFFTPやWinSCPを使っている方も多いかと思います。MacではCyberduckやFileZillaあたりでしょうか。私もFTPアプリを使って作業していたのですが、Macで作業している時にはターミナルを使うことが増えてきて、そのままFTPもターミナルで実行するようになってきました。
そこでMacのターミナルを使ったFTPコマンドの使用方法をまとめました。接続先レンタルサーバーはさくらインターネットを例に説明しています。

FTP/SFTPコマンド
さくらインターネットでは通常のFTPコマンドとSFTP(Secure FTP)コマンドが使えます。普段はより安全に使用するためにSFTPコマンドを使うかと思いますが両方のコマンドについて簡単に説明します。

FTPの書式と対話型コマンド

データは暗号化されないのでセキュリティにおいて懸念があります。
【書式】
ftp [オプション] [(ユーザー名@)接続先サーバー]

・[オプション]は通常なにも指定することはないです。もしポート番号を指定することがあるときは「-P ポート番号」を入力します。指定しないときはポート番号21で接続します。
・[接続先サーバー]の指定はドメイン名を指定します。ここでユーザー名を指定することもできます。

◆ 接続先サーバーだけを指定した場合は、ユーザー名とパスワードを求めてきます。

 

◆ ユーザー名も指定してコマンド実行した場合はパスワードだけ求めてきます。

スポンサーリンク

「ftp>」プロンプトが表示されれば接続完了です。この状態で対話型コマンドを使ってファイルの操作を行います。

【対話型コマンド】

open FTPサーバーと接続する。FTPコマンドを接続先の指定なしに実行した場合はこのコマンドで接続可能。
close FTPサーバーを切断する。
pwd 現在のサーバー側ディレクトリを表示する。
!pwd 現在のクライアント側ディレクトリを表示する。
cd サーバー側ディレクトリを移動する。
!cd もしくは lcd クライアント側ディレクトリを移動する。
ls 現在のサーバー側ディレクトリの内容を表示する。
!ls 現在のクライアント側ディレクトリの内容を表示する。
get 指定した1つのファイルをダウンロードする。
mget 指定した複数のファイルをダウンロードする。
put 指定した1つのファイルをアップロードする。
mput 指定した複数のファイルをアップロードする。
delete 指定したファイルを削除する。
exit もしくは bye サーバーと切断しFTPコマンドを終了する

*よく使うものだけ紹介しました。他にもコマンドはいくつかあるので、興味のある方は検索してみてください。

SFTPの書式と対話型コマンド

SSHプロトコルを使って接続するのでデータが暗号化されよりセキュリティが確保できます。なので使用できる場合は普段このコマンドを使うかと思います。ここではパスワード認証の接続について説明しています。
【書式】
$ sftp [オプション] [ユーザー名@接続先サーバー名]

・[オプション]は通常なにも指定することはないです。もしポート番号を指定することがあるときは「-P ポート番号」を入力します。指定しないときはポート番号22で接続します。
・[接続先サーバー]の指定はドメイン名を指定します。[ユーザー名]は必ずここで指定します。

 

「sftp>」プロンプトが表示されれば接続完了です。この状態で対話型コマンドを使ってファイルの操作を行います。

【対話型コマンド】

pwd 現在のサーバー側ディレクトリを表示する。
lpwd 現在のクライアント側ディレクトリを表示する。
cd サーバー側ディレクトリを移動する。
lcd クライアント側ディレクトリを移動する。
ls 現在のサーバー側ディレクトリの内容を表示する。
lls 現在のクライアント側ディレクトリの内容を表示する。
get 指定した1つのファイルをダウンロードする。
mget 指定した複数のファイルをダウンロードする。
put 指定した1つのファイルをアップロードする。
mput 指定した複数のファイルをアップロードする。
rm 指定したファイルを削除する。
exit もしくは bye サーバーと切断しSFTPコマンドを終了する

*よく使うものだけ紹介しました。他にもコマンドはいくつかあるので、興味のある方は検索してみてください。