---
# System prepended metadata

title: 5章【CLIを使って操作してみよう1】

---

# 5章【CLIを使って操作してみよう1】
## 未消化リスト
- CMS化する場合、前章へのリンクを貼る箇所（[ここ](#check_1)）は注意
- 長くなったので現状2題だが大丈夫か／こういうの盛り込んだ方が良い等あれば
  - cat、echoなど？
    - (角谷追記)cat,echoあたりは欲しい。
      - 他に何が必要か、メンター・EWCにヒアリングしてもいいかも。

---

## 学習の目標
前章では、CLIの操作に必須となる「コマンド」について学習しました。
本章では実際に手を動かし、各コマンドの挙動を学習していきます。
<br>

## コマンド実行時のエラーについて
コマンドを実行していく前に、コマンド実行時に起こるエラーについて説明します。

### command not found
command not foundとは「コマンドが見つかりません」という意味です。
この文章が表示される原因としては以下の(1)～(3)が考えられます。

#### (1) コマンドのタイプミス
例えば`pwd`は正しいコマンドですが、
これを`pwb`,`qwd`などスペルミスをしてしまうとcommand not foundが発生します。
まずは正しいスペルかどうか、カリキュラムやネット検索で確認しましょう。

![](https://i.imgur.com/aLM2JWB.png)

#### (2) 文頭に不要な文字が入っている
カリキュラムではターミナル表記として、以下のように文頭に`$`を表示しています。
`ターミナル / Git Bash`
```
$ ls
```
しかし、この`$`も含めて入力してしまうと、`$`に対応するコマンドはありませんので、command not foundが発生します。
`ターミナル / Git Bash`
```
$ $ ls
bash: $: command not found
```
実行する場合は`$`を抜いて実行しましょう。

#### (3) 必要なライブラリがインストールされていない
実はコマンドは、PCにインストールされている実行ファイルを呼び出して使用しています。
インストールされているものは使えますが、逆に言えばインストールされていないものは使用できません。
例えばAI教養コースで「JupyterLab」というものを用いますが、これを利用するためにはインストールが必要です。
実際にターミナルやコマンドプロンプト、以下コマンドを実行するとcommand not foundが発生します。
`ターミナル / Git Bash`
```
$ jupyter --version
bash: jupyter: command not found
```
※もしインストールされていた場合はバージョンが表示されます。
なお、本章の内容ではこの(3)が原因となるものはありません。

<span id="check_1"></span>
### Try 'コマンド名 --help' for more information.
こちらは、前章の[rmコマンド](/meDA9ubyRKypATiXrXPunQ#rm) にて説明した内容と同じになります。

エラー文は、
「オペランド（コマンドの命令対象になるデータのこと）が欠落しています。
詳しい情報を確認するには『コマンド名 --help』を実行してください」
という意味になります。
「--help」オプションをつけると、コマンドの使用方法が表示されます。
`ターミナル / Git Bash`
```
$ コマンド名 --help
# コマンドの使用方法が表示されます。
```

表示内容が英語でかつ量が多いためびっくりされると思いますが、
必要な箇所だけ翻訳をかけると理解しやすくなります。

**「Try 'コマンド名 --help' for more information.」と表示された場合は、
入力漏れやスペルミスによってコマンドの使い方を誤っていますので、よく確認しましょう。**
<br>

## 例題1
それではこれからコマンド操作をしていきます。
まずは例題を確認し、その後例題の内容に沿った演習問題が入ります。
前章を隣に開き、見比べながら進めていきましょう。

### ホームディレクトリのパスを確認
Macの方はターミナル、Windowsの方はGit Bashを起動し、
以下コマンドを実行しましょう。
`ターミナル / Git Bash`
```
$ pwd
# Macの場合は以下の1行が出力される
/Users/ユーザ名
# Windowsの場合は以下の1行が出力される
/c/Users/ユーザ名
```

「ユーザ名」にはご自身のPCのユーザ名が入ります。
起動直後にいるディレクトリを「ホームディレクトリ」と呼びました。
今回出力された内容が、ホームディレクトリのパスになります。

### Desktopディレクトリがあることを確認
次に、作業ディレクトリをデスクトップに移動するために、
デスクトップの正確なパスを確認します。
以下コマンドを実行し、ホームディレクトリの内容を確認しましょう。
`ターミナル / Git Bash`
```
$ ls
# 作業ディレクトリ＝ホームディレクトリの内容が表示される
```

「Desktop」というディレクトリが見つかればOKです。
普段使用しているデスクトップが、
CLIから見ると、ホームディレクトリ直下のDesktopディレクトリであることがわかりました。

※Windowsの方への注意
OneDriveによる同期を行っている場合、
ホームディレクトリ直下にDesktopディレクトリが無いことがあります。
この場合は、代わりにOneDriveディレクトリの直下に「デスクトップ」があります。
以下コマンドを実行し、確認しましょう。
`Git Bash（OneDrive同期がされていた場合）`
```
$ ls OneDrive
# OneDriveディレクトリの内容が表示される
````

### 作業ディレクトリをDesktopに移動・確認
パスが確認できたので、作業ディレクトリを移動します。
以下コマンドを実行し、Desktopに移動しましょう。
`ターミナル / Git Bash`
```
$ cd Desktop
# 作業ディレクトリをDesktopに移動する
```

※Windowsの方でOneDrive同期がされていた方は、
代わりに以下コマンドを実行しましょう。
また、今後もデスクトップを指定することがあるため、
DesktopではなくOneDrive/デスクトップに置き換えて作業を行うようにしましょう。
`Git Bash（OneDrive同期がされていた場合）`
```
$ cd OneDrive/デスクトップ
```

正しく実行できた場合、cdコマンドでは何も出力されません。
代わりに以下画像のように、CLI上に「Desktop」が表示されるようになります。

![](https://i.imgur.com/EFk4Zjb.png)

<p><img src="https://wals.s3-ap-northeast-1.amazonaws.com/curriculum/cli/windows/cd.png"></p>

pwdコマンドでも、移動できたことを確認しましょう。
`ターミナル / Git Bash`
```
$ pwd
# Macの場合は以下の1行が出力される
/Users/ユーザ名/Desktop
# Windowsの場合は以下の1行が出力される
/c/Users/ユーザ名/Desktop
```

### 新しいディレクトリを作成し、移動する
デスクトップに移動できたところで、新しいディレクトリを作成してみましょう。
以下コマンドを実行します。
`ターミナル / Git Bash`
```
$ mkdir test
# testディレクトリが作成される
```

testディレクトリが作成されました。
実際にデスクトップにtestという名前のフォルダアイコンが追加されているはずです。

![](https://i.imgur.com/dEqNBBL.png)

![](https://i.imgur.com/2WPTcZd.png)

アイコンが確認できたら、CLIに戻り以下コマンドを実行します。
`ターミナル / Git Bash`
```
$ cd test
# 作業ディレクトリをtestに移動する
```

先ほどと同様に、pwdコマンドで確認しておきましょう。
`ターミナル / Git Bash`
```
$ pwd
# Macの場合は以下の1行が出力される
/Users/ユーザ名/Desktop/test
# Windowsの場合は以下の1行が出力される
/c/Users/ユーザ名/Desktop/test
```

### 1つ上／ホームディレクトリに移動する
Desktopやtestディレクトリに移動する際に実行したコマンドは、
「作業ディレクトリから見て、1つ下にあるDesktop／testディレクトリに移動」ということをしました。
これは相対パスを用いています。
相対パスについては3章で学習しました。

それでは今度は1つ上のディレクトリに移動してみましょう。
以下コマンドを実行します。
`ターミナル / Git Bash`
```
$ cd ../
# 作業ディレクトリを、現在位置から見て1つ上へ移動する
```

「../」が1つ上のディレクトリを表します。
コマンド実行前はtestディレクトリにいたので、
その1つ上というとデスクトップになります。
pwdコマンドで確認しましょう。
`ターミナル / Git Bash`
```
$ pwd
# Macの場合は以下の1行が出力される
/Users/ユーザ名/Desktop
# Windowsの場合は以下の1行が出力される
/c/Users/ユーザ名/Desktop
```

また、ホームディレクトリを表す「~/」もあります。
cdコマンドで移動後、pwdコマンドで確認しましょう。
`ターミナル / Git Bash`
```
$ cd ~/
# 作業ディレクトリをホームディレクトリに移動する
$ pwd
# Macの場合は以下の1行が出力される
/Users/ユーザ名
# Windowsの場合は以下の1行が出力される
/c/Users/ユーザ名
```

「../」「~/」は今後頻繁に使用していきます。ぜひ覚えておきましょう。
これらは続けて使用することもでき、例えば`../../`とすると2つ上を指します。
なお、似た表記に`./`（ドットが1つ）があり、
こちらは作業ディレクトリを指します。注意しましょう。
<br>

## 演習問題1
それでは例題1を踏まえて、以下の(1)～(9)を順に実行してみましょう。
それぞれ1コマンドずつ入ります。

(1) 作業ディレクトリがホームディレクトリであることを確認
(2) 「ダウンロード」ディレクトリの正確なパスを確認
(3) (2)で確認した「ダウンロード」ディレクトリに移動
(4) sample1ディレクトリを作成
(5) sample1ディレクトリに移動
(6) sample1-1ディレクトリを作成
(7) sample1-1ディレクトリに移動
(8) 作業ディレクトリを確認
(9) 相対パスを用いて「ダウンロード」ディレクトリに移動

<details>
<summary>解答はこちら</summary>
<div>

`ターミナル / Git Bash`
```
# (1)
$ pwd
# (2)
$ ls
# (3)
$ cd Downloads
# (4)
$ mkdir sample1
# (5)
$ cd sample1
# (6)
$ mkdir sample1-1
# (7)
$ cd sample1-1
# (8)
$ pwd
# (9)
$ cd ../../
```

</div>
</details>
<br>

## 本章のまとめ
本章では、例題と演習を通して各コマンドを学習しました。
次章でも、本章と同じように例題・演習問題を解いていきます。
本章の内容で不安に思った箇所があれば、前章までの内容を復習しておきましょう。


[前の章へ](/meDA9ubyRKypATiXrXPunQ) | [一覧](/bvG7awAKQPWGcQ8TRyCI4w) | [次の章へ](/EK0G6RPfQ_mecrcAPhVSxw)