ftpコマンドについて詳しくまとめました 【Linuxコマンド集】

  • このエントリーをはてなブックマークに追加
  • Pocket

ftpはFTPサーバーに接続し、ファイルをアップロードしたり、アクセス権を変更したりするLinuxコマンドだ。

Webサイトをアップロードする時に使うのが主な用途だろう。

通常はftpクライアントソフトを使ってFTPサーバーの操作を行うことが多いだろう。

しかし、Webアプリなどのシステム的なものは、Linuxコマンドで操作したほうが効率がよいケースもあるので覚えておこう。

ftpコマンドの基本

コマンドの基本動作

使い方は、次のとおりだ。

$ ftp

ftpコマンド

ftpが起動し、ftp用のコマンドにてFTPサーバーが操作できる状態になった。

この状態から実際の操作は行っていく。

また、FTPサーバーを指定することもできる。

書式は次の通りだ。

$ ftp FTPサーバーアドレス

例えば、xxx1.xxx2.xxx3.xxx4のアドレスのFTPサーバーに接続する場合は次の通りだ。

$ FTP xxx1.xxx2.xxx3.xxx4

ftpコマンド

するとログイン名とパスワードを聞いてくるので、入力すればFTPサーバーに接続できる。

ftpコマンド

初めにアドレスは指定しなくても問題ない。

後でftp用のコマンド「open」で指定したFTPサーバーに接続できる。

ftpコマンドのオプションたち

オプションの一覧

ftpを起動する際に付与するオプションは次のとおりだ。

後から詳細をご紹介するが、まずは一覧で見てみよう。

オプション -v

FTPサーバーの処理後のメッセージを表示する

オプション -i

確認を行わない

-vオプション:FTPサーバーの処理後のメッセージを表示する

一つ一つの操作に対し、確認のためにサーバーで処理した内容を表示するようにする書式は次のとおりだ。

$ ftp -v

-iオプション:確認を行わない

オプションなしの状態では、複数ファイルをアップロードする時に確認のメッセージが表示されるが、ファイル数が多くあると確認が煩わしく感じるときがある。

もし確認がいらない時は-iプションをつけよう。

書式は次の通りだ。

$ ftp -i

FTP用コマンド

ftpコマンドで一度FTPモードになった後は、次のようなコマンドが使える。

多くのlsやcdなどのLinuxコマンドが使える。

FTP用コマンド一覧

後で詳しく解説するが、まずは代表的なものを一覧で見てみよう。

openコマンド

サーバーに接続する

closeコマンド

FTPサーバーから切断する

quitコマンド

FTPモードを終了する

lsコマンド

FTPサーバー内のファイルやディレクトリを一覧表示する

ascコマンド

アスキーモードでファイルを扱う

binコマンド

バイナリモードでファイルを扱う

putコマンド

Linux内のファイルをアップロードする

putコマンド

FTPサーバー上のファイルをダウンロードする

getコマンド

サーバーからダウンロードする

mputコマンド

複数ファイルをアップロードする

mgetコマンド

複数ファイルをダウンロードする

mkdirコマンド

ディレクトリを作成する

chmodコマンド

ファイルのアクセス権の変更

では、詳細を見ていこう。

コマンドopen:サーバーに接続する

FTPサーバーに接続する。書式は次の通りだ。

ftp > open 接続先アドレス

xxx1.xxx2.xxx3.xxx4のアドレスのFTPサーバーに接続する場合は次の通りだ。

ftp > open xxx1.xxx2.xxx3.xxx4

ftpコマンド

するとログイン名とパスワードを聞いてくるので、入力すれば指定したFTPサーバーに接続できる。

コマンドclose:サーバーから切断する

FTPサーバーから切断する。書式は次の通りcloseと打ち込むだけだ。

ftp > close

ftpコマンド

FTPサーバーから切断できる。

コマンドquit:FTPモードを終了する

FTPモードを終了する。書式は次の通りquitと打ち込むだけだ。

ftp > quit

ftpコマンド

FTPモードが終了し、Linuxコマンドが受け付けられる状態になった。

コマンド ls:FTPサーバー内のファイルやディレクトリを一覧表示する

Linuxコマンド同様、FTPサーバー内のファイルやディレクトリを一覧表示するコマンドで、書式は次の通りだ。

ftp > ls

ftpコマンド

FTPサーバー内のファイルやディレクトリが一覧表示された。

コマンドasc:アスキーモードでファイルを扱う

アップロード、ダウンロードするファイルをアスキーモードで扱う。

テキストエディタで正常に読み出せるプレーンテキストであれば、アスキーモードで扱う。

書式は次の通りascと打ち込むだけだ。

ftp > asc

ftpコマンド

アスキーモードでファイルを扱う状態になった。

コマンドbin:バイナリモードでファイルを扱う

アップロード、ダウンロードするファイルをバイナリモードで扱う。

テキストエディタでは読みだせない、画像や音声のデータ、またはコンパイルされたプログラムファイルなどはバイナリモードで扱う。

書式は次の通りbinと打ち込むだけだ。

ftp > bin

ftpコマンド

バイナリモードでファイルを扱う状態になった。

コマンドput:Linux内のファイルをアップロードする

Linux内のファイルをFTPサーバーにアップロードするコマンドで、書式は次の通りだ。

ftp > put ファイル名

ファイル「corporation.html」をアップロードするコマンドは、次の通りだ。

ftp > put corporation.html

ftpコマンド

ファイル「corporation.html」がアップロードされた。

コマンドget:FTPサーバー上のファイルをダウンロードする

FTPサーバー上のファイルをLinux内にダウンロードするコマンドで、書式は次の通りだ。

ftp > get ファイル名

ファイル「subpage.html」をダウンロードするコマンドは、次の通りだ。

ftp > get subpage.html

ftpコマンドg

ファイル「subpage.html」がダウンロードされた。

コマンドmput:複数ファイルをアップロードする

Linux内の複数ファイルをFTPサーバーにアップロードするコマンドで、書式は次の通りだ。

ftp > mput ファイル名

ファイル「parts01.html」から「parts03.html」の3ファイルをアップロードするコマンドは、次の通りだ。

ftp > mput parts*.html

ftpコマンド

ワイルドカードにより、ファイル名が「partsなんとか.html」という指定となり、ファイル「parts01.html」から「parts03.html」の3ファイルがアップロードされた。

ftpコマンド自体に-iオプションを付けなければ、1ファイルごとにY(Yes)、N(No)の選択を促すメッセージが表示される。

コマンドmget:複数ファイルをダウンロードする

FTPサーバー上の複数ファイルをLinux内にダウンロードするコマンドで、書式は次の通りだ。

ftp > mgetファイル名

拡張子「jpg」ファイルすべてをダウンロードするコマンドは、次の通りだ。

ftp > mget *.jpg

ftpコマンド

ワイルドカードにより、ファイル名が「なんとか.jpg」という指定となり、拡張子jpgのファイルすべてがアップロードされた。

ftpコマンド自体に-iオプションを付けなければ、1ファイルごとにY(Yes)、N(No)の選択を促すメッセージが表示される。

コマンド mkdir:ディレクトリを作成する

Linuxコマンド同様、ディレクトリを作成するコマンドで、書式は次の通りだ。

ftp > mkdir ディレクトリ名

「work」というディレクトリを作成するコマンドは、次の通りだ。

ftp > mkdir work

ftpコマンド

「work」というディレクトリを作成した。

コマンド delete:ファイルを削除する

ファイルを削除するコマンドで、書式は次の通りだ。

ftp > delete ファイル名

ファイル「sub01.html」を削除するコマンドは、次の通りだ。

ftp > delete sub01.html

ftpコマンド

ファイル「sub01.html」を削除した。

コマンド chmod:ファイルのアクセス権の変更

Linuxコマンド同様、アクセス権を変更するコマンドで、書式は次の通りだ。

ftp > chmod アクセス権 ファイル名

ファイル「prog1.cgi」のすべてのアクセス権を705に変更するコマンドは、次の通りだ。

ftp > chmod 705 prog1.cgi

ftpコマンド

ファイル「prog1.cgi」のアクセス権を705に変更した。

FTPモードの中断

アップロードの最中に、Linuxのカレントディレクトリの内容を確認したいなど、一時的にFTPモードを中断したい場合がある。

その場合は、Ctrl+Zのショートカットキーを押すことによって、FTPモードをバックグラウンドで維持しつつ、Linuxに戻ることができる。

再度FTPを再開したい場合はLinuxコマンドで次のようにfgと入力しよう。

$ fg

ftpコマンド

FTPモードに戻ることができる。

ただし、あまり中断の時間が長いとFTPサーバーの設定によって強制的にログアウトしている場合もあるので、そのような時はopenコマンドで再度接続すればよいだろう。

実際の使い方

実際にFTPコマンドを使って操作する例を紹介する。

FTPサーバーxxx1.xxx2.xxx3.xxx4にWebサイトをアップロードする。

Webサイトは、インデックスの他、画像とスタイルシートがあり、また、CGIによる掲示板もある。

素材は、インデックスページ「index.html」、サブページ「sub1.html」、画像「top.png」、スタイルシート「style.css」、CGIのプログラム「board.cgi」がLinuxのカレントディレクトリに入っている。

この4つのファイルをそれぞれ管理しやすいディレクトリを作成しアップロードする。

FTPモードへ移行

FTPサーバーからの情報も表示し、一度に複数ファイルを操作する時に確認メッセージを出さないために、-iオプションと-vオプションを付与する

$ ftp -iv

ログイン

次にFTPサーバーxxx1.xxx2.xxx3.xxx4に接続する。

ftp > open xxx1.xxx2.xxx3.xxx4

ログイン名とパスワードを入力しよう。

HTMLファイルのアップロード

HTMLファイル2つをアップロードする。

まずはアスキーモードへ移行する。

ftp > asc

そしてファイルを指定してアップロードする。

ftp > put *.html

画像ファイルのアップロード

画像ファイルを画像用ディレクトリ「image」にアップロードする。

まず、画像用のディレクトリ「image」を作成する。

ftp > mkdir image

作成したディレクトリへ移動する

ftp > cd image

バイナリモードへ移行する

ftp > bin

画像ファイル「top.png」をアップロードする。

ftp > put top.png

上記ディレクトリへ戻る

ftp > cd ..

スタイルシートのアップロード

スタイルシートファイルをスタイルシート用ディレクトリ「css」にアップロードする。

まず、スタイルシート用ディレクトリ「css」を作成する。

ftp > mkdir css

作成したディレクトリへ移動する

ftp > cd css

アスキーモードへ移行する

ftp > asc

スタイルシート「style.css」をアップロードする。

ftp > put style.css

上記ディレクトリへ戻る

ftp > cd ..

CGIプログラムのアップロード

CGIプログラムをCGIプログラム用ディレクトリ「cgi」にアップロードする。

まず、CGIプログラム用ディレクトリ「cgi」を作成する。

ftp > mkdir cgi

作成したディレクトリへ移動する

ftp > cd cgi

CGIプログラム「board.cgi」をアップロードする。

ftp > put board.cgi

CGIプログラム「board.cgi」を実行ファイルにするためにパーミッション(アクセス権)を755に変更する。

ftp > chmod 755 board.cgi

上記ディレクトリへ戻る

ftp > cd ..

これでftpの作業が完了したので、ログアウトする

ftp > close

FTPコマンドを終了する

ftp > quit

まとめ

今回は、ftpコマンドを使ったFTPサーバーへのアクセス並びに操作方法を解説した。

ちょっとしたWebアプリや.htaccessのような設定ファイルなどはFTPクライアントを使うよりもコマンドで打ち込んだ方が安全かつ効率がよい場合もあるので、ぜひ覚えておこう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する