1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

linuxターミナルのショートカット設定方法(.bashrc)(.zshrc)今更知ったので設定した。

Last updated at Posted at 2021-02-15

bashやshを使うホームディレクトリには隠しファイル(.bashrc)(.zshrc)が入っているので
あるかどうかcat .bashrcなどで中身を確認してみよう!


シェル補完を有効にする

Bash を使用していれば次のコマンドを実行して .bashrc に一行追記します。これで次からのシェルの実行で自動的にシェル補完が有効になります。

echo "source <(kubectl completion bash)" >> ~/.bashrc

Zsh を使用しているなら、次のコマンドを実行して .zshrc に一行追記するだけです。

echo "source <(kubectl completion zsh)" >> ~/.zshrc

vi .bashrc
vi .zshrc

bash, zsh ともにこれで k に対して kubectl の補完が有効になります。

最終的には下記を .bashrc または .zshrc に追記してください。

bash (bash の場合は bash-completion が必要です。詳しくは kubectl completion -h を参照してください)

.bashrc
source /path/to/bash_completion
source <(kubectl completion bash)
alias k=kubectl
complete -o default -F __start_kubectl k

zsh

.zshrc
source <(kubectl completion zsh)
alias k=kubectl
complete -o default -F __start_kubectl k
## ls系
# ls 補正+色付け
alias ls='ls --color=auto'

# ll で隠しファイルも表示
alias ll='ls -alF'

# l で表示
alias l='ls -CF'

## cd系
ディレクトリ移動系は下記のようなものがありました。
よく利用するディレクトリに素早く移動するためのコマンドがいくつかありました。


# よく利用するディレクトリの頭文字の連結
alias abc='cd ~/aaa/bbb/ccc'

# 'd'でデスクトップ
alias d='cd ~/Desktop'


# ドットの数で表現
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'

# 数字で表現
alias ..2='cd ../..'
alias ..3='cd ../../..'


## git系

alias g='git'
alias ga='git add'
alias gd='git diff'
alias gs='git status'
alias gp='git push'
alias gb='git branch'
alias gst='git status'
alias gco='git checkout'
alias gf='git fetch'
alias gc='git commit'


## dotfiles関連
aliasを設定するdotfilesに関するaliasをいくつか紹介。
編集系は地味に便利そうなので、設定してみようかな。

```sh
# 省略度合いも人それぞれ
alias d='/path/to/dotfiles'
alias dot='/path/to/dotfiles'
alias dotfiles='/path/to/dotfiles'
# 編集系
alias zshrc='vi /path/to/dotfiles/.zshrc'
alias zshconfig='vi /path/to/dotfiles/.zshrc'

apt系

主にubuntu向けの設定ですね。

# apt
alias agi='sudo apt install'
alias agr='sudo apt remove'
alias agu='sudo apt update'

# apt-get
alias ag='sudo apt-get'
alias agi='sudo apt-get install'
alias agr='sudo apt-get remove'
alias agu='sudo apt-get update'

ちなみに、apt-getよりaptコマンドを利用したほうがよいです。
参考:「apt-get」はもう古い?新しい「apt」コマンドを使ったUbuntuのパッケージ管理

bundle系

Ruby on Railsでお馴染みのbundleです。
こちらはいくつか流派があるようです。

alias b='bundle'
alias be='bundle exec'
alias bx='bundle exec'
alias bi='bundle install'
alias bo='bundle outdated'
alias bu='bundle update'
alias rc='bundle exec rails c'

top系

意外と定義されていた系その2。
cpumemは忘れっぽい人にはいいかもしれないです。

# 人それぞれ
alias top='htop'
alias top='gtop'
alias top='vtop'
alias top='gotop'
# 別名
alias mem='top -o rsize'
alias cpu='top -o cpu'

安全策

-i(--interactive)オプションで上書き時には対話形式で質問するようにしておくやつ。

alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'

alias ed='vim'
alias edit="emacs -nw"

1文字系

ちょっと過激な気はしますが、慣れると使いやすいです。
長くなるので参考になるor面白そうなもののみ。

h

alias h='cd ~' # home的な
alias h='git reset HEAD' # head的な
alias h='heroku'
alias h='history | grep'
alias h='history'
alias h='tldr' # これは普通に便利そう。help?

i

alias i='sudo apt install --yes'

j

alias j='jobs'
alias j='jump'

k

alias k='kill -9'
alias k='kubectl' # 使ってる
alias k='kwrapper'
alias k='tree' # lの隣だから?

l

ほとんどls系でしたので割愛

m

alias m='cd ~/Music && ls -a' # musicのm!!!
alias m='make'
alias m='man'
alias m='mkdir' # 個人的にはこれかなあ
alias m='rake db:migrate db:rollback && rake db:migrate db:test:prepare' # やりすぎ感
alias m='mv'
alias m='mvn'

n

alias n='git checkout -b' # new branch
alias n='nano'
alias n='npm run'
alias n='npm' # 実はnodeよりもこっちの方が多く打つ?
alias n='nvim'
alias n='sudo netctl'
alias n='node'

o

alias o='open' # ほぼこれの亜種

p

alias p='cd ~/Documents/projects'
alias p='cd ~/Dropbox/Projects'
alias p='cd ~/Pictures && ls -a'
alias p='cd ~/Projects'
alias p='ping' # 意外と激戦区?
alias p='popd' # zshのAUTO_PUSHDとセットかな?
alias p='pwd'
alias p='python'
alias p='python3'
alias p='pacman' # ゲームじゃないよ

q

alias q='exit' # これ以外あんまない

r

alias r='cd / && ls -a' # rootのr
alias r='rails' # rails開発者はrはけっこう迷うかも?
alias r='rake'
alias r='ranger'
alias r='rgrep'
alias r='rm -i'
alias r='rspec'
alias r='screen -D -R'
alias r='source ~/.zshrc' # reload?
alias r='radian'

s

alias s='cd ~/src'
alias s='git status'
alias s='ls' # タイポ対策
alias s='screen'
alias s='spring'
alias s='ssh -l root'
alias s='ssh'
alias s='sudo su'
alias s='sudo'
alias s='svn'

t

alias t='date +"%H%M%S"' # time
alias t='telnet'
alias t='terraform'
alias t='tig'
alias t='tmux -2'
alias t='tmux attach'
alias t='tmux new-session -A -s main'
alias t='tmux'
alias t='tree -C'
alias t='tree -Cfh'
alias t='tree -I "node_modules"' # 私のかな?
alias t='tree -a --ignore ".git|node_modules|bower_components|.DS_Store" -l 3' # 強化版

u

alias u='cd ..' # up

v

alias v='code' # VSCode
alias v='vagrant'

vimの一族

alias v='mvim'
alias v='nvim'
alias v='vi'
alias v='vim'

w 特になし

x

alias x='exit'
alias x='screen -A -x'
alias x='startx' # IBM?
alias x='/mnt/c/Windows/explorer.exe' # cygwinかな?

y

alias y='yarn' # これ使おう
alias y='yaourt' # ArcLinux

z

alias z='zathura' # PDFビューワーらしい


## その他
```sh
# 短いが...
alias _='sudo'

# オプションを覚えづらい場合はアリ?
alias allps='ps aux'

# カレントディレクトリのパスをクリップボードにコピー(cpwd, copypathなど)
alias pwdc='pwd | tr -d "\n" | pbcopy'

番外編

global alias

  • zshの機能
  • aliasはコマンドの先頭でしか働かないが、-gオプション付きで定義すると、コマンドの途中でも展開される
  • パイプ等でよく呼び出すコマンドで利用する
# 便利そうなものをいくつか
alias -g A='| awk'
alias -g C='| pbcopy' # copy
alias -g C='| wc -l' # count
alias -g G='| grep --color=auto' # 鉄板
alias -g H='| head' # 当然tailもね
alias -g L='| less -R'
alias -g X='| xargs'

suffix alias

zshの機能
コマンドの末尾を見てよろしくやってくれる

alias -s gz='tar -xzvf' # ./hoge.tar.gz で展開できる
alias -s html='open' # ./index.html でブラウザで開く
alias -s {mp3,mp4,wav,mkv,m4v,m4a,wmv,avi,mpeg,mpg,vob,mov,rm}='mplayer' # こんな定義も可能
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?