Linux操作で生産性を上げたいならaliasコマンドを使おう！


Linux操作で生産性をあげるためにまず使うべきコマンド、それがaliasコマンドです。
最後には私が登録しているエイリアスも紹介します！

# alias(エイリアス)とは？
一言でいうと、「コマンドを作ることができるコマンド」です。
aliasコマンドを使ってコマンドを登録することによって、普段使っているコマンドの入力を格段に短縮することができます。
例えば、`cd /var/www/hoge/storage/logs`と入力するものを`logs`だけで実行できるようになります。
つまり、コマンドに別名をつけられるということです。

#基本文法
```
$ alias ll='ls -l'
```
上記のコマンドを実行することによって`ls -l`というコマンドを`ll`というコマンドで実行できるようになります。

`ll`というコマンドに一時的に`-a`オプションを付けたい場合は下記のように実行します。

```
$ ll -a
```
これで`ls -la`を実行したことになります。
便利ですよね。

実行するコマンドは`&&`などを使って複数つなげることもできます。

```
$ alias pj='cd /var/www/public && ls -l'

もしもllというaliasが登録済みであれば以下の登録でも可能
$ alias pj='cd /var/www/public && ll'
```
ちなみに`&&`の意味は以下の通りです。
`コマンドA && コマンドB`はコマンドAが正常に終了したら続けてコマンドBも実行される
【参考】[Linuxコマンドを連続して使うには](https://qiita.com/egawa_kun/items/714394609eef6be8e0bf "Linuxコマンドを連続して使うには")

# aliasはPCの電源を切ると消えてしまう！(永続化の方法)
aliasを登録すれば登録したコマンドは使えるようになりますが、PCの電源を切ると登録したaliasも消えて使えなくなってしまいます。
そのため、消えてほしくないaliasは.zshrcや.bashrcファイルに記述する必要があります。

#### .zshrcや.bashrcファイルとは？
簡単に言うとログイン時に実行されるファイルです。
お使いのシェルがzshの場合は.zshrcファイルを、bashの場合は.bashrcファイルを使います。
【参考】[「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典(.bashrc)](https://wa3.i-3-i.info/word13649.html "「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典(.bashrc)")

記述方法
.zshrcや.bashrcファイルは一般的にホームディレクトリに置きます。
ちなみにMacOS Catalina以降のデフォルトシェルはzshです。
それではファイルを編集しましょう（ファイルがない場合は作成されます）。

```
$ vi ~/.zshrc
or
$ vi ~/.bashrc
```

このファイル内に登録したいaliasを記述していきます。

```sh:.zshrc
alias ..='cd ..'
alias ...='cd ../..'
alias ll='ls -l'
alias lla='ls -la'
```

これで、PCの電源を切ってもログインする際にこのファイルが実行されてaliasが使える状態になります。

ただし、ファイルを編集して再ログインせずにすぐに使いたい場合はまだファイルが実行されていないためaliasを使うことができません。

ファイルを実行するためには「source」または「.」コマンドを使ってファイルを読み込む必要があります。

```
#bashなら
$ source ~/.bashrc
or
$ . ~/.bashrc

#ｚｓｈなら
$ source ~/.zsh
or
$ . ~/.zsh
```

登録の仕方、反映方法
sourceコマンド



# 一覧表示

alias登録したけど、作ったコマンド忘れた！！
これはよくあることです。登録したaliasの確認は以下のコマンドです。

```
$ alias
```

# 登録済みのaliasの削除方法
間違えて登録しちゃった！
そんな場合は下記のコマンドでaliasを削除することができます。

```
$ unalias ll
```

# 登録しておきたいalias(サンプル)
ここで、私が登録しているaliasの一部を紹介します。

```zsh:.zshrc
#zshの編集
alias zrc='vim ~/.zshrc'
alias sozrc='source ~/.zshrc'

#基本コマンド
alias ..='cd ..'
alias ...='cd ../..'
alias ll='ls -l'
alias lla='ls -la'

# よく使うサイトをブラウザで開くコマンド
alias ggl='open https://www.google.com'
alias yho='open https://www.yahoo.co.jp'

#hostsの編集
alias hosts='sudo vim /etc/hosts'

#git
alias gb='git branch'
alias gc='git checkout'
alias gcd='gc develop'
alias gs='git status'
alias gp='git pull'

#MySQL
alias mss='mysql.server start'

#docker
alias dp='docker ps'
#docker-compose
alias dc='docker-compose'
alias dcu='dc up'
alias dcd='dc down'
alias dcs='dc start'
alias dce='dc end'
alias dcr='dc restart'

#laravel(phper向け)
alias art='php artisan'
alias arts='art serve'
alias artr='art route:list'
alias migrate='art migrate'
alias rollback='art migrate:rollback'
alias fresh='art migrate:fresh'
alias cc='php artisan config:clear && php artisan cache:clear && php artisan view:clear'
alias seed='art db:seed'
#laradock
alias dcew='dc exec workspace bash'
alias dcem='dc exec mysql bash'
```

これも登録するといいよ！というものがあればコメントにお願いいたします！

# おわりに
aliasを使うことによって長いコマンドも最小1文字に短縮が可能です。
毎日使う長いコマンドがあればぜひalias登録をして無駄なタイピング時間を短縮しましょう！
（登録したコマンドは使わないと忘れます!!積極的に使いましょう！(自戒)）

# 参考文献
・[新しいコマンドも作れる！aliasコマンド詳細まとめ【Linuxコマンド集】](https://eng-entrance.com/linux-command-alias "新しいコマンドも作れる！aliasコマンド詳細まとめ【Linuxコマンド集】")
・[Linuxコマンドを連続して使うには](https://qiita.com/egawa_kun/items/714394609eef6be8e0bf "Linuxコマンドを連続して使うには")
・[「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典(.bashrc)](https://wa3.i-3-i.info/word13649.html "「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典(.bashrc)")