コマンドラインでのFTP操作—基本的なコマンドと使い方
2007.12.07
error この記事は最終更新日から17年以上が経過しています。
今更コマンドラインでftpする機会なんてさほどないんですが、ネットワーク系のスクリプトを組む時とかには使いまくりますし、以前仕事で新規にソフトを入れちゃ駄目なPC(しかもftpソフトが入っていない!)で作業させられた時には当然コマンドラインからftpするしかありませんでしたし。
あと、WebサーバーAからWebサーバーBにちょっとデカめのファイルを移したい時なんかは、WebサーバーAから一旦DLしてWebサーバーBに再upなんてするよりも、SSHでWebサーバーAに入ってそこからコマンドラインでftpしてWebサーバーBに移した方が遥かに速い(Webサーバー間は上位回線で繋がってることも多いですし)。
そしてこれをメモっておく一番のきっかけは、友人がちょっとした手違いで全角文字を含む名前のファイルをWebサーバー上に作ってしまった時、削除しようとしても普通のftpソフトだとファイル名をうまく認識しなかったようなので、コマンドラインから直接mdelで削除してみてもらったらうまくいった、ということがつい先日あったからです。
というわけで、メモとして残しておけばそれなりに役に立つかなということで、調べなくても私がすぐ書けるような超基本的なものだけでもまとめておきます。
ログインする
まず、コマンドプロンプトを開き、
ftp www.servername.com
と入力。
www.servername.comの部分にはサーバーのホスト名を。
Connected to www.servername.com.
220 ProFTPD 1.2.9 Server () [www.servername.com]
User (www.servername.com:(none)):
と返って来るので、ユーザー名を入力。
331 Password required for username.
Password:
と返って来るので、パスワードを入力。
230 User username logged in.
これでログイン完了。
超初級コマンドリファレンス
- pwd
- カレントディレクトリのパスを表示する。
- ls
- カレントディレクトリのファイル・ディレクトリ一覧を見る。
-a オプション: 「.」で始まるファイルも表示する
-l オプション: 各ファイルの詳細を表示する
私は ls -al として使うことが多いです。 - cd
- カレントディレクトリの移動
cd directory_name という風に、後に移動先のディレクトリ名を指定する - ascii
- 転送モードを ascii に指定する
- bin
- 転送モードを binary に指定する
- put
- ファイルのアップロード
put file_name という風に、後にアップロードするローカルのファイル名を指定する - mput
- 複数のファイルのアップロード
mput *.txt という風に、ワイルドカードを使って一度に複数のファイルをアップロードする - get
- ファイルのダウンロード
get file_name という風に、後にダウンロードするホスト側のファイル名を指定する - mget
- 複数のファイルのダウンロード
mget *.txt という風に、ワイルドカードを使って一度に複数のファイルをダウンロードする - ren
- ファイル・ディレクトリの名前変更
ren old_name new_name という風に、変更前のファイル名、変更後のファイル名の順で指定する - del
- ファイルの削除
del file_name という風に、削除するファイル名を指定する - mdel
- 複数のファイルの削除
mdel *.txt という風に、ワイルドカードを使って一度に複数のファイルを削除する - mkdir
- ディレクトリの作成
mkdir directory_name という風に、後に作成するディレクトリ名をつける - rmdir
- ディレクトリの削除
rmdir directory_name という風に、後に削除するディレクトリ名をつける - quote site chmod
- パーミッションの変更
quote site chmod 755 sample.cgi という風に、変更後のパーミッション、対象ファイル名の順で指定する - bye
- ホストとの接続を切断し、終了する
ちなみに、ftp接続時のローカル側の操作は、頭に!をつけてコマンドを使えばOKです。
例: Windowsなら !dir とすれば現在のローカル側のカレントディレクトリの一覧が表示できる。
定期的なFTPバックアップ転送を自動化する方法
2009.09.14
FTPを使用して、定期的にサーバー間でバックアップデータを転送する方法を解説します。シェルスクリプトとcronを使って、毎日自動的にバックアップを転送する仕組みを作る手順を紹介します。
特定ホストのみのFTPアクセスを許可する .ftpaccessの使い方と注意点
2010.09.04
.ftpaccessファイルを活用し、特定のホストからのみFTP接続を許可する方法を解説します。アクセス制限の基本設定や、予期せぬ接続不能を防ぐための工夫、またはCGIスクリプトなどを使った管理方法をご紹介。
Apacheでホスト名を設定する方法—httpd.conf での設定手順
2010.04.03
Apacheで特定のホスト名でアクセスできるように設定する方法を解説します。httpd.conf に適切な設定を追加し、ホスト名と対応するディレクトリを指定する方法を紹介します。
さくらのレンタルサーバーでメール受信時にスクリプトを起動する設定方法
2009.04.05
さくらのレンタルサーバーで、メール受信時に特定のスクリプトを自動で実行するための設定方法を詳しく解説します。必要なアカウント設定から、メール転送設定、スクリプトの実行権限設定までを一通り紹介します。