【Linux入門】初心者のための基本コマンドまとめ

# 【Linux入門】初心者のための基本コマンドまとめ ✅

> **今回は、Linuxに触れたばかりの方向けに**、よく使うコマンドをわかりやすくまとめました。  

---
## 🔰 はじめに

Linuxでは、GUIではなく**コマンド（文字）で操作**する場面が多いです。  
ここでは、**日常的に使う基本的なコマンド**を解説します。

---

##  `cd`：ディレクトリを移動する

**略称**：`change directory`  

```bash
cd [ディレクトリ名またはパス]
```

### ✅ よく使う例

| コマンド         | 説明                                      |
|------------------|-------------------------------------------|
| `cd A`           | A ディレクトリに移動                    |
| `cd ..`          | 一つ上の階層に移動                         |
| `cd ~` または `cd`| ホームディレクトリ（例：`/home/user`）へ移動 |
| `cd /`           | 最上位階層（ルートディレクトリ）へ移動     |

:::note warn
`cd`は**ディレクトリ専用**です。ファイルには移動できません。
:::

---

##  `pwd`：現在のディレクトリを表示する

**略称**：`print working directory`  


```bash
pwd
```

出力例：
```
/home/user/documents
```

---

##  `ls`：中身を一覧表示する

**略称**：`list`  

```bash
ls [オプション] [パス]
```
---

### ✅ よく使うオプション

- `ls -l` : 詳細表示（属性付き）
- `ls -lh` : ファイルサイズを人間が読みやすい形式で表示
- `ls -a` : 隠しファイルも表示
- `ls -la` : 詳細 + 隠しファイルも表示

#### `ls -l` 出力例と項目の意味

```bash
ls -l
```
```
-rw-r--r--  1 user  group  1234  May 22 12:34  example.txt
```
| 項目             | 意味                                                 |
|------------------|------------------------------------------------------|
| `-rw-r--r--`     | アクセス権（所有者/グループ/その他）                |
| `1 `            | ハードリンク数                                    |
| `user`           | 所有者                                               |
| `group`          | グループ                                             |
| `1234`           | サイズ（バイト）                                     |
| `May 22 12:34`   | 最終更新日時                                         |
| `example.txt`    | ファイル名                                           |

---

### 🎯 応用例（ワイルドカード）

```bash
ls *.html
```

→ `.html` 拡張子のファイル一覧を表示

```bash
ls /bin/z???
```

→ `z`で始まり、4文字のファイルを表示

---

##  `mkdir`：新しいディレクトリを作成

**略称**：`make directory`  
```bash
mkdir [オプション] ディレクトリ名
```
### ✅ 例
```bash
mkdir code
```

### 📌 よく使うオプション

- `-p`：中間ディレクトリも同時に作成

```bash
mkdir -p project/2024/logs
```

---

##  `rmdir`：空のディレクトリを削除
**略称**：`remove directory`  

```bash
cd [ディレクトリ名またはパス]
```

```bash
rmdir code
```

:::note warn
中にファイルがあると削除できません。
:::

---

##  `cat`：ファイルの中身を表示する

**略称**：`concatenate`

```bash
cat [オプション] ファイル名
```

### ✅ 例
```bash
cat /etc/hosts
```

### オプション

- `-n`：行番号を表示

```bash
cat -n file.txt
```

---

##  `less`：ページ単位で表示＆スクロール
**略称**：`「less is more（＝moreよりも優れている）」`  

```bash
less /etc/vimrc
```

###  操作一覧

| キー | 動作                 |
|------|----------------------|
| `f` or `スペース` | 1画面下にスクロール     |
| `b`  | 1画面上にスクロール     |
| `j` / `k` | 1行下/上にスクロール    |
| `/文字列` | 下に検索             |
| `?文字列` | 上に検索             |
| `n/N` | 次/前の検索結果へ移動   |
| `q`  | 閉じる                 |

---

##  `touch`：空のファイルを作成する
**略称**：`なし`  

```bash
touch README.md
```
---


##  `tail`：ファイルの末尾を表示する

**略称**：`ファイルの「しっぽ（tail）」部分を表示する`   
```bash
tail [オプション] ファイル名
```
### ✅ 使用例

```bash
tail /var/log/syslog
```
→ システムログファイルの**末尾10行**を表示（デフォルト）

### 📌 よく使うオプション

| オプション | 説明                                      |
|------------|-------------------------------------------|
| `-n N`     | 最後の **N 行** を表示                    |
| `-f`       | ファイルの末尾を監視（リアルタイム追跡）  |

### ✅ 使用例

```bash
tail -n 20 /var/log/syslog  # 最後の20行を表示
tail -f /var/log/syslog     # ログファイルの更新を常に表示（Ctrl+Cで終了）
```
---

##  `rm`：ファイル/ディレクトリを削除
**略称**：`remove（取り除く）`  

```bash
rm ファイル名
```
### よく使うオプション

| オプション | 内容                          |
|------------|-------------------------------|
| -r       | ディレクトリも再帰的に削除     |
| -f       | 確認なしで強制削除             |
| -i       | 削除前に確認                   |

```bash
rm -r folder/
rm -f file.txt
rm -i file.txt
```
---

##  `mv`：ファイルの移動・名前変更
**略称**：`move`  

```bash
mv [オプション] 移動元 移動先
```
### ✅ 使用例

```bash
mv old.txt new.txt       # 名前変更
mv file.txt dir/         # ディレクトリへ移動
mv -i file.txt dir/      # 上書き前に確認
```
---

##  `cp`：ファイルやディレクトリのコピー
**略称**：`copy`  

```bash
cp [オプション] コピー元 コピー先
```
### ✅ 使用例

```bash
cp file.txt copy.txt     # ファイルコピー
cp -r dir/ dir_backup/   # ディレクトリコピー
cp -i file.txt dir/      # 上書き確認付き
```
---

##  `ln`：リンク（別名）を作る
**略称**：`link`  

### ✅ ハードリンク

```bash
ln file1 file2
```
→ 実体共有。元ファイル削除してもアクセス可

### ✅ シンボリックリンク

```bash
ln -s file1 link_to_file1
```
→ 参照パスだけ保持。元が消えるとリンク切れに。

---

##  `find`：ファイルを検索する
**略称**：`find`  

```bash
find [検索開始場所] [条件] [アクション]
```
### ✅ 使用例

```bash
find . -name README.md
find . -iname "*.md"
find . -type d -name images
```
### 🎯 よく使う条件

| 条件       | 説明                                      |
|------------|-------------------------------------------|
| -name    | ファイル名で検索（大文字小文字区別あり） |
| -iname   | 大文字小文字を区別しない名前検索         |
| -type f  | 通常ファイル                               |
| -type d  | ディレクトリ                               |

---


##  `chmod`：アクセス権（パーミッション）を設定する

**略称**：`change mode`  
**機能**：ファイルやディレクトリの**アクセス権（パーミッション）を変更**する

```bash
chmod [ugoa][+-=][rwx] ファイル名
```

---

### ✅ 使用例

```bash
chmod u+x script.sh
```

→ 所有者（user）に「実行権（+x）」を追加

---

### 📌 記号の意味

| 記号 | 説明                      |
|------|---------------------------|
| `u`  | 所有者（user）            |
| `g`  | グループ（group）         |
| `o`  | その他（others）          |
| `a`  | 全員（all）               |
| `+`  | 権限を**追加**する         |
| `-`  | 権限を**削除**する         |
| `=`  | 権限を**上書き設定**する   |
| `r`  | 読み取り（read）          |
| `w`  | 書き込み（write）         |
| `x`  | 実行（execute）           |

---

### 🎯 よく使うパターン

```bash
chmod 755 script.sh   # 所有者：rwx、他：rx
chmod 644 file.txt    # 所有者：rw、他：r
chmod a-x file.sh     # 全員の実行権を削除
```

---

### 🔍 補足

- `chmod` は **「モード（mode）」＝アクセス権を変更する**コマンドです。
- 数字（8進数）での指定も可能。例：`7=rwx`, `6=rw-`, `5=r-x`, `4=r--`。
- `ls -l` で現在のパーミッションを確認できます。
- システム管理やスクリプト実行時によく使います。




---

##  `sudo`：管理者権限で実行
**略称**：`switch user and do`  

```bash
sudo <コマンド>
```
> **sudo = switch user and do**  
> `root`（管理者）として一時的に実行します。

---

##  `chown`：所有者を変更する

**略称**：`change owner`  
```bash
chown [オプション] 新しい所有者[:グループ] ファイル名
```
### ✅ 使用例

```bash
chown user1 file.txt
chown user1:group1 file.txt
```
→ 所有者だけ、または所有者とグループを変更

:::note warn
基本的に sudo が必要
:::

```bash
sudo chown root:root /etc/example.conf
```
---

##  `ps`：プロセスを表示する

**略称**：`process status`  
```bash
ps [オプション]
```
### ✅ 使用例

```bash
ps aux
```
→ 現在動いている**すべてのプロセス**を詳細に表示

### 📌 よく使うオプション

| オプション | 説明                                       |
|------------|--------------------------------------------|
| `a`        | 他ユーザーのプロセスも含めて表示           |
| `u`        | ユーザーとCPU/メモリ使用率を表示           |
| `x`        | 制御端末がないプロセスも含めて表示         |

#### 例：
```bash
ps aux | grep nginx
```
→ nginxに関連するプロセスを検索表示

---

##  `kill`：プロセスを終了させる
**略称**：`なし` 
```bash
kill [オプション] プロセスID
```
### ✅ 使用例

```bash
kill 1234
```
→ プロセスID 1234 を終了

### 📌 よく使う信号（シグナル）

| 信号      | 意味                  |
|-----------|-----------------------|
| `-15`     | 通常終了（デフォルト）|
| `-9`      | 強制終了              |

#### 例：
```bash
kill -9 1234  # 強制終了（最終手段）
```
> ps や top でプロセスID（PID）を調べてから使う

---

##  おわりに

Linuxを学び始めたばかりの方でも、**実際に手を動かして理解できるように**意識してまとめました。  
ターミナル操作は慣れが大切なので、ぜひこのページを見ながら何度も試してみてください！

---