Linux コマンド チートシート

よく使われるLinuxコマンドをカテゴリ別にまとめました。
作業効率化のお役に立てば幸いです。

## ファイル・ディレクトリ操作

| コマンド | 説明 | 例 |
| --- | --- | --- |
| `ls` | ディレクトリの内容を一覧表示 | `ls -la` |
| `cd` | ディレクトリを変更 | `cd /home/user` |
| `pwd` | 現在のディレクトリを表示 | `pwd` |
| `cp` | ファイルやディレクトリをコピー | `cp source.txt destination.txt` |
| `mv` | ファイルやディレクトリを移動または名前変更 | `mv oldname.txt newname.txt` |
| `rm` | ファイルやディレクトリを削除 | `rm file.txt` <br> `rm -r directory/` |
| `mkdir` | 新しいディレクトリを作成 | `mkdir new_folder` |
| `rmdir` | 空のディレクトリを削除 | `rmdir empty_folder` |
| `touch` | ファイルのタイムスタンプを変更、または新規作成 | `touch newfile.txt` |

## ファイル閲覧・編集

| コマンド | 説明 | 例 |
| --- | --- | --- |
| `cat` | ファイルの内容を表示 | `cat file.txt` |
| `less` | ページ単位でファイルを閲覧 | `less file.txt` |
| `head` | ファイルの先頭部分を表示 | `head -n 10 file.txt` |
| `tail` | ファイルの末尾部分を表示 | `tail -n 10 file.txt` |
| `nano` | 簡易テキストエディタ | `nano file.txt` |
| `vim` | 高機能テキストエディタ | `vim file.txt` |
| `grep` | パターンにマッチする行を検索 | `grep "search_term" file.txt` |
| `find` | ファイルやディレクトリを検索 | `find /path -name "filename"` |

## ファイル権限と所有権

| コマンド | 説明 | 例 |
| --- | --- | --- |
| `chmod` | ファイルやディレクトリの権限を変更 | `chmod 755 script.sh` |
| `chown` | ファイルやディレクトリの所有者を変更 | `chown user:group file.txt` |
| `chgrp` | ファイルやディレクトリのグループを変更 | `chgrp groupname file.txt` |

## システム情報

| コマンド | 説明 | 例 |
| --- | --- | --- |
| `uname` | システム情報を表示 | `uname -a` |
| `df` | ファイルシステムのディスク使用状況を表示 | `df -h` |
| `du` | ディレクトリやファイルのディスク使用量を表示 | `du -sh /path` |
| `free` | メモリの使用状況を表示 | `free -m` |
| `top` | プロセスのリアルタイム情報を表示 | `top` |
| `htop` | `top`の拡張版（インストールが必要） | `htop` |
| `ps` | 現在のプロセスを表示 | `ps aux` |
| `kill` | プロセスを終了 | `kill PID` |
| `shutdown` | システムをシャットダウン | `shutdown -h now` |

## ネットワーク

| コマンド | 説明 | 例 |
| --- | --- | --- |
| `ifconfig` / `ip` | ネットワークインターフェースの設定と表示 | `ifconfig` <br> `ip addr show` |
| `ping` | ネットワーク接続をテスト | `ping example.com` |
| `ssh` | リモートサーバーに接続 | `ssh user@host` |
| `scp` | ファイルをリモートサーバーにコピー | `scp file.txt user@host:/path` |
| `wget` | ファイルをダウンロード | `wget http://example.com/file.zip` |
| `curl` | データを転送 | `curl -O http://example.com/file.zip` |
| `netstat` | ネットワーク接続やポートを表示 | `netstat -tuln` |
| `traceroute` | パケットの経路を追跡 | `traceroute example.com` |

## パッケージ管理

### Debian系（例：Ubuntu）

| コマンド | 説明 | 例 |
| --- | --- | --- |
| `apt update` | パッケージリストを更新 | `sudo apt update` |
| `apt upgrade` | パッケージをアップグレード | `sudo apt upgrade` |
| `apt install` | パッケージをインストール | `sudo apt install package-name` |
| `apt remove` | パッケージを削除 | `sudo apt remove package-name` |
| `apt search` | パッケージを検索 | `apt search package-name` |

### Red Hat系（例：CentOS）

| コマンド | 説明 | 例 |
| --- | --- | --- |
| `yum update` | パッケージをアップデート | `sudo yum update` |
| `yum install` | パッケージをインストール | `sudo yum install package-name` |
| `yum remove` | パッケージを削除 | `sudo yum remove package-name` |
| `yum search` | パッケージを検索 | `yum search package-name` |

## 圧縮・解凍

| コマンド | 説明 | 例 |
| --- | --- | --- |
| `tar` | ファイルをアーカイブ・解凍 | `tar -cvf archive.tar /path` <br> `tar -xvf archive.tar` |
| `gzip` | ファイルを圧縮 | `gzip file.txt` |
| `gunzip` | gzipで圧縮されたファイルを解凍 | `gunzip file.txt.gz` |
| `zip` | ファイルをZIP形式で圧縮 | `zip archive.zip file1 file2` |
| `unzip` | ZIP形式のファイルを解凍 | `unzip archive.zip` |

## テキスト処理

| コマンド | 説明 | 例 |
| --- | --- | --- |
| `echo` | 文字列を出力 | `echo "Hello World"` |
| `printf` | フォーマットされた出力 | `printf "Name: %s\n" "Alice"` |
| `cut` | テキストをカット | `cut -d',' -f1 file.csv` |
| `sort` | 行をソート | `sort file.txt` |
| `uniq` | 重複行を削除 | `uniq file.txt` |
| `awk` | パターン処理言語 | `awk '{print $1}' file.txt` |
| `sed` | ストリームエディタ | `sed 's/old/new/g' file.txt` |

## その他便利なコマンド

| コマンド | 説明 | 例 |
| --- | --- | --- |
| `alias` | コマンドのエイリアスを設定 | `alias ll='ls -la'` |
| `history` | コマンド履歴を表示 | `history` |
| `man` | コマンドのマニュアルを表示 | `man ls` |
| `chmod` | ファイルの権限を変更 | `chmod 755 script.sh` |
| `crontab` | 定期実行タスクを設定 | `crontab -e` |
| `ssh-keygen` | SSHキーの生成 | `ssh-keygen -t rsa` |
| `dd` | ファイルを低レベルでコピー | `dd if=/dev/sda of=/dev/sdb bs=4M` |

## ショートカットキー

| キー | 説明 |
| --- | --- |
| `Ctrl + C` | プロセスの強制終了 |
| `Ctrl + Z` | プロセスを一時停止 |
| `Ctrl + A` | 行の先頭に移動 |
| `Ctrl + E` | 行の末尾に移動 |
| `Tab` | コマンドやファイル名の補完 |
| `Ctrl + R` | コマンド履歴から検索 |