導入
注意: このチュートリアルのインタラクティブなターミナルは現在無効になっています。インタラクティブな学習体験を向上させるために作業しています。このチュートリアルを使用してコマンドラインを学び、Linuxコマンドを練習することはできますが、コンピューターのターミナルまたは仮想マシンを使用する必要があります。
今日、多くの人々が、デスクトップやラップトップのコンピューター、スマートフォン、タブレットに慣れています。これらは、グラフィカルユーザーインターフェース(GUIとも呼ばれる)を持ち、アプリ、ウェブ、ファイル(ドキュメントや写真など)をビジュアルな体験でナビゲートできます。Windows、macOS、Linuxオペレーティングシステムは、それぞれがデスクトップ環境のバリエーションを提供しています(たとえば、フォルダーやファイルの画像など)、ドロップダウンメニューを備えており、これらはすべて、コンピュータープログラム、アプリケーション、および自分自身のメディアにアクセスできます。
GUIは多くのユーザーにとって直感的なコンピューターの使用方法である場合がありますが、しばしば機械上の最大の権限を提供してくれず、ソフトウェアやファイルのインストール、変更、削除など、コンピューター全体の管理アクセスを妨げることがあります。さらに、GUIは主に視覚的なため、すべてのユーザーにとってアクセスしやすいとは限りません。
GUIのない個人用コンピューターやリモートクラウドサーバーをナビゲートする方法の1つが、テキストベースのターミナルまたはコマンドラインインターフェース(CLI)を介して行う方法です。
ほとんどのコンピューターのオペレーティングシステムには、ターミナルインターフェイスが存在し、ターミナルエミュレーターはタブレットやスマートフォン向けのアプリとしても利用可能です。ターミナルは、ユーザーにより高い管理者アクセス、環境のカスタマイズ能力の向上、およびプロセスの自動化の機会を提供します。また、クラウドサーバーなどのリモートコンピューターにアクセスする能力も提供します。
このチュートリアルでは、ターミナル環境に新しいユーザー向けに、ブラウザ内の埋め込みウェブターミナルを使用してコマンドラインインターフェースの基本を提供します。下に起動できます。すでにターミナルに慣れている場合は、代わりにLinuxターミナルの紹介チュートリアルを参照することをお勧めします。このチュートリアルを完了すると、Linux(またはmacOS)コンピューターやサーバーでターミナルを使用する方法が理解できるはずです。
ターミナルウィンドウの理解
新しいコンピューターやスマートフォンにアクセスできるようになると、おそらくそれを起動して利用可能なアプリケーションをチェックし、デバイスをカスタマイズしてニーズに合わせる方法を確認したいと思うでしょう。同様に、ターミナルを使用してコンピューターに慣れることができます。
このブラウザウィンドウで起動したインタラクティブターミナルは、ブラウザウィンドウの下部に白い四角形を表示します:
ターミナルを起動していない場合は、このチュートリアルの冒頭にあるボタンをクリックして起動してください。
インタラクティブブラウザターミナルには、ドル記号$
と点滅するカーソルが表示されます。ここで、ターミナルに対して何をするかを入力し始めます。
起動したターミナルはUbuntu 20.04ターミナルです。 Ubuntuは、元々Unixオペレーティングシステムをベースとした人気のあるLinuxディストリビューションです。 macOSオペレーティングシステムもUnixに基づいています。このガイドで使用する埋め込みターミナルと同様に機能するLinuxまたはmacOSマシンでこのチュートリアルを読んでいる場合、オペレーティングシステムにターミナルがあるはずです。
これらのUnix(または*nixベースの)オペレーティングシステムの多くでは、プロンプトの末尾の記号は$
シンボルまたは#
シンボルであり、次のような意味があります:
$
またはドル記号 — 通常のユーザーとしてログインしています#
またはハッシュタグ/ポンドシンボル — 昇格された特権を持つユーザーとしてログインしています
#
環境に表示されるユーザーは、rootユーザーとしても知られており、デフォルトでスーパーユーザーまたは管理者と見なされます。
以下は、ブラウザーターミナル内での目的に関するもので、通常のユーザーとしてログインしていますが、sudo
コマンドを使用して管理者権限も持っています。これは一時的なターミナルなので、タイプした内容はすべて終了後に破棄されます。同様に、クラウドサーバーでは、何か問題が発生した場合はサーバーを破壊して新しく作り直すことができます。
注意してください:ローカルコンピュータのターミナルで作業する場合は、管理者としてターミナルで行う変更が使用中のコンピュータに永続的な変更を加える可能性があるため、より注意が必要です。
この時点で、ブラウザで起動されたターミナルを使用して、ローカルコンピュータで入力することを開始できます。テキストは点滅するカーソルに表示されます。次のセクションでここで入力できる内容について学びます。
ディレクトリに慣れる
ターミナルでの作業は、コマンドを入力して開始します。コマンドは、ユーザーがコンピュータに何を行うかを伝える命令です。コマンドを入力した後、ターミナルでENTER
またはRETURN
を押して、コンピュータに指示を実行する準備ができたら実行します。
以下のコマンドを入力して、ENTER
を押してください。または、マウスでそのコードブロックにカーソルを合わせると、関連するリンクをクリックするか、起動された対話型ターミナルで実行するようにお願いすることもできます。
このコマンドを実行すると、以下の出力が表示されます:
Output/home/sammy
このpwd
コマンドは、「present working directory」を意味し、現在のファイルシステム内の場所を示します。
この例では、ディレクトリ(またはフォルダー)/home/sammy
にいます。これはユーザーsammy
に対応しています。特権を持つユーザーであるroot
でログインしている場合、ディレクトリは/root
となります。パーソナルコンピューターの場合、このディレクトリはコンピューターの所有者の名前になる場合があります。Sammy Sharkのコンピューターでは、プライマリユーザーディレクトリとして/sammy
または/sammy-shark
または/home/sammy
があるかもしれません。
現在、このディレクトリは空です。このチュートリアルを進める中で作成するファイルを格納するディレクトリを作成しましょう。例えば、files
と呼ぶことができます。
これを行うには、「make directory」という意味のmkdir
コマンドを使用します。コマンドを入力した後、フォルダーの名前を書く必要があります。これにより、コマンドに値が渡され、このディレクトリを作成するためにコマンドが実行されます。この値(フォルダーの名前)は引数として知られており、コマンドに与えられる入力です。自然言語の文法に精通している場合、引数はコマンドの動詞によって作用される対象と考えることができます。
新しいディレクトリfiles
を作成するには、次のように記述します。ここで、mkdir
がコマンドであり、files
が引数です:
このコマンドを実行すると、新しい行が点滅するカーソル付きの新しい行を除いて、出力は受け取りません。この新しい行がターミナル上にあると、次のコマンドの準備ができています。
内容のリストとアクセス権の理解
まだ新しいディレクトリに関する具体的なフィードバックを受け取っていないため、現在の作業ディレクトリの内容について詳しく学ぶためのコマンドを使用します。ls
コマンド(「list」という意味)を使用して、ディレクトリ内のファイルをリスト化して、新しいディレクトリが実際に存在することを確認できます。
出力を受け取ると、files
ディレクトリがあることを確認する出力が得られます:
Outputfiles
これにより、現在の作業ディレクトリに含まれるものについて一般的な情報が得られます。さらに詳細を知りたい場合、フラグと呼ばれるものを使用してls
コマンドを実行できます。Linuxコマンドでは、フラグはハイフン-
と文字で書かれ、コマンドに追加のオプション(およびより多くの引数)を渡します。この例では、-l
フラグを追加します。このフラグは、ls
と組み合わせると、コマンドに長いリスト形式を使用するオプションを使用したいことを示します。
次のようにこのコマンドとフラグを入力します:
ENTER
を押すと、ターミナルに次の出力が表示されます:
Outputtotal 4
drwxr-xr-x 2 sammy sammy 4096 Nov 13 18:06 files
ここでは、2行の出力があります。最初の行はこのディレクトリに割り当てられたコンピュータメモリブロックを参照しており、2行目はほとんどがファイルのユーザー権限を参照しています。
やや人間に読みやすい出力を得るために、-h
または--human-readable
フラグを渡すこともできます。これにより、メモリサイズが人間に読みやすい形式で表示されます。一般的に、1つのハイフン-
は1文字のオプションを示し、2つのハイフン--
は言葉で書かれたオプションを示します。一部のオプションは両方の形式を使用できることに注意してください。複数のオプションをコマンドに組み込むこともできます。-lh
のようにフラグを連結します。
たとえば、以下の2つのコマンドは異なる書き方をしていますが、同じ結果が得られます:
両方のコマンドは、次の出力を返します。出力は上記のものと類似していますが、メモリブロックのコンテキストがより大きくなっています:
Outputtotal 4.0K
drwxr-xr-x 2 sammy sammy 4.0K Nov 13 18:06 files
出力の最初の行には、4Kのコンピュータメモリがフォルダに割り当てられていることが示されています。2行目の出力には、さらに多くの詳細が含まれており、それについて詳しく説明します。カバーする情報の一般的な高レベルの参照は、以下の表に示されています。
File type | Permissions | Link count | Owner | Group | File size | Last modified date | File name |
---|---|---|---|---|---|---|---|
d | rwxr-xr-x | 2 | sammy | sammy | 4.0K | Nov 13 18:06 | files |
ディレクトリの名前であるfiles
は、出力の2行目の末尾にあります。この名前は、出力行で説明されている/home/sammy
ユーザディレクトリ内の特定のアイテムを示しています。ディレクトリに別のファイルがある場合、そのファイルの詳細が別の出力行に表示されます。
行の先頭には、文字とダッシュのリストがあります。それぞれの文字の意味を解説していきましょう:
Character | Description |
---|---|
d | directory (or folder) — a type of file that can hold other files, useful for organizing a file system; if this were - instead, this would refer to a non-directory file |
r | read — permission to open and read a file, or list the contents of a directory |
w | write — permission to modify the content of a file; and to add, remove, rename files in a directory |
x | execute — permission to run a file that is a program, or to enter and access files within a directory |
最初のdrwx
文字では、最初の文字d
はfiles
アイテムがディレクトリであることを意味します。これがディレクトリ以外のファイルである場合、この文字列はハイフンで始まります。-rwx
、最初のハイフンは非ディレクトリファイルを示します。次の3つの文字rwx
は、ディレクトリfiles
の所有者の権限を表し、ディレクトリfiles
がファイルの所有者によってread、written、executedされることを意味します。これらの文字のいずれかがハイフンに置き換えられた場合、所有者はその文字で表される権限の種類を持っていないことを意味します。まもなくファイルの所有者を特定する方法について説明します。
出力の次の3文字はr-x
で、files
ディレクトリのgroup権限を表します。この場合、グループには読み取りおよび実行権限がありますが、書き込み権限はありません。w
は-
に置き換えられています。まもなくグループを特定する方法について説明します。
最初の文字列の最後の3文字、r-x
は、マシンにアクセスできるその他のグループの権限を表します。この場合、これらのユーザーグループも読み取りおよび実行ができますが、書き込みはできません。
出力の中の数字2
は、このファイルへのリンクの数を示しています。Linuxでは、リンクはユーザーがファイルシステムをナビゲートするのを助けるためのショートカットを作成する方法を提供します。このファイルを作成したとき、Linuxはファイルへの絶対リンクと、相対パスを使用してユーザーがナビゲートできるようにするためのファイルへの自己参照リンクを作成するためのバックグラウンド作業を行いました。次のセクションで絶対パスと相対パスについて説明します。
数字2
の後に、単語sammy
が2回表示されます。この出力のこの部分は、files
ディレクトリに関連付けられた所有者とグループに関する情報を提供します。この行の最初のsammy
のインスタンスは、ディレクトリの所有者を示しており、前に見た権限はrwx
です。所有者のsammy
ユーザーは、sammy
ユーザーとしてfiles
ディレクトリを作成し、現在のファイルの所有者です。現在の環境ではsammy
ユーザーしかいませんが、Unix系のオペレーティングシステムには通常、1つ以上のユーザーが存在するため、ファイルの所有者を知っておくことが役立ちます。
2番目のsammy
のインスタンスは、files
ディレクトリにアクセス権限を持つグループを示しています。前に見た権限はr-x
です。この場合、グループ名は所有者のユーザー名sammy
と同じです。実際の環境では、staff
やadmin
のような、ディレクトリにアクセスできるその他のグループがオペレーティングシステムに存在する場合があります。
残りの詳細は、マシン上のディレクトリのメモリ割り当てに対する4.0K
と、ディレクトリが最後に修正された日付です(これまで、ただ作成しただけです)。
ファイルシステムと権限に関するこのより大きな理解を持っていると、Linuxターミナル上でファイルシステムを移動できます。
ファイルシステムを移動する
これまでに、ファイルシステム内の現在位置を確認する方法、新しいディレクトリを作成する方法、ファイルをリストアップする方法、および権限を確認する方法を学びました。
次に、ファイルシステム内を移動する方法を学びましょう。新しいディレクトリを作成しましたが、まだメインの/home/sammy
ユーザーディレクトリにいます。作成した/home/sammy/files
ディレクトリに移動するには、cd
コマンドを使用し、引数として移動したいディレクトリの名前を渡します。このcd
コマンドは、「change directory」の略です。構成は次のようになります:
再度、新しい行と点滅するカーソル以外の出力は受け取りませんが、先ほど使用したpwd
コマンドで現在位置が/home/sammy/files
ディレクトリにあることを確認できます:
以下の出力が表示され、現在の位置が確認されます:
Output/home/sammy/files
これにより、あなたが/home/sammy
ユーザーディレクトリの/home/sammy/files
ディレクトリにいることが確認されます。この構文はおなじみですか?それは、スラッシュを使ったウェブサイトのURLを思い出させるかもしれません。実際、ウェブサイトもディレクトリ内のサーバーに構築されています。
サーバーの主要なディレクトリに移動しましょう。ファイルシステムのどこにいるかにかかわらず、常にcd /
コマンドを使用して主要なディレクトリに移動できます。
移動したことを確認し、このディレクトリに何があるかを知るために、リストコマンドを実行しましょう。
次の出力が表示されます。
Outputbin boot dev etc home lib lib32 lib64 libx32 media mnt opt proc root run s sbin srv sys tmp usr var
そこにはたくさんのファイルがあります!/
ディレクトリは、Linuxサーバーのメインディレクトリであり、通常の「root」ユーザーとは異なります。 /
ディレクトリをLinuxマシンの主要な動脈と考えることができます。なぜなら、それにはコンピューターを実行するために必要なすべてのフォルダが含まれているからです。たとえば、sys
ディレクトリにはLinuxカーネルとシステム情報の仮想ファイルシステムが含まれています。これらのディレクトリの詳細について詳しく知りたい場合は、Linux Foundation documentationを参照してください。
また、すでにいたディレクトリである/home
ユーザーフォルダーも存在することに気付くでしょう。/
ディレクトリから、/home
にディレクトリを変更してからfiles
に戻るか、cd
を使用してそのフォルダーに直接戻ることができます。
今、pwd
を実行すると、出力として/home/sammy/files
を受け取ります。
A file path is the representation of where a file or directory is located on your computer or server. You can call a path to a file or directory in either a relative or absolute way. A relative path would be when we move to a location relative to our current working directory, like we did when we were already in /home/sammy/
and then moved into files/
. An absolute path is when we call the direct line to a location, as we did above with /home/sammy/files
, showing that we started in the /
directory, called the /home/sammy/
user directory and then the nested files/
directory.
さらに、Linuxは相対パスを使用してユーザーがナビゲートするのを支援するためにドット表記を活用しています。単一の.
は現在いるディレクトリを表し、二重の..
は親ディレクトリを表します。したがって、現在いる場所(/home/sammy/files
)から、親の/home/sammy
ユーザーディレクトリに戻るには、次のようにします:
pwd
を実行すると、出力として/home/sammy
を受け取り、ls
を実行すると、files
を出力します。
覚えておくと便利な別の重要なシンボルは~
です。これはマシンのホームディレクトリを表します。ここでは、ホームディレクトリはsammyユーザーの/home/sammy
と呼ばれますが、ローカルマシンではあなた自身の名前、例えばsammy-shark/
となる場合もあります。
どこからでも次のように入力すると、このホームディレクトリに戻ることができます:
この時点で、これまでに学んだコマンドを使ってファイルシステムを操作してみてください。次のセクションでは、テキストファイルを操作し始めます。
テキストファイルの作成と変更
今やLinuxファイルシステムの基礎とその操作方法を理解したところで、新しいファイルを作成し、コマンドラインでテキストを操作する方法を学んでいきましょう。
まず、pwd
を使用して確認するか、または絶対パスでディレクトリを変更することで、/home/sammy
ユーザーフォルダー内のfiles/
ディレクトリにいることを確認しましょう。
次に、新しいテキストファイルを作成します。ここでは、OSを横断して読み取ることができる標準の.txt
ファイルを作成します。.doc
ファイルとは異なり、.txt
ファイルは書式設定されていないテキストで構成されています。.txt
ファイルのような書式設定されていないテキストは、コマンドラインで簡単に使用でき、したがってテキストデータをプログラムで処理する際に使用できます(つまり、テキスト解析を自動化したり、テキストから情報を取得したりする場合など)。
まず、既存のファイルを変更するか新しいファイルを作成できるtouch
コマンドを使用します。使用方法は、以下に示すように、touch
コマンドを使用して作成したいテキストファイルの名前を引数として渡すことです。
ENTER
キーを押すと、新しい行のコマンドプロンプトが表示され、files/
の現在の内容をリストアップして作成されたことを確認できます。
Outputocean.txt
これまでに、作成時点でテキストを含まないocean.txt
ファイルが作成されました。
テキストで初期化されたテキストファイルを作成したい場合は、Linuxで文字列を表示するために使用されるecho
コマンドを使用できます。
コマンドライン上で直接echo
を使用して、インターフェイスに私たちの後に繰り返させることができます。 伝統的な最初のプログラム、「"Hello, World!"
」は、次のようにecho
を使用して書くことができます:
OutputHello, World!
エコー・オブ・オウィディウスの変身にちなんで、echo
コマンドは要求したものを返します。 この場合、それは「Hello, World!」をエコーしました。 ただし、echo
コマンド単体では、テキストの値をテキストファイルに保存することができません。 それを行うには、次のように入力する必要があります:
上記のコマンドはecho
を使用し、次に引用符で囲まれた追加するテキスト、次にリダイレクション演算子>
、そして最後に新しいテキストファイルの名前、sammy.txt
を入力します。
新しいファイルが存在することを再度ls
で確認できます。
Outputocean.txt sammy.txt
次に、ターミナルにエコーして追加するテキストがsammy.txt
に含まれていることを確認できます。これはcat
コマンドで行うことができます。 ファイルを連結するのを短縮して、cat
コマンドはファイルとの作業に非常に便利です。 其の機能の一つはファイルの内容を表示することです。
コマンドを実行すると、次の出力が表示されます:
OutputSammy the Shark
ocean.txt
の空のファイルでcat
を実行すると、何も返されません。 そのファイルにテキストがないためです。 この既存のファイルにもecho
を使用してテキストを追加できます。 ゾラ・ニール・ハーストンの引用をファイルに追加しましょう。
今、ファイルにcat
を実行すると、入力したテキストの出力を受け取ります。
OutputSome people could look at a mud puddle and see an ocean with ships.
これまでにテキストファイルを作成し、これらのファイルにテキストを追加しましたが、まだこれらのファイルを変更していません。それを行いたい場合は、コマンドラインテキストエディタを使用できます。VimやEmacsなど、いくつかの人気のある選択肢が存在します。この目的のためには、私たちは探索を始めるために使用できるより複雑でないCLIテキストエディタプログラムであるnanoを使用します。
nanoテキストエディタはnano
コマンドで呼び出すことができます。既存のsammy.txt
ファイルを編集したい場合は、ファイル名を引数として渡すことで行うことができます。
ファイルがターミナル上で開きます:
Sammy the Shark
キーボードの矢印キーを使用して、カーソルを行の末尾に移動し、Sammyの視点からいくつかの行を入力します。
注: コマンドラインでは、マウスや他のポインタを使用してファイルシステムやファイル内を移動することはできません。テキストファイル内を移動するには、キーボード、特に矢印キーを使用する必要があります。
ファイルが完了したら、次のようになる場合があります:
Sammy the Shark
Hello, I am Sammy.
I am studying computer science.
Nice to meet you!
ファイルに望むテキストが含まれている場合、ファイルを保存して閉じることができます。ターミナルウィンドウの下部にガイダンスが表示されていることに気付くかもしれません:
^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text ^T To Spell
現在、このファイルの作業は完了しているため、ファイルをExit
したいと思います。ここで、^
記号はキーボードのControl
またはCTRL
キーを指し、上記の出力によれば、このキーをX
キーと組み合わせて(SHIFT
キーを押さずに)ファイルから抜け出す必要があります。これらのキーを一緒に押しましょう:
CTRL x
上記は技術文書ではインラインでCTRL + X
またはCtrl+x
としてよく書かれます。
この時点で、以下のプロンプトが表示されます:
OutputSave modified buffer?
Y Yes
N No ^C Cancel
保存するには、y
キーを押します:
y
以下のようなフィードバックが得られます。
OutputFile Name to Write: sammy.txt
CTRL + C
でキャンセルするなどの追加オプションもありますが、ファイルを閉じるのに慣れている場合は、この時点でENTER
キーを押してファイルを保存して終了できます。
次に、DigitalOcean Universityの学生のいくつかのファイルを作成したいとしましょう。 files/
という名前の新しいディレクトリstudents
を作成します:
次に、sammy.txt
を新しいstudents/
ディレクトリに移動します。 ファイルの場所を変更するmv
コマンドは、moveの略です。 コマンドは、移動したいファイルを第一引数とし、新しい場所を第二引数とします。 以下のどちらの実行も同じ結果をもたらします。
この後のオプションは、ファイル名を変更したい場合に便利です。例えば、mv sammy.txt students/sammy-the-shark.txt
のようにします。
さて、ls
コマンドを実行すると、現在のディレクトリ(files/
)にはocean.txt
とstudents/
ディレクトリしかないことがわかります。では、students/
フォルダに移動しましょう。
他の学生用のテンプレートが必要な場合、sammy.txt
ファイルをコピーして追加のファイルを作成できます。これにはcp
コマンドを使用します。これはcopyの略です。このコマンドはmv
コマンドと同様に動作し、最初の引数に元のファイル、2番目の引数に新しいファイルを取ります。Alex the Leafy Seadragon用のファイルを作成します。
これで、alex.txt
を開いて中身を確認できます。
これまでのところ、alex.txt
はsammy.txt
とまったく同じようです。一部の単語を置換することで、このファイルを以下のように変更できます。行全体を削除するには、CTRL + K
を使用できます。
Alex the Leafy Seadragon
Hello, I am Alex.
I am studying oceanography.
Nice to meet you!
ファイルを保存して閉じるには、CTRL + X
、y
、ENTER
を押します。
テキストファイルの作成、編集、コピー、移動に慣れるために、Jamie the Mantis Shrimp、Jesse the Octopus、Drew the Squid、またはTaylor the Yellowfin Tunaのファイルを作成してみてください。
テキストファイルの作成、編集、コピー、移動に慣れたら、次のセクションに進みましょう。
オートコンプリートと履歴
このチュートリアルに組み込まれたインタラクティブなターミナルを含む、コマンドラインの多くのバージョンでは、進行中にコマンドを自動補完したり再利用したりすることができます。これにより、入力時間を節約して素早く移動できます。
cat
と、作業しているテキストファイルの最初の数文字を入力してみてください。たとえば、cat sa
と入力します。ファイル名sammy.txt
の全体を入力する前に、代わりにTAB
キーを押します。これにより、ファイル名が自動的に補完され、ターミナルプロンプトに次の内容が表示されます:
これで、ENTER
キーを押すと、ターミナルはファイルの内容をコマンドラインに返します。
もう1つのショートカットは、UP
矢印キーを押すことです。これにより、最近実行したコマンドをサイクルできます。点滅するカーソルを持つ新しい行で、UP
矢印キーを数回押すと、以前のコマンドに簡単にアクセスできます。
ターミナルで行ったすべてのコマンドを再現する必要がある場合は、適切に名付けられたhistory
コマンドでこのセッションの履歴全体を呼び出すこともできます:
練習した内容に応じて、30行以上のコマンドが表示され、次の出力から始まります:
Output 1 pwd
2 mkdir files
3 ls
4 ls -l
...
これらのショートカットを習得することは、コマンドラインインターフェイスをより習熟する際のサポートになります。
Webからのファイル操作
インターネットに接続されたコマンドラインインターフェイスで作業する最も興奮する側面の1つは、Web上のすべてのリソースにアクセスでき、それらに自動的にアクションを起こすことができることです。ターミナルを使用すると、資格情報を持つクラウドサーバーに直接アクセスしたり、クラウドインフラストラクチャを管理したり、オーケストレーションしたり、独自のWebアプリを構築したりすることもできます。今のところ、ターミナルでテキストファイルを操作する方法を既に学んでいるので、Webからテキストファイルを取得して使用しているマシンでそのテキストファイルを利用できるようにする方法について説明します。
まず、files/
ディレクトリに移動しましょう。
ここから、curl
コマンドを使用して、Webからデータを個人用のインタラクティブなブラウザのターミナルに転送します。 curl
コマンドは、client URL(Webアドレス)の略です。
私たちは、クラウドサーバーにジュール・ヴェルヌの「海底二万里」からの短い文章をアップロードしました。そのファイルのURLをcurl
コマンドに渡します。以下に示すように。
ENTER
キーを押すと、パッセージのテキストがターミナルに出力されます(以下に抜粋)。
Output"You like the sea, Captain?"
"Yes; I love it! The sea is everything. It covers seven tenths of the terrestrial globe.
...
"Captain Nemo," said I to my host, who had just thrown himself on one of the divans, "this
is a library which would do honor to more than one of the continental palaces, and I am
absolutely astounded when I consider that it can follow you to the bottom of the seas."
ターミナルウィンドウにテキストを表示することは興味深いですが、ファイルが利用可能ではなく、データの転送のみが行われていることを知っています。ファイルが存在しないことを確認するには、ls
を実行してください。
テキストをファイルに保存するには、-O
フラグを使用してcurl
を実行する必要があります。これにより、リモートファイルの名前をローカルコピーの名前として出力できます。
ターミナルからファイルのダウンロード完了のフィードバックを受け取ります。
Output % Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2671 100 2671 0 0 68487 0 --:--:-- --:--:-- --:--:-- 68487
ファイルの特定の代替名を使用する場合は、-o
フラグを使用して新しいファイルの名前(この場合はjules.txt
)を引数として渡すことができます。
これで、このファイルを他のテキストファイルと同様に操作できます。cat
を使用したり、nano
で編集したりしてみてください。
次のセクションでは、いくつかのファイルを整理し、ターミナルを終了します。
ファイルの削除とコマンドの終了
他のコンピュータと同様に、不要になったファイルやフォルダを削除し、使用しているプログラムを終了する必要があります。
例えば、DigitalOcean Universityの学生が卒業し、関連するファイルとフォルダを整理する必要があるとします。 students/
ディレクトリにいることを確認してください。
ls
を実行すると、フォルダにはいくつかのファイルがあるかもしれません。次のように:
Outputalex.txt drew.txt jamie.txt jesse.txt sammy.txt taylor.txt
個々のファイルをrm
コマンドで削除できます。これはremoveの略です。削除したいファイルを引数として渡す必要があります。
警告: ファイルを削除すると、元に戻すことはできません。ファイルを削除する前に、本当に削除したいかどうかを確認してください。ENTER
を押す前に確認してください。
これで、ls
を実行すると、sammy.txt
がフォルダに存在しないことがわかります。
Outputalex.txt drew.txt jamie.txt jesse.txt taylor.txt
個々のファイルをrm
で削除できることがわかりましたが、students/
ディレクトリ全体とその内容を削除する場合には効率的ではありません。
ディレクトリを削除するために使用されるコマンドはrmdir
です。これはremove directoryの略です。親フォルダーに移動して、そこからstudents/
ディレクトリを操作できるようにします(現在いるフォルダーを削除することはできません)。
/home/sammy/
ユーザーディレクトリから、students
にrmdir
を実行できます。
しかし、これは機能しません。次のフィードバックが表示されます:
Outputrmdir: failed to remove 'students': Directory not empty
rmdir
は空のディレクトリのみに機能し、students
ディレクトリにはまだファイルが含まれているためです。(ここでは、新しい空のフォルダーを作成し、それにrmdir
を試してみることができます。空のフォルダーはrmdir
で削除できます。)
ディレクトリ内にまだファイルがある場合、異なるオプションを試す必要があります。 コンピュータサイエンスでは、再帰が頻繁に使用され、反復的に自己参照されるため、主要なアイテムとそのすべての依存関係を呼び出すことができます。 rm
コマンドを使用して、主要なstudents
ディレクトリとそのすべての内容の依存関係を再帰的に削除できます。 -r
フラグを使用し、students
フォルダを引数として渡します。
この時点で、ls
を実行すると、students/
が現在のディレクトリにはもう存在せず、それが保持していたファイルも利用できなくなっていることに気付きます。
ターミナルセッションを終了するとき、特にリモートサーバーで作業している場合は、exit
コマンドを使用してターミナルを終了できます。 このセッションで達成した内容に満足したら(それを元に戻すことはできないので)、以下の内容を入力してからENTER
を押してターミナルを終了できます。
インタラクティブターミナルで、以下の出力が表示され、セッションが終了したことが確認できます。
OutputSession ended
このセッションが完了したら、このページを更新してから新しいターミナルを起動して、別のコマンドを試したり、新しいファイルシステムを探索したりできます。
結論
おめでとうございます! 今、あなたは端末インターフェースの操作方法を知っており、コンピュータやサーバーをより効果的に利用するための道を歩んでいます。
学習を続けるためには、当社のクラウドコンピューティング入門カリキュラムを受講することができます。
Source:
https://www.digitalocean.com/community/tutorials/a-linux-command-line-primer