メインコンテンツへスキップ

sftpコマンドによるファイル転送

·1270 文字·3 分
目次

はじめに
#

sftpコマンドを使ったファイル転送や、ディレクトリ関連の操作に関する方法をまとめました。SFTP (SSH File Transfer Protocol) は、暗号化された通信経路によって、ファイルを送受信するプロトコルです。

リモートマシンへのログイン
#

まず、以下のコマンドでリモートマシンへログインします。

$ sftp <ユーザ名>@<IPアドレス>
# 例
$ sftp admin@192.0.2.1

ログイン時にパスワードを求められます。ログインすると、プロンプトがsftp>に変わります。

sftp>

また、-Pオプションでポート番号を指定できます。指定しない場合のデフォルトのポートは、SSH接続で通常使用される22番になります。

# 2222番ポートで接続する例
$ sftp -P 2222 admin@192.0.2.1

ファイルの送受信
#

ファイルの送信
#

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

$

参考
#

sftp(1) - OpenBSD manual pages

Helve
著者
Helve
関西在住、電機メーカ勤務のエンジニア。X(旧Twitter)で新着記事を配信中です

関連記事

Linux MintのライブUSBをWindows10で作る
·1224 文字·3 分
Linux Mint v20.3のライブUSBを作成してPCにインストールしたので、手順を備忘録として残します。
JupyterLab, Jupyter Notebookを任意のディレクトリで起動する【Windows環境】
·1354 文字·3 分
JupyterLabまたはJupyter Notebookを任意のディレクトリで起動する方法を説明します。Windows環境でAnaconda PowerShell Promptを使用します。
CasADiで最適化の変数と制約をベクトル化する
·1082 文字·3 分
最適化フレームワークCasADiのOptiスタックで、多変数の最適化を簡潔に記述するため、変数と制約をベクトル化する方法をまとめました。
Hugoコマンドのチートシート
·478 文字·1 分
静的サイトジェネレータHugoのコマンドチートシートです。
CasADiのSX, MX, DMクラスを比較する
·1295 文字·3 分
最適化ライブラリCasADiにおいて行列を扱うSX, MX, DMクラスの違いをまとめました。
Windows 10 HomeにDocker Desktopをインストールする
·996 文字·2 分
Windows 10 HomeにDocker Desktopをインストールする手順を備忘録として残します。