lftpの覚書

ssh経由で自宅サーバを操作し、外部のFTPサーバからモノを落としてくる事が多い。

自宅サーバは UTF-8 な Debian の為、相手のFTPサーバがWindows環境(ShiftJIS)だとキャラクタセットの差異が問題となってくる。

そこで、lftp では以下のようにすると、キャラクタセットを正しく変換し、操作する事が出来る。

$ lftp
lftp :~> set ftp:charset Shift_JIS
lftp :~> open ftp.example.com
lftp :~> user dyama
パスワード:
lftp dyama@ftp.example.com:/>

ファイルを取得する際によく使うコマンドは、

lftp dyama@ftp.example.com:~> help mget
使い方: mget [OPTS] <files>
ワイルドカード展開によって選択された複数のファイルを取得します
-c  継続してダウンロード、reget と同じ
-d  ファイル名と同じ名前のディレクトリを作成して、取得したファイルを
現在のディレクトリではなくそこに送る
-E  転送が成功したらリモートファイルを削除する
-a  アスキーモードを使う (デフォルトではバイナリ)
-O <base> ファイルが置かれるベースディレクトリか URL を指定する

また、大量のファイルを取得する際には queue コマンドにてキューとして追加すれば便利。

# ↓ダウンロードキューに追加
lftp dyama@ftp.example.com:~> queue get "ほげほげ 01.mp4"
# ↓キューを確認
lftp dyama@ftp.example.com:~> queue
ftp://dyama@ftp.example.com/
現在実行中: [1] get ほげほげ 第01話.mp4

また、ローカルに対してコマンドを発行したい場合は、

lftp dyama@ftp.example.com:~> !ls
lftp dyama@ftp.example.com:~> !pwd

のように、コマンドの頭に”!”を付ける。

投稿者:

dyama

システムエンジニアです。佐世保に住んでいます。

コメントを残す

メールアドレスが公開されることはありません。