\r\n\r\n

linuxでのftpコマンドの使い方

ファイル転送プロトコルは読者の多くよりも古いものですが、それでも非常に強力です。ftpは最新のプロトコルのようなセキュリティはありませんが、これを使う必要があるかもしれません。その方法をご紹介しますと...。

ファイル転送プロトコルは我々の読者の多くよりも古いものですが、それでも強力です。ftpは最新のプロトコルのようなセキュリティはありませんが、使う必要があるかもしれません。その方法をご紹介します。

警告:インターネット上でftpを使用しないでください

ファイル転送プロトコル(FTP)の歴史は1970年代初頭にさかのぼり、セキュリティのことは全く考慮されていない。暗号は一切使用しません。ログイン情報(ユーザー名やパスワードなど)、ダウンロードまたはアップロードされたデータは平文で送信されます。途中から誰でもあなたの秘密を見ることができます。しかし、FTPにはまだ使い道がある。

ネットワーク上でファイルを転送する場合、パケット転送中にネットワーク上の誰かが機密文書を盗み見たりしていない限り、安全であるはずです。Linuxには、このような状況を正確に処理するための標準的なFTPコマンドラインプログラムがあります。

ただし、ftpコマンドを使用してインターネット経由で外部のリソースにアクセスすることは絶対に避けてください。これには、安全なSSHファイル転送プロトコルを使用するsftpコマンドライン・プログラムを使用します。このチュートリアルでは、両方のプログラムについて説明します。

インターネット上でFTPを絶対に使いたくない理由を明確にするために、以下のスクリーンショットをご覧ください。FTPのパスワードが平文で表示されます。あなたとFTPサーバーの間のネットワークやインターネット上の誰でも、パスワードが "MySecretPassword" であることを簡単に見ることができます。

暗号化されていないと、悪意のある参加者がダウンロードやアップロードしているファイルを改ざんすることも可能です。

FTPコマンド

FTPサイトに有効なアカウントがあることを前提に、以下のコマンドで接続することができます。この記事中、コマンドのIPアドレスは、接続するFTPサーバーのIPアドレスに置き換えてください。

ftp 192.168.4.25

警告: 信頼できるローカルネットワーク上のサーバーに接続する場合のみ、ftp コマンドを使用し てください。インターネット上でファイルを転送するには、後述のsftpコマンドを使用します。

FTPサーバーは、サーバーによって異なる文言の歓迎メッセージで応答し、あなたがログインしているアカウントのユーザー名を尋ねます。

接続したいサイトのIPアドレスが表示され、その後にLinuxのユーザー名が表示されることに注意してください。FTPサーバーのアカウント名とLinuxのユーザー名が同じであれば、そのままEnterキーを押してください。これにより、Linuxのユーザー名がFTPサーバーのアカウント名として使用されます。Linuxのユーザー名とFTPアカウント名が異なる場合は、FTPアカウントのユーザー名を入力し、Enterキーを押してください。

ftpサーバーにログインする

FTPサイトのパスワードを入力する画面が表示されます。パスワードを入力してEnterキーを押すと、画面にパスワードが表示されなくなります。FTPサーバーがあなたのFTPユーザー名とパスワードの組み合わせを確認すると、FTPサーバーにログインします。

ftp>のプロンプトが表示されます。

ドキュメントの検索と取得

まず、FTPサーバーにあるファイルの一覧を取得したいと思うかもしれません。lsコマンドはまさにそれを行うものです。ユーザーは、ファイルgc.cがFTPサーバーにあることを知り、それを自分のコンピューターにダウンロードしようと思っています。彼のコンピュータは、FTP用語でいうところの「ローカルコンピュータ」である。

そこで、ユーザーはgetgc.cというコマンドを発行する。getとスペース、そして取得したいファイル名を入力する。

FTPサーバーは、ファイルをローカルコンピューターに転送し、転送が行われたことを確認することで応答します。また、ファイルのサイズと転送にかかった時間も表示されます。

ls get gc.c

複数のファイルを一度に取得する場合は、mget(multiple get)コマンドを使用します。mgetは、各ファイルを順番にダウンロードするかどうかを確認するよう求めます。はい」の場合は "y "を、「いいえ」の場合は "n "を押してください。

大量のファイルの場合、これは面倒なことです。そのため、関連するファイルのコレクションは、通常、個々のファイルとしてftpサイトのtar.gzまたはtar bz2フォルダに保存されます。

関連:Linuxでtar.gzやtar bz2からファイルを取り出す方法。

mget *.c

ftpサーバーへのファイルのアップロード

FTPアカウントに付与された権限に応じて、サーバーにファイルをアップロード(または「ドロップ」)することができます。ファイルをアップロードするには、putコマンドを使用します。この例では、ユーザーがsong.tar.gzというファイルをFTPサーバーにアップロードしています。

put Songs.tar.gz

ご想像の通り、複数のファイルを同時にFTPサーバーに入れるコマンドがあります。mput(マルチプルプット)と呼ばれるものです。mgetコマンドと同様に、mputはアップロードされた各ファイルに対して個別に「y」または「n」の確認を求めます。

ファイル群をtarアーカイブに格納するためのパラメータは、ファイルを取得するためのパラメータと同じです。私たちのユーザーは、以下のコマンドを使用して複数の".odt "ファイルをアップロードしています。

mput *.odt

ディレクトリの作成と変更

ftpサーバーのユーザーアカウントが許可していれば、ディレクトリを作成することができます。mkdirコマンドで作成されるディレクトリは、ローカルコンピュータではなく、FTPサーバー上に作成されます。

ftpサーバー上のディレクトリを変更する場合は、cdコマンドを使用します。pwd (print working directory) コマンドは、カレント・ディレクトリを表示します。

ftpユーザがmusicというディレクトリを作り、それを新しいディレクトリに変更し、pwdコマンドでどこにあるかを確認し、そのディレクトリにファイルをアップロードしています。

mkdir music cd music pwd put songs.tar.gz

カレントディレクトリの親ディレクトリに素早く移動するには、cdupコマンドを使用します。

cdup

ローカルコンピューターへのアクセス

ローカルコンピュータでディレクトリを変更するには、ftp>プロンプトでlcdコマンドを使用します。しかし、ローカルファイルシステム上のどこにいるのか忘れてしまいがちです。ローカルファイルシステムにアクセスする、より便利な方法として、!コマンドを使用します。

これ!?コマンドは、ローカルコンピュータのシェルウィンドウを開きます。このシェルでは、標準的なターミナルウィンドウで実行できるあらゆるアクションを実行できます。exitと入力すると、ftp>のプロンプトに戻ります。

当社のユーザーには、「!コマンドを入力し、ローカルコンピュータのシェルウィンドウに入力した。そのディレクトリにどんなファイルが存在するかを確認するためにlsコマンドを発行し、ftp>プロンプトに戻るためにexitとタイプしたのです。

! ls exit

ファイル名の変更

FTPサーバー上のファイル名を変更する場合は、renameコマンドを使用します。ここでは、FTPユーザーがrenameでファイル名を変更し、lsコマンドでディレクトリ内のファイルをリストアップしています。

rename songs.tar.gz rock_songs.tar.gz ls

ドキュメントを削除する

FTPサーバーからファイルを削除する場合は、deleteコマンドを使用します。複数のファイルを一度に削除する場合は、mdeleteコマンドを使用します。各ファイルの削除を確認するため、"y "または "n "を入力してください。

ここでは、FTPユーザーが閲覧したいファイル名をリストアップし、その中から削除したいファイルを選択しています。そして、それらをすべて削除することにしたのです。

ls delete gc.o mdelete *.o

sftpコマンドを使用する

IPアドレス体系に詳しい読者は、上記の例で使用したFTPサーバーの192.168アドレスが内部IPアドレスであり、プライベートIPアドレスとしても知られていることにお気づきでしょう。冒頭で警告したように、ftpコマンドは内部ネットワーク上でしか使用することができません。

リモートまたはパブリックFTPサーバーに接続するには、sftpコマンドを使用します。ユーザーは、test.trebex.netの一般にアクセス可能なFTPサーバーにあるdemoという名前のSFTPアカウントに接続することになります。

接続すると、接続が確立されたことが告げられる。また、ホストの真偽が確認できないことも伝えられている。これは、新しいホストへの最初の接続では正常です。彼らは "y "を押して、接続を受け入れる。

ユーザーアカウント名(demo)はコマンドラインで渡されるため、ユーザーアカウント名の入力を促されることはない。パスワードを要求されるだけです。これを入力、検証、承認すると、sftp>プロンプトが表示されます。

sftp [email protected]

上記で説明したFTPコマンドは、以下の例外を除き、SFTPセッションでも同じように動作します。

  • ファイルを削除するには、rmを使用します(FTPはdeleteを使用します)。
  • 複数のファイルを削除するには、rm を使用します(FTP では mdelete を使用します)。
  • 親ディレクトリに移動する場合は、cdを使用します(FTPではcdupを使用します)。

私たちのユーザーは、SFTPセッションで多くのコマンドを使用します。ファイルの一覧表示にはlsを、pubディレクトリの変更にはcdを使用するそうです。作業ディレクトリを表示するためにpwdを使用しています。

Linuxの世界では、scp(セキュアコピー)のようなファイル転送のオプションもありますが、ここでは主にFTPとSFTPについて説明します。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ