知っ得Linuxコマンド

# はじめに

Ubuntuで利用できる便利な（面白い）Linuxコマンドのメモです。
※前半に紹介するコマンドは日常のタスクにはあまり役立たないかもしれませんので悪しからず笑

# sl

`sl`は、`ls`コマンドを間違えて入力したときに蒸気機関車が通り過ぎるアニメーションを表示します。
`ls`を打ち間違える人は入れておきましょう！笑

## インストール方法

```bash
sudo apt-get update
sudo apt-get install sl
```

## 実行

```bash
sl
```

### 結果

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/bcf64374-b0c6-7757-e248-6e050bd5c0cb.png)

# cowsay

`cowsay`は、テキストを入力するとそれを牛の吹き出しにして表示します。
面白いメッセージを作るのに最適です。

## インストール方法

```bash
sudo apt-get update
sudo apt-get install cowsay
```

## 実行

```bash
cowsay "Hello, Linux!"
```
### 結果

```
$ cowsay "Hello, Linux!"
 _______________
< Hello, Linux! >
 ---------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

```



# lolcat

`lolcat`は、テキストを虹色にして表示するコマンドです。
echoなどと組み合わせて使用します。

## インストール方法

```bash
sudo apt-get update
sudo apt-get install ruby
sudo gem install lolcat
```

## 実行

```bash
echo "Rainbow text!" | lolcat
```
### 結果

```bash
$ echo "Hello world! Rainbow text!" | lolcat
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/b336b86a-0d0f-de17-3289-6a8e3cb7f2d0.png)

# fortune

`fortune`は、ランダムな格言やジョークを表示するコマンドです。
リラックスしたいときやインスピレーションを求めるときに使えます。

## インストール方法

```bash
sudo apt-get update
sudo apt-get install fortune
```

## 実行

```bash
fortune
```

### 結果

```bash
$ fortune
Q:	How many IBM types does it take to change a light bulb?
A:	Fifteen.  One to do it, and fourteen to write document number
	GC7500439-0001, Multitasking Incandescent Source System Facility,
	of which 10% of the pages state only "This page intentionally
	left blank", and 20% of the definitions are of the form "A:.....
	consists of sequences of non-blank characters separated by blanks".
```

### cowsayと組み合わせる

```
$ cowsay -f tux `fortune `
 ______________________________________
/ A few hours grace before the madness \
\ begins again.                        /
 --------------------------------------
   \
    \
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/

```

# toilet

`toilet`は、入力されたテキストを大きなASCIIアート文字に変換するコマンドです。
見栄えの良い大文字でテキストを表示できます。

## インストール方法

```bash
sudo apt-get update
sudo apt-get install toilet
```

## 実行

```bash
echo "Cool text" | toilet
```

### 結果

```
$ echo "Cool text" | toilet
                                                               
   mmm                ""#             m                    m   
 m"   "  mmm    mmm     #           mm#mm   mmm   m   m  mm#mm 
 #      #" "#  #" "#    #             #    #"  #   #m#     #   
 #      #   #  #   #    #             #    #""""   m#m     #   
  "mmm" "#m#"  "#m#"    "mm           "mm  "#mm"  m" "m    "mm 
```

# figlet

`figlet`も、入力されたテキストを大きなASCIIアート文字に変換するコマンドです。toiletと似ていますが、デザインが異なります。

## インストール方法

```bash
sudo apt-get update
sudo apt-get install figlet
```

## 実行

```bash
figlet "Hello World"
```

### 結果

```
$ figlet "Hello World"
 _   _      _ _        __        __         _     _ 
| | | | ___| | | ___   \ \      / /__  _ __| | __| |
| |_| |/ _ \ | |/ _ \   \ \ /\ / / _ \| '__| |/ _` |
|  _  |  __/ | | (_) |   \ V  V / (_) | |  | | (_| |
|_| |_|\___|_|_|\___/     \_/\_/ \___/|_|  |_|\__,_|
                                                    
```

# cmatrix

`cmatrix`は、映画「マトリックス」のようなスクリーンセーバーを端末上に表示するコマンドです。
流れる緑の文字列が特徴です。

## インストール方法

```bash
sudo apt-get update
sudo apt-get install cmatrix
```

## 実行

```bash
cmatrix
```

### 結果

![スクリーンショット 2024-06-10 13.19.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/d92d2aac-1e03-b49d-6318-6f151b7a7325.png)


# nyancat

`nyancat`は、端末上に有名なインターネットキャラクター「Nyan Cat」を表示するコマンドです。
虹を引きながら飛ぶ猫のアニメーションが楽しめます。

## インストール方法

```bash
sudo apt-get update
sudo apt-get install nyancat
```

## 実行

```bash
nyancat
```

### 結果

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/6abf0cb0-9032-3246-be40-aa5ca26c4fa7.png)

# rig

`rig`は、ランダムな名前と住所を生成するコマンドです。
テストデータの生成などに使えます。

## インストール方法

```bash
sudo apt-get update
sudo apt-get install rig
```

## 実行

```bash
rig
```

### 結果

```
$ rig

Ronny Downs
1022 Southern Dr
Passadena, CA  91109
(818) xxx-xxxx
```


# boxes

`boxes`は、テキストを装飾されたボックスで囲むコマンドです。
メールやメモの装飾に使えます。

## インストール方法

```bash
sudo apt-get update
sudo apt-get install boxes
```

## 実行

```bash
echo "Hello, Linux!" | boxes
```

### 結果

```
$ echo "Hello, Linux!" | boxes

/*****************/
/* Hello, Linux! */
/*****************/
```

# yes

`yes`コマンドは、指定された文字列を延々と出力し続けるコマンドです。
通常はスクリプトやプログラムの入力を自動化するために使われますが、日常的に使うことはほとんどありません。

## インストール方法

```bash
sudo apt-get update
sudo apt-get install coreutils
```

## 実行

```bash
yes "Hello, Linux!"
```

### 結果

```
$ yes "Hello, Linux!"

Hello, Linux!
Hello, Linux!
Hello, Linux!
Hello, Linux!
Hello, Linux!
Hello, Linux!
Hello, Linux!
Hello, Linux!
...

```

## 応用

インストール時の対話が100以上ある架空のアプリケーションdialogMaster3000というアプリがあった場合、すべてをyesでインストールする

```bash
yes | apt-get install dialogMaster3000
```

このコマンドのみでインストールが完了できる。

ただ、対話の中でユーザー名などの文字入力があった場合、yがユーザー名に設定される場合も考えられるのでインストール後に変更が必要になるかもしれない。

# rev

`rev`コマンドは、入力された文字列を逆順に出力するコマンドです。
特定の用途以外ではあまり使うことはありません。

## インストール方法

```bash
sudo apt-get update
sudo apt-get install bsdmainutils
```

## 実行

```bash
echo "Hello" | rev
```

### 結果

```
$ echo "Hello" | rev
olleH
```
# factor

`factor`コマンドは、入力された数値を素因数分解するコマンドです。
数学的な用途以外ではほとんど使われません。

## インストール方法

```bash
sudo apt-get update
sudo apt-get install coreutils
```

## 実行

```bash
factor 12345
```

### 結果

```
$ factor 12345
12345: 3 5 823
```
# od

`od`コマンドは、入力データを8進数、16進数、またはその他の形式で表示するコマンドです。
バイナリデータの解析やデバッグに使われますが、一般的な用途ではほとんど使いません。

## インストール方法

```bash
sudo apt-get update
sudo apt-get install coreutils
```

## 実行

```bash
echo "Hello" | od
```

### 結果

```
$ echo "Hello" | od
0000000 062510 066154 005157
0000006
```


# tldr

`tldr`コマンドは、複雑なLinuxコマンドの簡易マニュアルを提供します。
シンプルで具体的な例を含んでいるため、素早く使い方を確認できます。

## インストール方法

```bash
sudo apt-get update
sudo apt-get install npm
sudo npm install -g tldr
```

## 実行

```bash
tldr tar
```

### 結果

```
$ tldr tar
✔ Page not found. Updating cache...
⠼ Creating index...
✔ Creating index...

  tar

  アーカイブ(複数のファイルやフォルダを 1 つのファイルに纏める)の為のユーティリティー。
  gzip や bzip2 などの圧縮方法と組み合わせることが多いです。
  詳しくはこちら: https://www.gnu.org/software/tar

  - アーカイブを作成し、それをファイルに書き込む:
    tar cf 出力ファイル名.tar ファイル1 ファイル2 ...

  - gzip 形式で圧縮されたアーカイブを作成し、それをファイルに書き込む:
    tar czf 出力ファイル名.tar.gz ファイル1 ファイル2 ...

  - 相対パスを用いてディレクトリから gzip 形式のアーカイブを作成する:
    tar czf 出力ファイル名.tar.gz --directory=ディレクトリへの相対パス .

  - (圧縮された)アーカイブファイルを、カレントディレクトリに過程を詳細表示しながら展開する:
    tar xvf 入力ファイル名.tar[.gz|.bz2|.xz]

  - (圧縮された)アーカイブファイルを、指定のディレクトリに展開する:
    tar xf 入力ファイル名.tar[.gz|.bz2|.xz] --directory=ディレクトリ

  - 圧縮されたアーカイブを作成し、それにファイルを書き込む。なお、接尾辞で圧縮プログラムを指定する:
    tar caf 出力ファイル名.tar.xz ファイル1 ファイル2 ...

  - tar ファイルの内容を詳細に表示する:
    tar tvf 入力ファイル名.tar

  - アーカイブファイルからパターンに合致するファイルを抽出する:
    tar xf 入力ファイル名.tar --wildcards "*.html"
```


# ncdu

`ncdu`コマンドは、ディスク使用量をインタラクティブに表示するツールです。
ディレクトリのサイズを視覚的に確認でき、不要なファイルを簡単に見つけられます。


## インストール方法

```bash
sudo apt-get update
sudo apt-get install ncdu
```

## 実行

```bash
ncdu /
```

### 結果

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/0a4cd174-d8b5-06ed-05ba-c3dd8cf1dbb5.png)