lftpの基本操作・ヘルプ・マニュアルについて【シェルスクリプト】
- 最終更新:
- 公開日:
lftpはFTPS(SSL)もSFTP(SSH)も使える優れたコマンドです。
ここでは、そんなlftpの基本的な使い方を、簡単にまとめておきます。
もう少し実践的な利用の方法については、別のページで紹介します。
lftpはかなり機能が豊富なので、コマンドで見られるヘルプやマニュアルも適宜参照できるようにした方が良さそうです。
実践した環境は、LinuxのDebian9、lftp4.7.4です。
lftpのインストールと起動と終了
私の環境ではlftpがインストールされていませんでしたが、パッケージには含まれていたので、コマンドからapt-getでインストールを行いました。
#lftpのインストール
$ sudo apt-get install lftp
#lftpを起動
$ lftp
#lftpの終了
lftp :~> quit
lftp上のコマンドとスクリプト
lftpは、このコマンドで直接サーバーに接続することもできますが、lftpを立ち上げた上で、lftp上のコマンドを使って操作をするようになっています。
また、サーバーに接続する際に、コマンドに直接FTPパスワード等を入力するのはよろしくないということで、一行で済むものであっても、基本的にはスクリプトに書いて実行した方が良いということも知っておきたいところです。
サーバーにログインするスクリプト
lftpでサーバーに接続するには、オプション「-u」をつけて、ユーザー名とパスワードをカンマを挟んで記載し、FTPアドレスを指定します。
サーバー上で任意の操作をしたい場合には、こういう形で接続した方が良さそうです。
ちなみに、lftp上でもTab補完の機能は使えます。
#lftpでそのまま接続する基本形
$ lftp -u user,pass ftp-adress
#デバックモード
$ lftp -d -u user,pass ftp-adress
#現在のサーバーディレクトリを一覧
server:~> ls
接続情報などの詳細をコマンドの標準出力で表示したい場合には、オプション「-d」をつけるとデバックモードで接続します。
デバックモードで接続した上で、試しにコマンド「ls」を入力してみると、色々と表示されるはずです。どうにも接続がうまくいかないといった場合に、こういったデバック情報を利用してみると良いでしょう。
色々な処理をさせるスクリプト
まとめて処理する内容があらかじめ決まっている場合には、ヒアドキュメントを使った書き方があります。
オプション「-f」をつけて別スクリプトを読み込む方法もあるようですが、変数の使い方が分からなかったので、私はヒアドキュメントの方を使っています。
以下は、隠しファイルも表示できるように設定を変更した上で、サーバーに接続し、そのディレクトリのファイル等一覧を表示させて終了するだけの例です。
#ヒアドキュメントを使う例
lftp <<EOF
set ftp:list-options -a
open -u user,pass ftp-adress
ls
quit
EOF
「set」は設定変更のコマンド、「open」はlftp上でサーバーに接続するコマンド、「ls」はファイル等を表示させるコマンドです。
処理が終わるとlftpも終了してしまうので、任意の処理をしたい場合には、この方法は使えないかもしれません。
lftpのヘルプとマニュアル
lftpは機能が豊富ですし、接続するサーバーも様々でしょうから、ヘルプやマニュアルを参照した方が良いです。
Linuxに慣れた方なら当たり前なのかもしれませんが、こういった操作に慣れていない私のような人のために、まとめてメモしておきます。
lftpを起動させた状態でヘルプを使えるのがポイントです。
#lftpコマンドのオプション一覧
$ lftp --help
#詳細マニュアル
$ man lftp
#lftp上で使えるコマンドの一覧を表示
lftp:~> help
#lftp上のコマンドそれぞれのヘルプ(「set」の例)
lftp:~> help set
ヘルプは英文のことも多いですし、詳細マニュアルはとても長いですから、これらからヒントを得て、ネットで検索してみるのも一つの手です。