【ほぼ完全版】Linuxコマンド一覧表

Linuxコマンドの一覧表です。
コマンドに迷ったら、これを見て参考にしてもらえると幸いです。

あと、こんな記事見るぐらいならLinuxの本買った方が何倍も勉強になります（アフィリエイトリンクです。笑）
https://amzn.to/3PY042I

## 1. カーソル移動系
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|Ctrl + b|後方に1文字移動する||
|Ctrl + f|前方に1文字移動する||
|Ctrl + a|行頭に移動する||
|Ctrl + e|行末に移動する||
|Esc + b|後方に単語1つ分移動する|**※Escキーを押した後にbキーを押す**|
|Esc + f|前方に単語1つ分移動する|**※Escキーを押した後にfキーを押す**|

## 2. 文字の削除系
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|Deleteキー、またはCtrl + d|カーソル位置の1文字を削除する||
|Backspaceキー、またはCtrl + h|カーソル位置の後方に1文字を削除する||
|Ctrl + w|後方にスペース区切りで1単語分を削除する||
|Ctrl + k|カーソル位置から行末までを削除する||
|Ctrl + u|カーソル位置から行頭までを削除する||
|Ctrl + y|最後に削除した内容を挿入する|※Ctrl + kやCtrl + yと一緒に使うことが多いらしく、この一連の流れをカット＆ヤンクという（らしい）|

## 3. 画面ロック系
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|Ctrl + s|画面表示をロックする||
|Ctrl + q|画面表示のロックを解除する||

## 4. コマンド強制終了
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|Ctrl + q|実行中のコマンドを強制終了する||

## 5. 画面消去
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|Ctrl + l|画面を消去する||

## 6. コマンド履歴系
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|Ctrl + p、または↑キー|１つ前のコマンド履歴に移動する||
|Ctrl + n、または↓キー|次のコマンド履歴に移動する||
|Ctrl + r|履歴を遡ってインクリメンタル検索する|**※下記の表を参照する**|

### インクリメンタル検索について
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|（文字を入力）|検索語を追加して再検索する||
|Ctrl + r|1つ前の検索結果へ移動する||
|Enter|現在の検索結果をそのまま実行する||
|Esc|現在の検索結果を表示したまま、コマンドラインに戻る||
|Ctrl + g|検索結果を破棄する||

## 7. ディレクトリの移動と確認系
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|pwd|カレントディレクトリを表示|**※現在自分が位置しているディレクトリをカレントディレクトリもしくはワーキングディレクトリという**|
|cd|カレントディレクトリを変更||
|ls|ディレクトリ内のファイルを表示||

### lsコマンドのパス名展開
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|*|任意の文字列|**※下記のコードを参照する**|
|?|任意の一文字|**※下記のコードを参照する**|

```tex:【例】comで始まるファイル一覧を表示
ls -com*
```

```tex:【例】拡張子が.htmlのファイル一覧を表示
ls ＊.html
```

```tex:【例】?を利用して4文字のファイル名をマッチさせる
ls ba??
```

### lsコマンドのオプション
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|-l|ファイル名のほか、ファイルの詳細情報を表示する||
|-a|隠しファイルも含めた全てのファイルを表示する||
|-F|ファイル名の後ろにファイルの種類を表す記号を追加で表示する||

## 8. ファイル操作系
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|mkdir ディレクトリ名|ディレクトリを作成する|mkdir -p 〇〇/〇〇という風にすると、階層の深いディレクトリを作成することができる|
|touch ファイル名|ファイルを作成する||
|rm ファイル名|ファイルを削除する|rm ファイル名1 ファイル名2 という風に指定すると、複数ファイルをまとめて削除できる|
|rm -r ディレクトリ名|ディレクトリを削除する||
|rmdir ディレクトリ名|空のディレクトリを削除する|中にファイルのあるディレクトリを削除しようとするとエラーが出る|
|cat ファイル名|ファイルの内容を表示する|cat ファイル名1 ファイル名2 という風に指定すると、複数ファイルをまとめて表示できる|
|less ファイル名|ファイルの内容をスクロール表示する||
|cp ファイル1 ファイル2|ファイル1をファイル2という名前でコピー|cp ファイル1 ディレクトリ1でファイル1をディレクトリ1の中にコピーする|
|mv 移動元 移動先|ファイルを移動する||

## 9.検索・調べる系
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|find <検索開始ディレクトリ> <検索条件> <アクション>|ファイルを探す||
```tex:【例】カレントディレクトリを起点としてfile.txtというファイルを探しているコマンド
mkdir -p Testディレクトリ/doc
touch テストファイル.txt Testディレクトリ/doc/テストファイル.txt
find . -name テストファイル.txt -print

【結果】
./テストファイル.txt
./testディレクトリ/doc/テストファイル.txt
```
※指定したディレクトリ直下のファイルだけでなく、ディレクトリツリーを順に降りながら検索条件に一致するファイルを全て表示できる。

## 10.Vim系
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|:q|vimを終了する|：qの後にEnterを押す|
|vim test.txt|ファイル名を指定してVimを起動する||
|:w|ファイルを保存|:qwでファイルを保存してVimを終了する|
|:q!|ファイルを保存せずにVimを終了する||
|i|カーソル位置の左側に文字を追加する||
|a|カーソル位置の右側に文字を追加する||
|w|前方に単語1つ分移動する||
|b|後方に単語1つ分移動する||
|0|行頭に移動する|※数字のゼロです|
|$|行末に移動する||

## 11.ファイルのパーミッション系
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|chmod <8進数の数値> <ファイル名>|数値モードによるパーミッションの変更|（例）chmod 755 test.txt|

__数値モードでのパーミッションの数値__

足した値を「オーナー」「グループ」「その他のユーザー」の順に3つ並べて指定します。この3桁の数字がパーミッションを指定するための値です。例えば、「rwxr-xr-x」というパーミッションは、数値に変換すると「755」になります。
|意味|数値|
|:-----------|:------------|
|読み取り(r)|4|
|書き込み(w)|2|
|実行(x)|1|

#### 「rwxr-xr-x」というパーミッションを数値（755）に変換した例
__「rwxr-xr-x」__
・オーナー：rwx（rは4、wは2、xは1なので、7）
・グループ：xr（rは4、xは1なので、5）
・グループ：xr（rは4、xは1なので、5）

```tex:【例】数値モードで「755」とパーミッション指定
touch test.txt
chmod 755 test.txt
ls -l file.txt
-rwxr-xr-x@ 1 username 0 2 1 11:31 test.txt
```

上記コマンドの結果、オーナーは読み書き実行が可能、その他のユーザーは読み取りと実行が可能、という状態になる。

## 12.プロセス、ジョブ系
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|ps|現在動作しているプロセスを表示||
|ps xf|現在のユーザーが実行中の全てのプロセスを表示||
|ps ax|システムで動作している全てのプロセスを表示||
|kill <プロセスID>|プロセスを終了させる|※プロセスIDとはpsコマンド等で表示されるPIDの値|

## 13.テキスト処理系
|コマンド|意味|その他|
|:-----------|:------------|:------------|
|wc ファイル名|指定したファイルの行数、単語数、バイト数を表示する||
```tex:【例】ファイルを作ってwcコマンドで行数、単語数、バイト数を表示する
touch test
wc test
       5       3      29 test
```
※testファイルには下記の文言を追加
```
test

hogehoge

ああああ
```

|コマンド|意味|その他|
|:-----------|:------------|:------------|
|tail ファイル名|指定したファイルの末尾10行を表示する||
|tail -n ◯ ファイル名|-nオプションで◯部分に数字を入れることでファイルの末尾◯行を表示する||
|tail -f ファイル名|ファイルへの追記を監視する|ログの収集やデータ収集で利用される|

```tex:【例】ファイルを作ってtail -fコマンドでファイルへの追記を監視（ターミナルを2個用意）
【ターミナルA】
mkdir -p tests
cd tests
touch test
tail -f test

【ターミナルB】
cd tests
echo Hello >> test

すると、ターミナルAでは下記のようにHelloと表示される
tail -f test
Hello
```
__※ログファイルの監視に利用されるので覚えておくと便利！__

<br>

※すいません、書いている途中に疲れ果てたので、都度更新させて下さい。