Top > Unix > lftp

lftp Edit

lftp は高機能なコマンドライン FTP クライアント。

接続 Edit

lftp ホスト名 -u ユーザ名,パスワード

ミラーリング(ダウンが mirror、アップが mirror -R) Edit

lftp-mirror.gif

ディレクトリ指定は1個までしかできない

○mirror sub
×mirror sub service cgi-bin

サスペンド Edit

Ctrl+Zではサスペンドできない。suspendというコマンドでサスペンドできる。
省略してsuでもOK。

主要コマンド Edit

ls
pwd
lpwd
get
put
mget
mput
mirror
help
cat
cat hoge.txt | nkf -w

のようにパイプも使える。

設定(~/.lftp/rc) Edit

alias で独自コマンドを作成できる。

alias vi source -e ~/.lftp/vi.sh
alias diff source -e ~/.lftp/diff.sh
alias mirror-n mirror --script=lftplog.txt
alias mirror-rn mirror -r --script=lftplog.txt

set cmd:ls-default -F

lftp の source -e コマンドとシェルスクリプトを組み合わせると、いろいろできる。

/.lftp/vi.sh

#!/bin/sh

echo "get $1 -o ~/.lftp/edit.tmp.$$"
echo "shell \"cp -p ~/.lftp/edit.tmp.$$ ~/.lftp/edit.tmp.$$.orig && ${EDITOR:-vi} ~/.lftp/edit.tmp.$$ && test ~/.lftp/edit.tmp.$$ -nt ~/.lftp/edit.tmp.$$.orig\" && put ~/.lftp/edit.tmp.$$ -o $1; shell rm -f ~/.lftp/edit.tmp.$$*"

/.lftp/diff.sh

#!/bin/sh

tmp="~/.lftp/$1.remote"

echo "get $1 -o $tmp"
echo "!(diff -u $tmp $1 && echo "No difference.") | nkf -w"
echo "!rm $tmp"

Tips Edit

更新されているファイルを確認する Edit

mirror --script=log.txt

とすると、実際には実行せず、実行するコマンドがlog.txtに書き出されるので、ローカル側で変更されているファイルが確認できる。



URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

Attach file: filelftp-mirror.gif 9 download [Information]

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: (53d)