初心者向けLinuxコマンド解説ガイド

# ディレクトリとは？

**ディレクトリ**は、ファイルを整理するためのフォルダのようなものです。Linuxでは、ファイルシステムがディレクトリの階層構造で組織されています。ディレクトリにはいくつかの種類があります。

# ディレクトリの種類と指定方法

| ディレクトリの種類      | 意味                                                                 | 指定方法           |
|-----------------------|----------------------------------------------------------------------|-------------------|
| **カレントディレクトリ** | 現在作業しているディレクトリ。全ての操作はここを基準に行われます。                     | `.`（ドット）      |
| **親ディレクトリ**       | カレントディレクトリの1つ上の階層にあるディレクトリ。                                   | `..`（ドット2つ）  |
| **ホームディレクトリ**   | ユーザー固有の作業用ディレクトリ。ログインしたときに最初に移動するディレクトリ。       | `~`（チルダ）      |
| **ルートディレクトリ**   | ファイルシステムの最上位に位置するディレクトリ。全てのファイルとディレクトリの親です。  | `/`（スラッシュ）  |

---

## 基本的なLinuxコマンド
Linuxで作業する際に覚えておくと便利な基本コマンドをまとめました。それぞれのコマンドの概要、書式、そして具体例を使って説明します。これらを覚えることで、ターミナル操作が一気に効率化されます。


## 1. `cd`（ディレクトリの移動）
**概要**: ディレクトリを移動するコマンド。

- **書式**: `cd [ディレクトリ名]`
- **例**: 
  ```bash
  cd /home/user/docs  # docsディレクトリに移動
  cd ..               # 親ディレクトリに移動
  cd ~                # ホームディレクトリに移動
  ```


## 2. pwd（カレントディレクトリの表示）

**概要**: pwd コマンドは、現在の作業ディレクトリの絶対パスを表示します。

- **書式**: pwd
- **例**:
  ```bash
  pwd  # 現在のディレクトリのパスを表示
  ```


## 3. ls（ディレクトリの内容を表示）

**概要**: lsコマンドは、指定したディレクトリ内のファイルやディレクトリを表示します。

- **書式**: ls [オプション] [ディレクトリ名]
- **例**:
  ```bash
    ls         # カレントディレクトリの内容を表示
    ls -l      # ファイルの詳細情報も表示
    ls -a      # 隠しファイルも含めて表示
  ```


## 4. mkdir（ディレクトリを作成）

**概要**: mkdir コマンドは、新しいディレクトリを作成します。
※ディレクトリ名は日本語だと文字化けする可能性があるため、英語で作成しましょう。


- **書式**:  mkdir [ディレクトリ名]
- **例**:
  ```bash
    mkdir new_folder  # new_folderというディレクトリを作成
  ```

## 5. rmdir（空のディレクトリを削除）

**概要**: rmdir コマンドは、空のディレクトリを削除します。
※空でないディレクトリを削除しようとするとエラーになります。


- **書式**:  rmdir [ディレクトリ名]
- **例**:
  ```bash
    rmdir old_folder  # 空のディレクトリ old_folder を削除
  ```


## 6. cat（ファイルの内容を表示）

**概要**: cat コマンドは、指定したファイルの内容を一気に表示します。


- **書式**:  cat [ファイル名]
- **例**:
  ```bash
    cat example.txt  # example.txt の内容を表示
  ```


## 7. less（ファイルの内容をページごとに表示）

**概要**: less コマンドは、長いファイルをスクロールして確認するためのコマンドです。


- **書式**:  cat [ファイル名]
- **例**:
  ```bash
    less largefile.txt  # largefile.txt の内容をページごとに表示
  ```

## 8.tail（ファイルの末尾部分を表示）

**概要**: tail コマンドは、ファイルの末尾部分を表示します。主にログファイルの監視に使用されます。


- **書式**:  tail [オプション] [ファイル名]
- **例**:
  ```bash
    tail log.txt        # log.txt の最後の10行を表示
    tail -n 20 log.txt  # log.txt の最後の20行を表示
  ```

## 9. touch（空のファイルを作成）

**概要**: touch コマンドは、空のファイルを作成するか、既存ファイルの更新日時を変更します。


- **書式**:  touch [ファイル名]
- **例**:
  ```bash
    touch newfile.txt  # newfile.txt という空のファイルを作成
  ```


## 10. rm（ファイルまたはディレクトリを削除）

**概要** :rm コマンドは、ファイルやディレクトリを削除します。


- **書式**:   rm [オプション] [ファイル名]
- **例**:
  ```bash
    rm file.txt           # file.txt を削除
    rm -r folder          # folder ディレクトリ、ファイルすべてを削除
  ```

## 11.  mv（ファイルを移動または名前を変更）

**概要** : mv コマンドは、ファイルやディレクトリを移動したり、名前を変更したりします。


- **書式**:   mv [元のファイル名] [新しいファイル名/移動先]
- **例**:
  ```bash
    mv old.txt new.txt    # old.txt の名前を new.txt に変更
    mv file.txt /tmp      # file.txt を /tmp に移動
  ```


## 12.  cp（ファイルをコピー）

**概要** : cp コマンドは、ファイルやディレクトリをコピーします。


- **書式**:  cp [オプション] [元のファイル名] [コピー先]
  ```bash
    cp file.txt /backup   # file.txt を /backup にコピー
  ```

## 13.  ln（ハードリンクまたはシンボリックリンクを作成）

**概要** : ln コマンドは、ファイルのリンクを作成します。ハードリンクやシンボリックリンクを作成するために使用されます。


- **書式**:  ln [オプション] [元のファイル] [リンク先]
  ```bash
    ln -s /path/to/file linkname  # シンボリックリンクを作成
    #*オプションをつけた場合、シンボリックリンク
     #つけない場合はハードリンク
  ```

## 14.  find（ファイルやディレクトリを検索）

**概要** : find コマンドは、指定された条件に基づいてファイルやディレクトリを検索します。


- **書式**:  find [検索開始ディレクトリ] [条件]
  ```bash
    find /home -name "file.txt"  # /home から file.txt を検索
  ```

## 15.  chmod（ファイルの権限を変更）

**概要** : chmod コマンドは、ファイルやディレクトリのアクセス権を変更します。


- **書式**: chmod [権限] [ファイル名]
  ```bash
    chmod 755 script.sh  # script.sh の実行権限を付与
  ```

## 16.  chown（ファイルの所有者を変更）

**概要** : chown コマンドは、ファイルやディレクトリの所有者を変更します。


- **書式**: chown [所有者] [ファイル名]
  ```bash
    chown user:user file.txt  # file.txt の所有者を user に変更
  ```

## 17.  ps（プロセスの状態を表示）

**概要** : ps コマンドは、現在実行中のプロセスの状態を表示します。


- **書式**: ps [オプション]
  ```bash
    ps aux  # すべてのプロセスを詳細に表示
  ```

## 18.  kill（プロセスを終了）

**概要** : kill コマンドは、指定したプロセスIDを持つプロセスを終了します。
フォアグラウンドはCtrl + c
バックグラウンドの場合はkillコマンドを使う



- **書式**: kill [プロセスID]
  ```bash
    kill 1234  # プロセスID 1234 のプロセスを終了
  ```