======FTP======
=====lftp=====
インストールは元々入ってるかパッケージから。sftpも使えるしncftpよりこっちがいいかも。
.ssh/configを設定していないと鍵認証でsftpするときはローカルの鍵はid_rsa、リモート側はauthorized_keysじゃないとうまくいきません。
====lftpの起動====
$ lftp
====サーバへのログイン====
#lftpのプロンプトを立ち上げた後
lftp :~> open site -u user
#とか直接だと
$ lftp site -u user
$ lftp ftp://user:pass@host:port
sftpだと
$ lftp sftp://user:pass@host:port
====ブックマーク====
よく使うサイトなんかをブックマークに登録。
lftp :~> bookmark [subcommand]
^ サブコマンド ^ 動作 ^
| add [] | ブックマークに登録 |
| del | ブックマークから削除 |
| edit | ブックマークを編集(viで?) |
| list | ブックマークのリストを表示 |
【例】
今ログインしているサーバをmyserverという名前でカレントディレクトリを/homeにして登録
lftp :~> cd /home
lftp :~> bookmark add myserver
ブックマークを使うときは
lftp :~> open bookmarkname
~/.lftp/bookmarksにブックマークの情報が記録されるのでbookmarksをいじれば直接編集できる
sudo emacs ~/.lftp/bookmarks
デフォルトだとブックマークにパスワードは保存されないので下記のようにして
パスワードも保存されるようにする。
$ echo 'set bmk:save-passwords 1' > ~/.lftprc
====ミラーリング====
lftp :~> mirror [OPTS] [source [target]]
リモートファイルをミラーリングダウンロードします。
^ コマンド ^ 動作 ^
| -e | 同期 |
| -n | 新しいファイルだけダウンロード |
| -r | 再帰しない |
| -R | ミラーを逆にする(ローカルファイルをput) |
| -L | シンボリックリンクもファイルとしてダウンロード |
| -X | 除外ファイルを指定(下記参照) |
【例】ローカルの/home/public_htmlディレクトリ以下のファイルをリモートの/var/www/にアップロードしたい場合
lftp :~> cd /var/www
lftp :~> lcd /home/public_html
lftp :~> mirror -R
【例】ローカルの~/Sitesディレクトリ以下のファイルをリモートの/var/www/に更新が新しいファイルだけ上書きアップロードし、
ローカルになくリモートにのみあるファイルは削除(同期)したい場合
lftp :~> cd /var/www
lftp :~> lcd ~/Sites
lftp :~> mirror -R -e -n
====コマンド====
===基本コマンド===
^ 動作 ^ コマンド ^
| リモートでcd | cd |
| ローカルでcd | lcd |
| リモートでls | ls |
| ローカルでls | !ls|
| リモートのファイルをダウンロード | get |
| ローカルのファイルをアップロード | put |
| 複数アップロード | mput |
| 複数ダウンロード | mget |
| リモートでchmod | chmod |
| 'glob rm'と同じ globは下記 | mrm |
===ディレクトリ===
ディレクトリごとアップロードやダウンロードしたい場合は mputやmgetで-dオプションを。
lftp> mput -d foo/*
=== パターンマッチ===
glob [-d] [-a] [-f] command patterns
^オプション^ なんか^
| -f | plain files (default) |
| -d | directories |
| -a | all types |
【例】
lftp :~> glob -f ls .* #始めの文字が.のファイル
=== 特定ファイルの除外 ===
.gitファイルとかpsdファイルを除外したい時
lftp :~> mirror -R -n -X *.psd -X .git/
=== 致命的エラー: Certificate verification: Not trusted===
ロリポップのftpにアクセスしようとしたらこのエラー。 \\
lftpにログイン後、下記のコマンドで一時的に回避 \\
set ftp:ssl-allow off
=====NCFTP=====
にっくえふてぃーぴー \\
http://www.ncftp.com/ \\
高機能なCUI FTPソフト
GUIのftpソフトが重くていやって人に最適。 \\
主な機能は
* タブ補完
* put,getにワイルドカードが使える
* ブックマーク機能
* レジューム機能
ほかにもいろいろ・・・らしい
====コマンド====
===ncftpの起動===
$ ncftp
===初めてのサイトにログイン===
ncftp> open -u [ユーザー名] -p [パスワード] [ホスト名]
例えば
ncftp> open -u [ユーザー名] [ホスト名]
ncftp> open [ホスト名]
でも入れる
$ ncftp -u [ユーザー名] [ホスト名]
みたいにftpコマンドのようにも使える
===ダウンロード===
ncftp> get [-flags] file1 [file2]
===アップロード===
ncftp> put [-flags] file1 [file2]
==put,get 共通flag==
^ flag ^ 動作 ^
| -R |ディレクトリを再帰|
| -z |file1をリモートファイルパス,file2でローカルのパスを指定する.|
| -a | アスキーモード|
| -f | 全部上書き|
===終了===
ncftp> quit
または
ncftp> bye
===その他のシェルなコマンド===
cd,ls,mkdir,rename,rm,chmod,rm,pwdなんかも使える。\\
ローカルの場合は頭文字にlか!を付ける。(lcd,!ls)
====ブックマーク====
===ブックマークエディターの起動===
$ ncftp
$ ncftp> hosts
^ 動作 ^ コマンド ^
| サイトを開く| |
| ブックマークの内容を編集| /ed |
|ブックマークを削除 | /del |
|ブックマークのコピー | /dup |
|新しくブックマークを作成 | /new |
|ブックマークエディターを終了 | |
/edでブックマークを編集する。
A Bookmark name: apple-tart
B Hostname: ftp-apple-tart.jp
C User: apple-tart
D Password: ****************
E Account: none
F Remote Directory: /
G Local Directory: (current)
H Transfer type: Binary
I Port: 21
J Comment: apple-tart.net
X (Done editing)
各項目の頭にあるアルファベットを押すと項目が選択されるので編集する。\\
例えばユーザー名を変更する場合 cを押して、新しい名前を入力する。\\
xで画面を抜ける
===ブックマークに登録されていないサイトから抜けるときにサイトをブックマークに登録するか聞いてくる===
You have not saved a bookmark for this site.
Would you like to save a bookmark to:
ftp://ftpsite.jp:PASSWORD@ftpsite.jp
Save? (yes/no) yes # bookmarkを作る
Enter a name for this bookmark, or hit enter for "ftpsite":
You logged into this site using a password.
Would you like to save the password with this bookmark?
Save?[no] #パスワードもセーブするかしないか
====設定====
prefsで現在の設定を確認できる
ncftp> prefs
prefs
anon-password NcFTP@
auto-ascii |.txt|.asc|.html|.htm|.css|.xml|.ini|.pl|.hqx|.cfg|.c|.h|.cpp|.hpp|.bat|.m3u|.pls|
auto-resume no
autosave-bookmark-changes no
confirm-close yes
connect-timeout 20
control-timeout 100
logsize 10240
pager more
passive optional
progress-meter 2 (statbar)
redial-delay 20
save-passwords ask
show-status-in-xterm-titlebar no
so-bufsize 0 (use system default)
xfer-timeout 3600
yes-i-know-about-NcFTPd no
~/.ncftp/prefs_v3を直接編集するか、setを使って値を指定する
ncftp> set connect-timeout 100