Linuxコマンドライン入門書

提供:Dev Guides
移動先:案内検索

序章

今日、私たちの多くは、グラフィカルユーザーインターフェイス(GUIとも呼ばれる)を備えたコンピューター(デスクトップとラップトップ)、スマートフォン、タブレットに精通しており、アプリ、Web、およびファイル(ドキュメントや写真など)をナビゲートできます。視覚的な体験を通して。 Windows、macOS、およびLinuxオペレーティングシステムはそれぞれ、さまざまなデスクトップ環境(たとえば、フォルダーやファイルのイメージを含む)、およびドロップダウンメニューを提供します。これらはすべて、コンピュータープログラム、アプリケーション、および独自のメディアへのアクセスを提供します。

GUIは多くのユーザーにとって直感的なコンピューターの使用方法ですが、多くの場合、コンピューターに対して最大の能力を提供せず、インストール、変更、削除など、コンピューターの完全な管理アクセスを妨げる可能性があります。ソフトウェアまたはファイル。 さらに、GUIは主に視覚的であるため、すべてのユーザーがアクセスできるほどアクセスできないことがよくあります。

GUIを使用せずに自分のパーソナルコンピューターとリモートクラウドサーバーの両方をナビゲートする1つの方法は、テキストベースの端末またはコマンドラインインターフェイス(CLI)を使用することです。 下の青いLaunch an Interactive Terminal!ボタンをクリックすると、ブラウザで起動できます。

インタラクティブターミナルを起動します!

ターミナルインターフェイスは、ほぼすべてのコンピューターオペレーティングシステムに存在し、ターミナルエミュレーターは、タブレットやスマートフォン用のアプリとしても利用できます。 ターミナルは、管理者アクセスの向上、環境をカスタマイズする機能の向上、およびプロセスを自動化する機会を通じて、ユーザーにマシンへの全体的なアクセスを提供します。 また、クラウドサーバーなどのリモートコンピューターにアクセスする機能もユーザーに提供します。

このチュートリアルでは、ターミナル環境を初めて使用するユーザーに、ブラウザに埋め込まれたWebターミナルを介してコマンドラインインターフェイスを使用するための基本を提供します。これは、以下で起動できます。 すでにターミナルに精通している場合は、代わりにLinuxターミナルの概要チュートリアルを実行することをお勧めします。 このチュートリアルを完了すると、Linux(またはmacOS)コンピューターまたはサーバーでターミナルを使用する方法を理解する必要があります。

ターミナルウィンドウを理解する

新しいコンピューターやスマートフォンに初めてアクセスするときは、電源を入れて、利用可能なアプリを確認し、デバイスをカスタマイズできるように、どこにあるのかを確認して、使用方法を理解することをお勧めします。あなたの要望。 同様の方法で、端末を介してコンピューターに慣れることができます。

このブラウザウィンドウで起動したインタラクティブ端末で、上のLaunch an Interactive Terminal!ボタンをクリックすると、ブラウザウィンドウの下部に白い長方形が表示されます。

ターミナルをまだ起動していない場合は、このチュートリアルの最初にあるボタンを使用して起動してください。

インタラクティブブラウザターミナルには、ドル記号$と点滅するカーソルがあります。 ここから、端末に何をすべきかを指示するコマンドを入力し始めます。

起動した端末はUbuntu20.04端末です。 UbuntuはLinuxの人気のあるディストリビューションであり、元々はUnixオペレーティングシステムに基づいていました。 macOSオペレーティングシステムもUnixに基づいています。 LinuxまたはmacOSマシンでこのチュートリアルを読んでいる場合は、このガイドで使用する組み込み端末と同様に機能する端末がオペレーティングシステムにあるはずです。

これらのUnix(または* nixベース)オペレーティングシステムの多くでは、プロンプトの最後にある記号は、$記号または#記号である場合があります。これは、次のことを意味します。

  • $またはドル記号—通常のユーザーとしてログインしています
  • #またはハッシュタグ/ポンド記号—昇格された特権を持つユーザーとしてログインしています

#環境で通知されるユーザーは、rootユーザーとも呼ばれ、デフォルトではスーパーユーザーまたは管理者と見なされます。

以下のブラウザ端末では、通常のユーザーとしてログインしていますが、sudoコマンドによる管理者権限もあります。 これは一時的な端末であるため、端末に何を入力するかを気にする必要はありません。完了するとすべてが破棄されます。 同様に、クラウドサーバーでは、サーバーを破壊して、問題が発生した場合に最初からやり直すことができます。

注意ローカルコンピューターの端末で作業するときは、使用しているコンピューターに永続的な変更を加えることができる端末の管理者として変更できる可能性があるため、より注意を払うことをお勧めします。


この時点で、ブラウザで端末を起動すると、ローカルコンピュータを使用して端末への入力を開始できます。 点滅しているカーソルにテキストが表示されます。 次のセクションでは、ここで入力できる内容について学習します。

ディレクトリに精通する

コマンドを入力して、端末の操作を開始します。 コマンドは、ユーザーがコンピューターに実行させたいことを伝える、ユーザーからの指示です。 ターミナルにコマンドを入力し、コンピューターが特定のコマンドを実行する準備ができたら、ENTERまたはRETURNを押します。

次のコマンドに続けてENTERと入力してみましょう。 コマンドをコピーするか、マウスでコマンドにカーソルを合わせたときに下のコードブロックの関連リンクをクリックして、起動したインタラクティブ端末で実行するように依頼することもできます。

pwd

このコマンドを実行すると、次の出力が表示されます。

Output/home/sammy

pwdコマンドは、「 p resent w orking d irectory」の略で、現在のファイルシステム内のどこにいるかを通知します。

この例では、/home/sammyというディレクトリ(またはフォルダ)にいます。これは、sammyというユーザーを表します。 昇格された特権を持つユーザーであるrootとしてログインしている場合、ディレクトリは/rootと呼ばれます。 パーソナルコンピュータでは、このディレクトリはコンピュータを所有するユーザーの名前と呼ばれることがあります。 Sammy Sharkのコンピュータには、プライマリユーザーディレクトリとして/sammyまたは/sammy-sharkまたは/home/sammyがある場合があります。

現在、このディレクトリは空です。 このチュートリアルを進めるときに作成するファイルを格納するディレクトリを作成しましょう。たとえば、filesと呼ぶことができます。

これを行うには、mkdirコマンドを使用します。これは「m a k e directory」の略です。 コマンドを入力した後、フォルダの名前を書き込む必要があります。これにより、このディレクトリの作成時にコマンドを実行できるように、コマンドに値が渡されます。 この値(フォルダーの名前)は、引数と呼ばれ、コマンドに入力されます。 自然言語の文法に精通している場合は、引数をコマンドの動詞によって実行されるオブジェクトと考えることができます。

filesという新しいディレクトリを作成するために、次のように記述します。mkdirがコマンドで、filesが引数です。

mkdir files

このコマンドを実行すると、カーソルが点滅している改行以外の出力は表示されません。 ターミナルにこの新しい行があれば、次のコマンドの準備ができています。

コンテンツの一覧表示と権限の理解

新しいディレクトリに関する具体的なフィードバックはまだ受け取っていないため、コマンドを使用して、現在の作業ディレクトリにあるものについて詳しく学習します。 lsコマンド(「 l i s t」を意味します)を使用して、ディレクトリ内のファイルを一覧表示することにより、新しいディレクトリが実際に存在することを確認できます。

ls

filesディレクトリがそこにあることを確認する出力を受け取ります。

Outputfiles

これにより、現在の作業ディレクトリにあるものに関する一般的な情報が得られます。 詳細を知りたい場合は、フラグと呼ばれるコマンドを使用してlsコマンドを実行できます。 Linuxコマンドでは、フラグはハイフン-と文字で記述され、コマンドに追加のオプション(およびその他の引数)を渡します。 この例では、-lフラグを追加します。これは、lsと組み合わせると、コマンドで長いリスト形式を使用するオプションを使用することを示します。

次のように、このコマンドとフラグを入力してみましょう。

ls -l

ENTERを押すと、端末に次の出力が表示されます。

Outputtotal 4
drwxr-xr-x 2 sammy sammy 4096 Nov 13 18:06 files

ここでは、2行の出力があります。 1行目は、このディレクトリに割り当てられているコンピュータのメモリブロックを示し、2行目は、ほとんどの場合、ファイルに対するユーザー権限を示しています。

人間が読める形式の出力を取得するために、-hまたは--human-readableフラグを渡すこともできます。これにより、以下のように、人間が読める形式でメモリサイズが出力されます。 一般に、1つのハイフン-は単一文字のオプションを指し、2つのハイフン--は単語で書き出されるオプションを指します。 一部のオプションでは両方の形式を使用できることに注意してください。 -lhのように、フラグをチェーン化することで、コマンドに複数のオプションを組み込むことができます。

たとえば、以下の2つのコマンドは、記述が異なっていても同じ結果をもたらします。

ls -lh
ls -l --human-readable

これらのコマンドは両方とも、上記の出力と同様ですが、メモリブロックのコンテキストが大きい次の出力を返します。

Outputtotal 4.0K
drwxr-xr-x 2 sammy sammy 4.0K Nov 13 18:06 files

出力の最初の行は、4Kのコンピューターメモリがフォルダー専用であることを示しています。 出力の2行目には、さらに多くの詳細があります。これについては、さらに詳しく説明します。 以下の表に、ここで取り上げるすべての情報の一般的な高レベルのリファレンスを示します。

ファイルタイプ 権限 リンク数 オーナー グループ ファイルサイズ 最終更新日 ファイル名
d rwxr-xr-x 2 サミー サミー 4.0K 11月13日18:06 ファイル

ディレクトリの名前filesは、出力の2行目の終わりにあることに注意してください。 この名前は、/home/sammyユーザーディレクトリ内のどの特定のアイテムが出力行によって記述されているかを示します。 ディレクトリに別のファイルがある場合、そのファイルの詳細を含む別の出力行があります。

行の先頭には、文字とダッシュのリストがあります。 各文字の意味を分解してみましょう。

キャラクター 説明
d d irectory(またはフォルダー)—他のファイルを保持できるファイルのタイプで、ファイルシステムの整理に役立ちます。 代わりにこれが-の場合、これは非ディレクトリファイルを参照します
r r ead —ファイルを開いて読み取る、またはディレクトリの内容を一覧表示する権限
w w rite —ファイルのコンテンツを変更する権限。 ディレクトリ内のファイルを追加、削除、名前変更するには
x e x ecute —プログラムであるファイルを実行する権限、またはディレクトリ内のファイルを入力してアクセスする権限

文字列の最初のdrwx文字で、最初の文字dは、アイテムfilesがディレクトリであることを意味します。 これがディレクトリ以外のファイルの場合、-rwxのように、この文字列は代わりにハイフンで始まります。最初のハイフンはディレクトリ以外のファイルを示します。 次の3文字rwxは、ディレクトリfiles所有者の権限を表し、ディレクトリfilesになる可能性があることを意味します。 r ead、 w 書き込み、およびe xファイルの所有者によって実行されます。 これらの文字のいずれかがハイフンに置き換えられた場合、それは所有者がその文字で表される種類の権限を持っていないことを意味します。 ファイルの所有者を特定する方法については、すぐに説明します。

出力の次の3文字は、r-xです。これは、filesディレクトリのgroup権限を表します。 この例では、w-に置き換えられているため、グループには読み取りおよび実行のアクセス許可がありますが、書き込みのアクセス許可はありません。 グループを特定する方法については、すぐに説明します。

最初の文字列の最後の3文字、r-xは、マシンにアクセスできる他のグループのアクセス許可を表します。 この場合、これらのユーザーグループは読み取りと実行もできますが、書き込みはできません。

出力の番号2は、このファイルへのリンクの数を示しています。 Linuxでは、リンクは、ユーザーがファイルシステムをナビゲートするのに役立つショートカットを作成する方法を提供します。 このファイルを作成したとき、Linuxは、ファイルへの絶対リンクと、ユーザーが相対パスに沿ってナビゲートできるようにするためのファイルへの自己参照リンクを作成するためのバックグラウンド作業を行いました。 次のセクションでは、絶対パスと相対パスについて説明します。

2の後に、sammyという単語が2回表示されます。 出力のこの部分は、filesディレクトリに関連付けられている所有者とグループに関する情報を提供します。 この行のsammyの最初のインスタンスは、ディレクトリの所有者を参照しています。このディレクトリのアクセス許可は、rwxです。 sammyユーザーは、filesディレクトリをsammyユーザーとして作成したときの所有者であり、ファイルの現在の所有者です。 現在の環境ではsammyユーザーが唯一のユーザーですが、Unixライクなオペレーティングシステムには複数のユーザーがいることが多いため、どのユーザーがファイルの所有権を持っているかを知ると便利です。

sammyの2番目のインスタンスは、filesディレクトリにアクセスできるグループを指します。このグループの権限は、r-xです。 この場合、グループ名は所有者のユーザー名sammyと同じです。 実際の環境では、staffadminなどのユーザー名など、ディレクトリにアクセスできる他のグループがオペレーティングシステム上に存在する場合があります。

この出力行の残りの詳細は、マシン上のディレクトリのメモリ割り当ての4.0Kと、ディレクトリが最後に変更された日付です(これまでのところ、作成したばかりです)。

ファイルシステムとアクセス許可についてのこの理解が深まったので、Linuxターミナルでのファイルシステムのナビゲートに進むことができます。

ファイルシステムのナビゲート

これまで、ファイルシステム内のどこにいるかを判断する方法、新しいディレクトリを作成する方法、ファイルを一覧表示する方法、およびアクセス許可を判断する方法を学びました。

次に、ファイルシステム内を移動する方法を学びましょう。 新しいディレクトリを作成しましたが、まだメインの/home/sammyユーザーディレクトリにあります。 作成した/home/sammy/filesディレクトリに移動するには、cdコマンドを使用して、移動するディレクトリの名前を引数として渡します。 コマンドcdは、「 c hange d irectory」の略で、次のように構成します。

cd files

繰り返しになりますが、カーソルが点滅している改行以外の出力は受信されませんが、前に使用したpwdコマンドを使用して、/home/sammy/filesディレクトリにいることを確認できます。

pwd

次の出力が表示され、現在地を確認できます。

Output/home/sammy/files

これにより、/home/sammyユーザーディレクトリの/home/sammy/filesディレクトリにいることが確認されます。 この構文はおなじみですか? WebサイトのURLにスラッシュが付いていることを思い出させるかもしれません。実際、Webサイトもディレクトリ内のサーバー上で構造化されています。

サーバーのプライマリディレクトリに移動しましょう。 ファイルシステムのどこにいても、コマンドcd /を使用してプライマリディレクトリに移動できます。

cd /

移動したことを確認し、このディレクトリに何があるかを知るために、listコマンドを実行してみましょう。

ls 

次の出力が表示されます。

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カーネルとシステム情報の仮想ファイルシステムが保持されます。 これらの各ディレクトリについて詳しく知りたい場合は、LinuxFoundationのドキュメントにアクセスしてください。

また、すでに使用しているディレクトリ/homeユーザーフォルダがあることにも気付くでしょう。 /ディレクトリから、ディレクトリを/homeに戻し、次にfilesに戻すか、cd

cd /home/sammy/files

ここで、pwdを実行すると、出力として/home/sammy/filesを受け取ります。

ファイルパスは、コンピューターまたはサーバー上のファイルまたはディレクトリの場所を表します。 ファイルまたはディレクトリへのパスは、相対的な方法または絶対的な方法で呼び出すことができます。 相対パスは、すでに/home/sammy/にいて、files/に移動したときのように、現在の作業ディレクトリからの相対的な場所に移動するときです。 絶対パスは、上記の/home/sammy/filesで行ったように、場所への直通電話を呼び出す場合で、/ディレクトリで/home/sammy/ユーザーディレクトリ、次にネストされたfiles/ディレクトリ。

さらに、Linuxはドット表記を利用して、ユーザーが相対パスをナビゲートできるようにします。 シングル.は現在のディレクトリを表し、ダブル..は親ディレクトリを表します。 したがって、現在の場所(/home/sammy/files)から、次のように2つのドットを使用して親/home/sammyユーザーディレクトリに戻ることができます。

cd ..

pwdを実行すると、出力として/home/sammyを受け取り、lsを実行すると、出力としてfilesを受け取ります。

よく知っておくべきもう1つの重要な記号は、マシンのホームディレクトリを表す~です。 ここでは、サミーユーザーのホームディレクトリは/home/sammyと呼ばれていますが、ローカルマシンでは、sammy-shark/のように自分の名前である可能性があります。

マシンのどこからでも次のように入力して、このホームディレクトリに戻ることができます。

cd ~

この時点で、これまでに学習したコマンドを使用して、ファイルシステム内を自由に移動できます。 次のセクションでは、テキストファイルの操作を開始します。

テキストファイルの作成と変更

Linuxファイルシステムの基礎とその回避方法がわかったので、新しいファイルの作成を開始し、コマンドラインでテキストを操作する方法を学びましょう。

まず、/home/sammyユーザーフォルダのfiles/ディレクトリにいることを確認します。これは、pwdで確認するか、絶対ディレクトリを変更することで実行できます。道:

cd /home/sammy/files

次に、新しいテキストファイルを作成します。 .txtファイルを作成します。これは、オペレーティングシステム間で読み取ることができる標準ファイルです。 .docファイルとは異なり、.txtファイルはフォーマットされていないテキストで構成されています。 .txtファイルのテキストを含むフォーマットされていないテキストは、コマンドラインで簡単に使用できるため、プログラムでテキストデータを操作するときに使用できます(たとえば、テキスト分析の自動化、テキストからの情報の取得、もっと)。

まず、touchコマンドを使用します。このコマンドを使用すると、新しいファイルを作成したり、既存のファイルを変更したりできます。 これを使用するには、コマンドtouchを使用して、以下に示すように、作成するテキストファイルの名前を引数として渡すことができます。

touch ocean.txt

ENTERを押すと、コマンドプロンプトの新しい行が表示され、files/の現在の内容を一覧表示して、作成されたことを確認できます。

ls
Outputocean.txt

これまでに、作成時にテキストを含まないocean.txtファイルを作成しました。

テキストで初期化されるテキストファイルを作成する場合は、Linuxでテキストの文字列を表示するために使用されるechoコマンドを使用できます。

コマンドラインでechoを直接使用して、後でインターフェイスを繰り返すことができます。 従来の最初のプログラムである"Hello, World!"は、次のようにechoで記述できます。

echo Hello, World!
OutputHello, World!

EchoofOvidのMetamorphosisにちなんで名付けられた、echoコマンドは、要求したものを返します。 この場合、「Hello、World!」とエコーしました。 ただし、echoコマンドだけでは、テキストの値をテキストファイルに保存することはできません。 そのためには、次のように入力する必要があります。

echo "Sammy the Shark" > sammy.txt

上記のコマンドは、echoを使用し、次に引用符で囲んでファイルに追加するテキスト、次にリダイレクト演算子>、最後に新しいテキストファイルの名前[を使用します。 X180X]。

lsを使用して、新しいファイルが存在することを確認できます。

ls
Outputocean.txt  sammy.txt

これで、/home/sammy/filesユーザーフォルダーに2つのテキストファイルがあります。 次に、ファイルsammy.txtに、端末にエコーするように要求したテキストが含まれていることを確認できます。 catコマンドでそれを行うことができます。 con cat enateの略で、catコマンドはファイルの操作に非常に便利です。 その機能の中には、ファイルの内容を表示することがあります。

cat sammy.txt

コマンドを実行すると、次の出力が表示されます。

OutputSammy the Shark

空のファイルocean.txtcatを実行した場合、そのファイルにはテキストがないため、何も返されません。 echoを使用して、この既存のファイルにテキストを追加することもできます。 ZoraNealeHurstonからの引用をファイルに追加しましょう。

echo "Some people could look at a mud puddle and see an ocean with ships." > ocean.txt

ここで、ファイルに対してcatを実行すると、入力したテキストの出力が表示されます。

cat ocean.txt
OutputSome people could look at a mud puddle and see an ocean with ships. 

これまでに、テキストファイルを作成し、これらのファイルにテキストを追加しましたが、これらのファイルはまだ変更していません。 それを実行したい場合は、コマンドラインテキストエディタを使用できます。 VimやEmacsなど、いくつかの人気のある選択肢があります。 ここでは、nanoを使用します。これは、探索を開始するために使用できる、それほど複雑ではないCLIテキストエディタープログラムです。

nanoテキストエディタは、nanoコマンドで呼び出すことができます。 既存のsammy.txtファイルを編集する場合は、ファイル名を引数として渡すことで編集できます。

nano sammy.txt

ファイルが端末で開きます。

sammy.txt

Sammy the Shark

キーボードの矢印キーを使用して、カーソルを行の終わりに移動し、サミーの視点から数行の入力を開始します。

:コマンドラインでは、ファイルシステム内とファイル内の両方で、マウスやその他のポインターを使用してナビゲートすることはできません。 テキストファイル内を移動するには、キーボード、特に矢印キーを使用する必要があります。


ファイルの処理が完了すると、次のようになります。

sammy.txt

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キーを押さずに、この小文字を使用してください)ファイルを残すために。 これらの2つのキーを一緒に押してみましょう。

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大学の学生のファイルをいくつか作成したいとします。 files/studentsという名前の新しいディレクトリを作成しましょう。

mkdir students

次に、sammy.txtを新しいstudents/ディレクトリに移動しましょう。 m o v eの略であるmvコマンドを使用すると、ファイルの場所を変更できます。 コマンドは、移動するファイルを最初の引数として、新しい場所を2番目の引数として使用して作成されます。 次の実行はどちらも同じ結果になります。

mv sammy.txt students
mv sammy.txt students/sammy.txt

この後者のオプションは、mv sammy.txt students/sammy-the-shark.txtのようにファイルの名前を変更する場合に役立ちます。

ここで、lsコマンドを実行すると、ocean.txtディレクトリとstudents/ディレクトリのみが現在のディレクトリ(files/)にあることがわかります。 students/フォルダに移動しましょう。

cd students

他の生徒用のテンプレートを作成するために、sammy.txtファイルをコピーしてさらにファイルを作成できます。 これを行うには、cpコマンドを使用できます。これはc o pyの略です。 このコマンドは、mvコマンドと同様に機能し、元のファイルを最初の引数として、新しいファイルを2番目の引数として使用します。 Alex theLeafySeadragonのファイルを作成します。

cp sammy.txt alex.txt

これで、alex.txtを開いて検査できます。

nano alex.txt

これまでのところ、alex.txtsammy.txtと同じように見えます。 一部の単語を置き換えることで、このファイルを次のように変更できます。 CTRL + Kを使用して行全体を削除できることに注意してください。

alex.txt

Alex the Leafy Seadragon

Hello, I am Alex.
I am studying oceanography.
Nice to meet you!

CTRL + XyENTERの順に押すと、ファイルを保存して閉じることができます。

テキストファイルをもっと練習したい場合は、シャコのジェイミー、タコのジェシー、イカのドリュー、キハダのテイラーのファイルを作成することを検討してください。

テキストファイルの作成、編集、コピー、および移動に慣れたら、次のセクションに進むことができます。

オートコンプリートと履歴

このチュートリアルに組み込まれているインタラクティブ端末を含む多くのバージョンのコマンドラインでは、コマンドをオートコンプリートして再利用できます。 これにより、入力時間を節約できるため、より迅速に移動できます。

catと、作業中のテキストファイルの1つの最初の数文字(たとえば、cat sa)を入力してみてください。 sammy.txtのファイル名全体を入力する前に、代わりにTABキーを押してください。 これにより、完全なファイル名がオートコンプリートされ、ターミナルプロンプトに次のように表示されます。

cat sammy.txt

ここで、ENTERを押すと、端末はファイルの内容をコマンドラインに戻す必要があります。

もう1つのショートカットは、UP矢印キーを押すことです。これにより、実行した最新のコマンドを切り替えることができます。 カーソルが点滅している新しい行で、UP矢印キーを数回押すと、前のコマンドにすばやくアクセスできます。

ターミナルで実行したすべてのコマンドを複製する必要がある場合は、適切な名前のhistoryコマンドを使用して、このセッションの履歴全体を呼び出すこともできます。

history

練習した量に応じて、次の出力から始まる30行以上のコマンドを受け取る必要があります。

Output    1  pwd
    2  mkdir files
    3  ls
    4  ls -l
...

これらのショートカットに精通していると、コマンドラインインターフェイスに習熟するにつれてサポートされます。

Webからのファイルの操作

インターネットに接続されたコマンドラインインターフェイスで作業することの最もエキサイティングな側面の1つは、Web上のすべてのリソースにアクセスでき、自動化された方法でそれらを操作できることです。 ターミナルを使用すると、資格情報を持っているクラウドサーバーに直接アクセスしたり、クラウドインフラストラクチャを管理および調整したり、独自のWebアプリを構築したりすることもできます。 今のところ、端末でテキストファイルを操作する方法をすでに学習しているので、使用しているマシンでそのテキストファイルを使用できるように、Webからテキストファイルをプルダウンする方法について説明します。

files/ディレクトリに戻りましょう。

cd /home/sammy/files

ここから、curlコマンドを使用して、Webからブラウザー上の個人用インタラクティブ端末にデータを転送します。 コマンドcurlは、 c lient URL (Webアドレス)を表します。

ジュール・ヴェルヌの海底二万里からの短い文章をクラウドサーバーにアップロードしました。 以下に示すように、そのファイルのURLをcurlコマンドに渡します。

curl https://assets.digitalocean.com/articles/command-line-intro/verne_twenty-thousand-leagues.txt

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を実行する必要があります。これにより、リモートと同じ名前のテキストをファイルに出力できます。ローカルコピーのファイル。

curl -O https://assets.digitalocean.com/articles/command-line-intro/verne_twenty-thousand-leagues.txt

ファイルがダウンロードされたというフィードバックを端末から受け取ります。

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)として渡すことができます。 )。

curl -o jules.txt https://assets.digitalocean.com/articles/command-line-intro/verne_twenty-thousand-leagues.txt

これで、他のテキストファイルとまったく同じようにこのファイルで作業できます。 catを使用するか、nanoで編集してみてください。

次のセクションでは、いくつかのファイルをクリーンアップして、ターミナルを終了します。

ファイルの削除とコマンドの終了

他のコンピューターと同様に、関連性がなくなったファイルやフォルダーを削除して、使用しているプログラムを終了する必要がある場合があります。

DigitalOcean大学で知っている学生が卒業し、ファイルと関連するフォルダをクリーンアップする必要があるとします。 students/ディレクトリにいることを確認してください。

cd /home/sammy/files/students

lsを実行すると、次のようにフォルダにいくつかのファイルが含まれる場合があります。

Outputalex.txt  drew.txt  jamie.txt  jesse.txt  sammy.txt  taylor.txt

rmコマンド( r e m oveの略)を使用して、個々のファイルを削除できます。 削除したいファイルを引数として渡す必要があります。

警告:ファイルを削除すると、元に戻すことはできないことに注意してください。 ENTERを押す前に、必ずファイルを削除してください。


rm sammy.txt

ここで、lsを実行すると、sammy.txtがフォルダーに存在しないことがわかります。

Outputalex.txt  drew.txt  jamie.txt  jesse.txt  taylor.txt

rmを使用して個々のファイルを削除できることはわかっていますが、students/ディレクトリ全体とそのすべての内容を削除する場合は、時間効率があまり良くありません。

ディレクトリの削除に使用されるコマンドはrmdirと呼ばれ、 r e m ove directoryの略です。 filesの親フォルダに移動して、そこからstudents/ディレクトリを操作できるようにします(現在のフォルダを削除することはできません)。

cd ..

/home/sammy/ユーザーディレクトリから、studentsrmdirを実行できます。

rmdir students

ただし、次のフィードバックを受け取るため、これは機能しません。

Outputrmdir: failed to remove 'students': Directory not empty

rmdirは空のディレクトリでのみ機能し、studentsディレクトリにはまだファイルが含まれているため、コマンドは機能しませんでした。 (ここで、新しい空のフォルダーを作成し、そのフォルダーでrmdirを試すことができます。 空のフォルダはrmdirで削除できます。)

ファイルが残っているディレクトリを削除するには、別のオプションを試す必要があります。 コンピュータサイエンスでは、再帰は一般的に自己参照を繰り返すために使用されます。 したがって、プライマリアイテムとそのすべての依存関係の両方を呼び出すことができます。 rmコマンドを使用すると、プライマリstudentsディレクトリとそのすべてのコンテンツ依存関係を再帰的に削除できます。 r ecursiveを表す-rフラグを使用し、引数としてstudentsフォルダーを渡します。

rm -r students

この時点で、lsを実行すると、students/が現在のディレクトリに存在しなくなり、保持されているファイルもすべて削除されているため、使用できなくなります。 。

ターミナルセッションが終了したとき、特にリモートサーバーで作業しているときは、exitコマンドを使用してターミナルを終了できます。 このセッションで達成したことに満足したら(復元できないため)、次のように入力し、ENTERを入力して端末を終了します。

exit

インタラクティブ端末で、セッションが終了したことを確認する次の出力を受け取ります。

OutputSession ended

このセッションが完了すると、このページを更新してから、新しいターミナルを起動して代替コマンドを試したり、新しいファイルシステムを作成して探索したりできます。

結論

おめでとう! これで、ターミナルインターフェイスの使い方がわかり、コンピューターとサーバーでさらに多くのことを実行できるようになりました。

学習を続けるために、クラウドコンピューティング入門カリキュラムを使用して、リモートサーバーのセットアップと管理に関するガイド付きの経路をたどることができます。