Skip to content

SFTP

SFTPのファイルブラウザー

SFTP画面では、接続先を選んだだけでは保存済みのサーバーへ接続しません。ホストを選んで[接続]を押したときに初めて接続します。保存済みのタブを復元した場合も、接続先と前回のパスを表示するだけで自動接続しません。ホスト選択画面では、名前、グループ、接続先ホスト、ユーザーで検索し、最近接続した順またはSSH Configのグループ別に表示できます。初めて接続する場合は、SFTPサーバーが返すログインユーザーのホームディレクトリを開きます。Terminalと同じSSH設定と保存済みの認証情報を使い、接続先のホスト鍵を検証します。

接続先を切り替えると、前の接続先の一覧と開いていたファイルをすぐに閉じます。切り替え前の通信が遅れて完了しても、その内容を新しい接続先の画面には表示しません。

同じ接続先への操作(一覧、詳細、プレビュー、編集、転送、CLIのsshc sftp)は、直前に使ったSFTP接続を再利用します。使わなくなった接続は60秒で閉じます。フォルダーを移動するたびにSSHの接続とワンタイムコードの入力をやり直すことはありません。開いているTerminalと同じく、Vaultをロックしても直前の接続はこの時間だけ残ります。

ファイル操作

  • リモートディレクトリの移動、作成、名前変更、chmod、削除
  • ファイルやフォルダーを、選択またはドラッグ&ドロップでアップロード
  • ファイルのダウンロード、フォルダーのZIPダウンロード
  • 2 MiB以下のUTF-8テキストを画面内で編集

一覧の先頭にある..で親ディレクトリへ移動します。上部の移動ボタンでは、訪れたディレクトリを戻る/進む、ホームディレクトリへ戻る、ルートディレクトリを開く操作ができます。現在のパスは階層ごとに移動できるbreadcrumbとして表示し、編集ボタンを押すとパスを直接入力できます。一覧は名前で絞り込めます。

行を1回選ぶか、チェックボックスを使うと、ダウンロード、名前変更、削除などの操作が選択ツールバーへ現れます。デスクトップではShift+クリックで範囲選択、Ctrl/Cmd+クリックで追加選択、Ctrl/Cmd+Aですべて選択できます。操作メニューでは選択を反転し、名前またはフルパスをまとめてコピーできます。権限変更と名前変更は、1件だけ選んだときに利用できます。

フォルダーをダブルクリックするか選択してEnterキーを押すと、そのフォルダーへ移動します。UTF-8テキストファイルに同じ操作をすると、編集画面が開きます。作成とアップロードは左上の+メニューにまとめています。

一覧は、名前、種類、サイズ、更新日時で並べ替えられます。サイズはKiB、MiB、GiBに換算して表示し、正確なバイト数は詳細ダイアログで確認できます。権限は名前の下に表示します。選択中の接続先とディレクトリはURLに反映されます。Terminalの操作メニューはこのURLを使い、使用中の接続先とリモートパスをSFTPで開きます。

デスクトップでは、タブをファイル一覧の上へドラッグして左右2つのペインに分けられます。ペインが1つのときは、一覧の左半分または右半分へ落とすと、そのタブがその側の新しいペインに移り、元のペインには空のタブが残ります。ペインが2つあるときは、もう一方のペインへ落とすとタブがそこへ移り、最後のタブが出て行ったペインは閉じます。ペインは最大2つで、境目のつまみで幅を変えられます。キーボードでは、タブを選んでShift+を押すと同じ操作ができます。左右に独立したタブ列と+があり、それぞれ最大8タブまで別の接続先やディレクトリを開けます。タブの幅は接続先名の長さに関わらず一定で、ペインの幅を超えると縮んでから横へスクロールでき、+は右端に残ります。各タブの接続先と開いていた場所、ペインの分け方は端末に保存されます。

ファイルやフォルダーを、現在表示している一方のタブから反対側のタブへドラッグすると、別の接続先ならコピーまたは移動を選べます。同じ接続先の別のディレクトリへ落とした場合は、デスクトップのファイルマネージャーと同じくそのまま移動します。元のディレクトリへ落とし直した場合は何もしません。データは2つのSFTP接続間で直接ストリームされ、ローカル端末へ平文の一時ファイルを作りません。同じ接続先の移動では、可能な場合はサーバー上のrenameを使います。

アップロードしたファイルには元の更新日時を付けます(ブラウザーからのアップロード、CLIのput、ホスト間コピー、ローカルとの転送)。新しく作られるファイルの権限はサーバーの既定(umask)に従い、上書きしたファイルは元の権限を保ちます。

シンボリックリンクは、一覧に「名前 → リンク先」の形で表示します。ディレクトリへのリンクはフォルダーとして開け、ファイルへのリンクは詳細、プレビュー、編集、ダウンロードでリンク先のファイルを扱います。編集して保存するとリンク先のファイルが書き換わり、リンク自体は残ります。リンク先が見つからないリンクは「(見つかりません)」と表示し、開けません。コピー、移動、削除、比較、エンジンとの転送はリンクを辿らず、リンク自体を対象にします。

左右に独立したタブを持つSFTPの2ペイン表示

2ペインの[比較]では、左右で現在選択している2つのタブのディレクトリを再帰的に調べます。サイズ、更新日時、権限、種類などを基準に、「左側にのみ存在」「右側にのみ存在」「差分あり」「種類が不一致」へ分類して表示します。必要な項目だけを選び、左から右または右から左へコピーできます。コピー元にないファイルがコピー先に存在しても、自動では削除しません。

2つのリモートディレクトリの比較プレビュー

各ペインの操作メニューから「この場所でTerminalを開く」を選ぶと、その接続先へSSH接続して現在のディレクトリへ移動します。反対に、SSH TerminalがOSC 7で通知した現在のディレクトリは、Terminalの操作メニューからSFTPで開けます。

デスクトップでは、2ペインでそれぞれが狭くなっても一覧の列は減らさず、テーブルを横にスクロールして見ます。スマートフォンではファイル名を主表示とし、権限、サイズ、更新日時をその下の1行へまとめ、横スクロールできるタブ列と左のペインだけを表示します。タブのドラッグ、右ペインの接続、比較処理は動かしません。デスクトップへ戻ると、右のペインとそのタブを再び利用できます。

転送マネージャー

ファイル一覧の下部にある転送マネージャーでは、ファイルとフォルダーを1つのキューで管理し、既定では2件、設定により1〜8件を同時に転送できます。通常は転送件数、全体の進捗、速度だけを表示します。展開すると、ファイルごとの進捗、速度、残り時間を確認し、すべての転送の一時停止、再開、キャンセルや、失敗したファイルの再実行を行えます。

通常ファイルはアップロード、ダウンロードともに512 GiBまで対応します。初期設定では1つのSFTP接続で転送します。転送マネージャーの設定で接続数を2以上にすると、100 MiB以上のファイルを32 MiB単位に分け、指定した数の独立したSFTP接続で並列転送します。ワンタイムコードで認証するホストは、設定に関わらず1接続で転送します。アップロードはリモート側の一時ファイルの重ならない範囲へ書き込み、内容全体を検証してから正式なファイル名へ置き換えます。接続が切れた場合は、エンジンに保存された完了済みチャンクから再開できます。ダウンロードはHTTP Rangeにより、保存済みのローカルデータとリモートのリビジョンが一致すれば途中から再開します。転送がなくても転送マネージャーを展開でき、分割開始サイズ、接続数(1〜128)、チャンクサイズを範囲内の任意の整数へ変更できます。接続数を1にすると分割を無効にできます。安全に再開できる状態を作るため、エンジンの一時領域にはダウンロードするファイルと同程度の空き容量が必要です。

キューと状態はエンジンが保存します。エンジンを再起動しても、待機中、一時停止中、再開可能な転送は復元されます。Remote→Remote転送はエンジンだけで動くため、SFTP画面やブラウザーを閉じても継続します。

端末上のローカルファイルを読み書きするアップロード/ダウンロード処理はブラウザー/WebViewが担当します。同じアプリ内でSFTP画面から移動しても転送は続きますが、ブラウザーやWebViewを閉じるとデータの送受信は停止します。再読み込み後のアップロードには同じローカルファイルの再選択が必要です。フォルダーのZIPダウンロードは途中から再開せず、先頭からやり直します。

操作方法や再開できる条件は、転送マネージャーを参照してください。