レンタルサーバーを借りてブログを始めると、必要に応じてサーバーのデータをダウンロードしたり、サーバーへアップロードしたりといった作業が出てきます。多くの人は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 hogehoge.sakura.ne.jp Connected to hogehoge.sakura.ne.jp. 220 ProFTPD 1.3.5a Server (SAKURA Internet FTP Server) Name (hogehoge.sakura.ne.jp): ‘user_name' 331 Password required for ‘user_name' Password: 'password'
◆ ユーザー名も指定してコマンド実行した場合はパスワードだけ求めてきます。
$ ftp user_name@hogehoge.sakura.ne.jp Connected to hogehoge.sakura.ne.jp. 220 ProFTPD 1.3.5a Server (SAKURA Internet FTP Server) 331 Password required for ‘user_name' Password: ‘password'
「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 user_name@hogehoge.sakura.ne.jp user_name@hogehoge.sakura.ne.jp’s password: ‘password' Connected to hogehoge.sakura.ne.jp.
「sftp>」プロンプトが表示されれば接続完了です。この状態で対話型コマンドを使ってファイルの操作を行います。
【対話型コマンド】
pwd | 現在のサーバー側ディレクトリを表示する。 |
lpwd | 現在のクライアント側ディレクトリを表示する。 |
cd | サーバー側ディレクトリを移動する。 |
lcd | クライアント側ディレクトリを移動する。 |
ls | 現在のサーバー側ディレクトリの内容を表示する。 |
lls | 現在のクライアント側ディレクトリの内容を表示する。 |
get | 指定した1つのファイルをダウンロードする。 |
mget | 指定した複数のファイルをダウンロードする。 |
put | 指定した1つのファイルをアップロードする。 |
mput | 指定した複数のファイルをアップロードする。 |
rm | 指定したファイルを削除する。 |
exit もしくは bye | サーバーと切断しSFTPコマンドを終了する |
*よく使うものだけ紹介しました。他にもコマンドはいくつかあるので、興味のある方は検索してみてください。