※記事内に商品プロモーションを含むことがあります。
はじめに
sftpコマンドを使ったファイル転送や、ディレクトリ関連の操作に関する方法をまとめました。SFTP (SSH File Transfer Protocol) は、暗号化された通信経路によって、ファイルを送受信するプロトコルです。
リモートマシンへのログイン
まず、以下のコマンドでリモートマシンへログインします。
$ sftp <ユーザ名>@<IPアドレス>
# 例
$ sftp [email protected]
ログイン時にパスワードを求められます。ログインすると、プロンプトがsftp>
に変わります。
sftp>
また、-P
オプションでポート番号を指定できます。指定しない場合のデフォルトのポートは、SSH接続で通常使用される22番になります。
# 2222番ポートで接続する例
$ sftp -P 2222 [email protected]
ファイルの送受信
ファイルの送信
put
コマンドでローカルマシンのファイルをリモート側に送信します。リモート側のパスを省略した場合、リモート側のカレントディレクトリに配置されます。
sftp> put <ローカルのファイル> [リモート側のパス]
# 例
sftp> put hoge.txt /home/
また、フォルダごと送信する場合、-r
オプションを付けます。r
は再帰的 (Recursive) の頭文字です。
# piyoフォルダの中身を全て送信する
sftp> put -r piyo/
ファイルの受信
get
コマンドでリモートマシンのファイルをローカル側に受信します。ローカル側のパスを省略した場合、ローカル側のカレントディレクトリに配置されます。
sftp> get <リモートのファイル> [ローカル側のパス]
# 例
sftp> get hoge.txt /home/
また、フォルダごと受信する場合、-r
オプションを付けます。
# piyoフォルダの中身を全て受信する
sftp> get -r piyo/
ディレクトリ関連の操作
カレントディレクトリの確認
sftpで接続した状態では、ローカルマシンとリモートマシンの両方のカレントディレクトリの情報を持った状態となります。それぞれlpwd
, pwd
コマンドで確認できます。
# ローカルマシンのカレントディレクトリ
sftp> lpwd
# リモートマシンのカレントディレクトリ
sftp> pwd
ファイルのリスト表示
ローカルマシンやリモートマシンのカレントディレクトリにあるファイルを一覧表示する場合、それぞれlls
, ls
コマンドを実行します。
# ローカルマシンのカレントディレクトリのファイルを表示
sftp> lls
# リモートマシンのカレントディレクトリのファイルを表示
sftp> ls
カレントディレクトリの移動
ローカルマシンやリモートマシンのカレントディレクトリを移動する場合、それぞれlcd
, cd
コマンドを実行します。
# ローカルマシンのディレクトリ移動
sftp> lcd <移動先のフォルダ>
# リモートマシンのディレクトリ移動
sftp> cd <移動先のフォルダ>
フォルダの新規作成
ローカルマシンやリモートマシンでフォルダを新規作成する場合、それぞれlmkdir
, mkdir
コマンドを実行します。
# ローカルマシンのフォルダ作成
sftp> lmkdir <フォルダ名>
# リモートマシンのフォルダ作成
sftp> mkdir <フォルダ名>
sftp接続の終了
sftp接続を終了するには、bye
, exit
, quit
のいずれかのコマンドを実行します。
sftp> bey
$