Linux と Bash の概要

このチュートリアルでは、Linux を初めて使用するユーザーが、WSL を使用して既定でインストールされる Linux の Ubuntu ディストリビューションを使用してパッケージのインストールと更新を開始したり、Bash コマンド ラインで基本的なコマンドを使用したりするのに役立ちます。

ソフトウェアのインストールと更新

実行中のディストリビューションに適したパッケージ マネージャーを使用して、コマンド ラインからソフトウェア プログラムを直接インストールおよび更新できます。

たとえば、Ubuntu では、最初に 'sudo apt update' を実行して利用可能なソフトウェアの一覧を更新します。 その後、"sudo apt-get install" コマンドの後にインストールするプログラムの名前を使用して、ソフトウェアを直接取得できます。

sudo apt-get install <app_name> 

既にインストールされているプログラムを更新するには、次のコマンドを実行します。

sudo apt update && sudo apt upgrade

upgrade_and_update

ヒント

Linux のディストリビューションによってパッケージ マネージャーが異なることが多く、関連付けられているパッケージ マネージャーに固有のインストール コマンドを使用する必要があります。 たとえば、Arch Linux のメイン パッケージ マネージャーは pacman と呼ばれ、インストール コマンドは になります sudo pacman -S <app_name>。 OpenSuse のメイン パッケージ マネージャーは Zypper と呼ばれ、インストール コマンドは になります sudo zypper install <app_name>。 Alpine のメイン パッケージ マネージャーは apk と呼ばれ、インストール コマンドは になります sudo apk add <app_name>。 CentOS のような Red Hat ディストリビューションの 2 つの主要なパッケージ マネージャーは YUM と RPM であり、インストール コマンドは または sudo rpo -i <app_name>ですsudo yum install <app_name>。 ソフトウェアのインストールと更新に使用できるツールについては、使用しているディストリビューションのドキュメントを参照してください。

ファイルとディレクトリの操作

現在使用しているディレクトリのパスを表示するには、'pwd' コマンドを使用します。

pwd

新しいディレクトリを作成するには、'mkdir' コマンドの後に作成するディレクトリの名前を使用します。

mkdir hello_world 

ディレクトリを変更するには、'cd' コマンドの後に移動するディレクトリの名前を使用します。

cd hello_world 

現在使用しているディレクトリ内の内容を表示するには、コマンド ラインに「ls」と入力します。

ls

directory-and-file-commands1

既定では、'ls' コマンドは、すべてのファイルとディレクトリの名前のみを出力します。 ファイルが最後に変更されたときやファイルのアクセス許可などの追加情報を取得するには、フラグ "-l" を使用します。

ls -l 

'touch' コマンドの後に作成するファイルの名前を続けて、新しいファイルを作成できます。

touch hello_world.txt 

ダウンロードしたグラフィカル テキスト エディターまたは VS Code Remote – WSL 拡張機能を使用してファイルを編集できます。 VS Code の概要の詳細については、 こちらを参照してください

コマンド ラインから直接ファイルを編集する場合は、vim、emacs、nano などのコマンド ライン エディターを使用する必要があります。 多くのディストリビューションにはこれらのプログラムの 1 つ以上がインストールされていますが、 上記のガイドに記載されているインストール手順に従って、これらのプログラムをいつでもインストールできます。

好みの編集方法でファイルを編集するには、プログラム名の後に編集するファイルの名前を続けて実行します。

code hello_world.txt
notepad.exe hello_world.txt

コマンド ラインでファイルの内容を表示するには、'cat' コマンドの後に読み取るファイルを使用します。

cat hello_world.txt 

directory-and-file-commands2

パイプとリダイレクト演算子の使用

パイプ '|' は、あるコマンドからの出力を入力として別のコマンドにリダイレクトします。 たとえば、lhscmd |rhscmd は、lhscmd から rhscmd に出力を送信します。 パイプは、コマンド ラインを使用してタスクをすばやく実行するために、さまざまな方法で使用できます。 パイプを使用する方法の簡単な例を次に示します。

ファイルの内容をすばやく並べ替えたいとします。 次のfruits.txtの例を見てみましょう。

cat fruits.txt 

Orange 

Banana 

Apple 

Pear 

Plum 

Kiwi 

Strawberry 

Peach 

パイプを使用すると、このリストをすばやく並べ替えることができます。

$ cat fruits.txt | sort 

Apple 

Banana 

Kiwi 

Orange 

Peach 

Pear 

Plum 

Strawberry 

既定では、'cat' コマンドの出力は標準出力に送信されます。ただし、'|' を使用すると、代わりに出力を別のコマンド 'sort' に入力としてリダイレクトできます。

もう 1 つのユース ケースは検索です。 特定の検索文字列の入力を検索する便利なコマンドである 'grep' を使用できます。

cat fruits.txt | grep P 

Pear 

Plum 

Peach 

'>' のようなリダイレクト演算子を使用して、出力をファイルまたはストリームに渡すこともできます。 たとえば、fruit.txtの並べ替えられた内容を含む新しい.txt ファイルを作成する場合は、次のようになります。

cat fruits.txt | sort > sorted_fruit.txt 
$ cat sorted_fruit.txt 

Apple 

Banana 

Kiwi 

Orange 

Peach 

Pear 

Plum 

Strawberry 

既定では、sort コマンドの出力は標準出力に送信されます。ただし、'>' 演算子を使用すると、出力を sorted_fruits.txt という名前の新しいファイルにリダイレクトできます。

パイプとリダイレクト演算子は、コマンド ラインから直接タスクをより効率的に完了するために、多くの興味深い方法で使用できます。