使いこなすと便利かも？Linux代替コマンド

# はじめに

Linuxコマンドには古くから使われているコマンドに比べて、見た目的にわかりやすかったり操作性の良い代替コマンドがあります。
そのうちのいくつかを紹介します。

※代替コマンドの中にはRust製のものもあるので記事の終わりにRustのインストール方法も掲載しています。

# コマンド

## ncdu

<details>
<summary>ncdu</summary>

### 元となったコマンド

```bash
$ du
```

### 機能
    
- ディスク使用量表示ツール
- ディレクトリやファイルごとにディスクの使用量の分析ができる

### インストール方法
    
```bash
$ sudo apt-get install ncdu # Debian系
$ sudo yum install ncdu     # RedHat系
$ brew install ncdu         # macOS/Homebrew
$ sudo port install ncdu    # macOS/MacPorts
```

### 使用方法
    
```bash
$ ncdu             # カレントディレクトリ
$ ncdu /directory  # ディレクトリを指定して実行
```

    
![Untitled.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127686/b99a1ce5-be20-2423-1f1b-d5cd8756ae4a.png)

カーソル移動→Enterでディレクトリを移動することもできる（←キーで上階層へ）


![Untitled (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127686/92d613bf-e8a4-8216-39bc-cf6254ae7249.png)

？キーでヘルプを確認できる

</details>

## htop

<details>
<summary>htop</summary>

### 元となったコマンド

```bash
$ top
```

### 機能

稼働プロセスの表示
CPU負荷やメモリ、スワップ使用率のグラフ表示

### インストール方法

```bash
$ sudo apt-get install htop # Debian系
$ sudo yum install htop     # RedHat系
$ brew install htop         # macOS/Homebrew
$ sudo port install htop    # macOS/MacPorts
```

### 使用方法

```bash
$ htop
```

![Untitled (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127686/0112f2bb-7086-71e3-ffe6-d049a97dceb2.png)

画面下部に表示されているコマンドでフィルターやソート、キル等が可能

</details>

## tldr

<details>
<summary>tldr</summary>

### 元となったコマンド

```bash
$ man
```

### 機能

manコマンドよりも概要と使用例を簡潔に表示する

### インストール方法

```bash
$ sudo apt-get install tldr # Debian系
$ sudo yum install tldr     # RedHat系
$ brew install tldr         # macOS/Homebrew
$ sudo port install tldr    # macOS/MacPorts
```

### 使用方法

```bash
$ tldr find
```

![Untitled (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127686/b6b56247-1d8d-352b-caa1-7c8ef21f7b50.png)

</details>


## jq

<details>
<summary>jq</summary>


### 元となったコマンド

```bash
$ grep
$ awk
```

### 機能

JSONのパーサ
JSONから値を抜き出したり、整形して表示したりできる

### インストール方法

```bash
$ sudo apt-get install jq   # Debian系
$ sudo yum install jq       # RedHat系
$ brew install jq           # macOS/Homebrew
$ sudo port install jq      # macOS/MacPorts
```

### 使用方法

```bash
$ curl https://XXXXX | jq
など
```

![Untitled (4).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127686/6f79de09-13c0-c9d6-d4e9-8e2dfe5881bf.png)


</details>


## fd

<details>
<summary>fd</summary>



### 元となったコマンド

```bash
$ find
```

### 機能

findよりもオプション指定がかんたんで出力に色付けされて出力される

### インストール方法

```bash
$ sudo apt-get install fd-find   # Debian系
$ sudo yum install fd-find       # RedHat系
$ brew install fd-find           # macOS/Homebrew
$ sudo port install fd-find      # macOS/MacPorts
```

### 使用方法

```bash
$ fdfind {pattern} {directory}
```

![Untitled (5).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127686/b3ccca7e-fc51-c6b4-aebd-c21b8fff4a61.png)


</details>


## exa

<details>
<summary>exa</summary>


### 元となったコマンド

```bash
$ ls
```

### 機能

ファイルやディレクトリの確認を行うlsを見やすく、カラフルに表示する

### インストール方法

```bash
$ cargo install exa
```

### 使用方法

```bash
$ exa -l
$ exa -ahl --git # ヘッダ付き、gitのステータス付き表示
$ exa -T         # -T ツリー表示
$ exa -T --git-ignore # -T ツリー表示 --git-ignore .gitignore記載のファイルを無視
```

![Untitled (6).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127686/a3a23a7f-ecbf-96cc-f4c8-e0e9d6ad8385.png)
![Untitled (7).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127686/d05099e0-ff53-a43b-7cef-5220dd976780.png)
![Untitled (8).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127686/79626283-51e7-cfc1-62f6-ff2425f0c588.png)

</details>

## bat

<details>
<summary>bat</summary>


### 元となったコマンド

```bash
$ cat
```

### 機能

syntaxハイライトやGitのステータス表示のできるcat

### インストール方法

```bash
$ cargo install bat
```

### 使用方法

```bash
$ bat text.txt
```

![Untitled (9).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127686/39801e17-b871-9b5c-299e-23b326b740cb.png)

</details>

## tokei


<details>
<summary>tokei</summary>


### 元となったコマンド

```bash
$ ps
```

### 機能

言語ごとのファイル数、ステップ数、コード数、空行数、コメント数を出力

### インストール方法

```bash
$ cargo install procs
```

```bash
$ procs
$ procs -w   # ウォッチモード(1秒毎に更新)
```

![Untitled (10).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127686/7cbef6ad-0f25-ef5d-2f3a-bd203d289fc7.png)

</details>


## procs


<details>
<summary>procs</summary>

### 機能

出力の色つけ、値の単位がわかりやすい、検索のしやすいps
    
### 使用方法

![Untitled (11).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127686/fc10145c-0579-6e1c-5055-30307a081994.png)

`procs -w` 時

![Untitled (12).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127686/569d1853-e9ef-36e1-a677-bf431600bc32.png)


</details>




# [付録]Rustのインストール

```bash
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

## これでrustc, cargo, rustup のコマンドがインストールされる
## error: linker `cc` not found のようなエラーメッセージが表示される場合は
## gccコンパイラをインストールする
$ yum install -y gcc
```