ファイル転送プロトコル (FTP) とセキュア ファイル転送プロトコル (SFTP) の 2 つは、ローカル デバイスとリモート サーバーの間でファイルを転送するために最も広く使用されているプロトコルです。これらは、Web 開発者が変更をサーバーにプッシュするために頻繁に使用するため、使用可能な FTP クライアントが多数あります。ただし、Mac には、ユーザーが FTP および SFTP プロトコルを使用してリモート サーバーと接続できるようにするかなり強力なツールも組み込まれています。
この記事では、ターミナル (Mac) を FTP または SFTP クライアントとして使用して、リモート サーバー上でさまざまなタスクを実行する方法について詳しく説明します。説明のために、Linux、Apache、MySQL、PHP がインストールされ、SSH アクセスが有効になっているテスト サーバーを使用しています。サードパーティの FTP クライアントの代わりに macOS のターミナルを使用して、ファイルのアップロード/ダウンロード、名前変更、移動、削除などの基本的な FTP/SFTP タスクを実行する方法を説明します。
注 : SFTP を使用するには、サーバーで SSH アクセスを有効にする必要があります。 SSH アクセスがない場合は、ホスティング プロバイダーに連絡するか、FTP を使用できます。ただし、FTP は一般的に安全とは考えられていないため、注意が必要です。
サーバーへのログイン
リモート サーバーへのログインは非常に簡単です。サーバーにログインするには、FTP/SFTP ユーザー名とパスワードが必要です。 FTP では匿名ログインが可能ですが、ユーザー名とパスワードを使用して認証することをお勧めします。
FTPの使用
FTP を使用してリモート サーバーにログインするコマンドは次のとおりです。
ftp server_ip
ユーザー名の入力を求められるので、入力して Enter キーを押します。次に、ターミナルでパスワードの入力を求められるので、パスワードを入力して Enter キーを押すと、ログインできます。
SFTPの使用
SFTP を使用してリモート サーバーにログインするコマンドは次のとおりです。
sftp username@server_ip
次に、パスワードの入力を求められます。それを入力し、Enter キーを押してログインします。
1. ファイルのアップロードとダウンロード
FTP/SFTP クライアントの基本機能の 1 つは、ローカル ホストからリモート サーバーにファイルをアップロードし、リモート サーバーからファイルをダウンロードする機能です。
FTP または SFTP の使用
- ファイルをアップロードする
ファイルをリモート サーバーにアップロードするコマンドは次のとおりです。
put path_to_local_file remote_file
たとえば、index.txt というファイルをアップロードしたい場合、コマンドは次のようになります。
put /Users/akshaygangwar/index.txt index.txt
このコマンドは、「index.html」というファイルをホーム ディレクトリからリモート サーバーの作業ディレクトリに配置します。
注 : 作業ディレクトリを確認するには、「pwd」コマンドを使用できます。
- ファイルをダウンロードする
リモート サーバーからファイルをダウンロードするコマンドは次のとおりです。
get path_to_remote_file local_file
たとえば、newfile.txt というファイルをダウンロードしたい場合、コマンドは次のようになります。
get newfile.txt newfile.txt
このコマンドは、「newfile.txt」というファイルをリモート サーバーの作業ディレクトリから Mac の作業ディレクトリにダウンロードします。
2. 新しいフォルダーの作成
リモート サーバー上にフォルダー (ディレクトリ) を作成することも、FTP クライアントによって実行される重要なタスクです。
FTP または SFTP の使用
ターミナルを使用して新しいフォルダーを作成するのは簡単です。これは、FTP プロトコルと SFTP プロトコルの両方で同じコマンドです。
mkdir directory_name
たとえば、「」という名前のフォルダーを作成したい場合、コマンドは次のようになります。
mkdir
これにより、リモート サーバーの作業ディレクトリに「」という名前のフォルダーが作成されます。
3. サーバー上のファイルの名前を変更する
リモート サーバー上のファイルの名前変更は、ターミナルをクライアントとして使用することで簡単に行うことができます。
FTP または SFTP の使用
ターミナルを FTP/SFTP クライアントとして使用してリモート サーバー上のファイルの名前を変更するコマンドは、次のコマンドで実行できます。
rename old_name new_name
たとえば、「newfile.txt」の名前を「mainlog.txt」に変更したい場合、コマンドは次のようになります。
rename newfile.txt mainlog.txt
これにより、ファイルの名前が「newfile.txt」から「mainlog.txt」に変更されます。
4. ファイルの削除
ターミナルを使用すると、リモート サーバーからファイルを削除することもできます。この場合のコマンドは FTP と SFTP で異なるため、両方を個別に説明します。
FTPの使用
FTP を使用してリモート サーバーからファイルを削除するコマンドは次のとおりです。
delete file_name
たとえば、「old.txt」というファイルを削除したい場合、コマンドは次のようになります。
delete old.txt
これにより、ファイル「old.txt」がリモート サーバーから削除されます。
SFTPの使用
SFTP を使用してリモート サーバーからファイルを削除するコマンドは次のとおりです。
rm file_name
たとえば、SFTP を使用して「old.txt」というファイルを削除したい場合、コマンドは次のようになります。
rm old.txt
これにより、ファイル「old.txt」がリモート サーバーから削除されます。
5. リモートサーバー内でのファイルの移動
ターミナルを FTP クライアントとして使用すると、サードパーティの FTP クライアントで行うのとまったく同じ方法で、リモート サーバー自体内でファイルを移動することもできます。
FTP または SFTP の使用
FTP と SFTP の両方でサーバー内でファイルを移動するコマンドは次のとおりです。
rename file_name path_to_new_file/file_name
たとえば、「testresults.txt」というファイルを「test」ディレクトリから「results」ディレクトリに移動したい場合、コマンドは次のようになります。
rename testresults.txt results/testresults.txt
これにより、ファイル「testresults.txt」がサブフォルダー「results」に移動されます。
6.「最終更新日」を確認する
ファイルまたはフォルダーの「最終更新日」を確認すると、どのファイルやフォルダーがいつ更新されたかを知る必要がある場合に便利です。これはターミナルでも実現できます。
FTP または SFTP の使用
ファイルの最終変更日を確認するコマンドは次のとおりです。
ls -l file_name
このコマンドは、いくつかの情報を表形式で表示します。日付と時刻の値が含まれる列は、「最終更新日」の値に対応します。
たとえば、「testresults.txt」が最後に変更された日付を確認したい場合、コマンドは次のようになります。
ls -l testresults.txt
7. 権限の確認と変更
ファイルに適切なアクセス許可を設定することは非常に重要です。場合によっては、権限が間違っていると、Web アプリが読み込まれなくなることがあります。
FTP または SFTP の使用
- 権限の確認
ターミナルをクライアントとして使用して権限を確認および変更するのは非常に簡単で、コマンドは次のとおりです。
ls -l file_name
このコマンドは、いくつかの情報を表形式で表示します。最初の列には、ファイルのアクセス許可が表示されます。
たとえば、ファイル「testresults.txt」の権限を確認したい場合は、次のコマンドを使用します。
ls -l testresults.txt
- 権限の変更
間違ったアクセス許可を持つファイルを見つけた場合、または単にアクセス許可を試してみたい場合は、ターミナルを使用してファイルのアクセス許可を変更できます。コマンドは次のとおりです。
chmod permissions_value file_name
たとえば、ファイル「testresults.txt」に完全な読み取り、書き込み、および実行の権限を付与したい場合、コマンドは次のようになります。
chmod 777 testresults.txt
このコマンドは、ファイル「testresults.txt」に対する読み取り、書き込み、および実行の権限を付与します。
8. 新しいファイルの作成
サーバー上に新しいファイルを作成することは、ターミナルでは簡単に実行できないタスクです。ただし、不可能というわけではありません。新しいファイルを作成する場合の問題は、ファイルをサーバーにアップロードする前にラップトップにファイルのコピーが必要であることです。
FTP または SFTP の使用
リモート サーバー上にファイルを作成するコマンドは次のとおりです。
!touch file_name
put file_name file_name
たとえば、サーバー上にファイル「newtest.txt」を作成したい場合、コマンドは次のようになります。
!touch newtest.txt
put newtest.txt newtest.txt
これにより、「newtest.txt」という新しいファイルが作成され、サーバーにアップロードされます。
9. 既存のファイルを編集する
既存のファイルの編集も重要な機能です。ターミナルにすでに組み込まれている nano、emacs などのプログラムを使用して、ターミナル自体でファイルを編集できます。 Nano の方が理解しやすいため、この例では Nano を使用します。
FTP または SFTP の使用
リモート サーバー上の既存のファイルを編集するコマンドは次のとおりです。
get file_name file_name
!nano file_name
put file_name file_name
たとえば、ファイル「newtest.txt」を編集する場合、コマンドは次のようになります。
get newtest.txt newtest.txt
!nano newtest.txt
put newtest.txt newtest.txt
これらのコマンドは、ファイル「newtest.txt」を編集し、サーバーにアップロードし直します。
10. ファイルの複製コピーの作成
リモート サーバー内のファイルを編集するときは、何か問題が発生した場合に備えて、元のファイルのコピーを用意しておくことをお勧めします。
FTP または SFTP の使用
リモート サーバー上にファイルの複製コピーを作成するには、次のコマンドを使用します。
get file_name file_name
!mv file_name new_file_name
put new_file_name new_file_name
たとえば、「newtest.txt」の複製コピー「newtest_copy.txt」を作成したい場合、コマンドは次のようになります。
get newtest.txt newtest.txt
!mv newtest.txt newtest_copy.txt
put newtest_copy.txt newtest_copy.txt
関連項目: Mac で使用すべき 8 つの便利な FFmpeg コマンド
FTP または SFTP を使用して Mac ターミナルのパワーを利用する
ターミナルを FTP または SFTP クライアントとして使用する方法がわかったので、サードパーティ アプリケーションによるブロートウェアのインストールやトラフィックの保護を心配することなく、ターミナルを開発サーバーへの FTP または SFTP に使用できます。ターミナルから FTP または SFTP を使用する際に問題がある場合、または何か見逃していると思われる場合は、以下のコメントセクションでお知らせください。






![2021 年に Raspberry Pi Web サーバーをセットアップする方法 [ガイド]](https://i0.wp.com/pcmanabu.com/wp-content/uploads/2019/10/web-server-02-309x198.png?w=1200&resize=1200,0&ssl=1)




