シェルを便利に使うためのまとめ
提供: Astarisk Works Wiki
Linuxのシェルを便利に使うためTIPについてまとめます。 対象とするシェルはbashです。
目次 |
Bashのキーバインド
- 凡例
- Ctrl+?
- Ctrlを押しながらキーを押す
- ESC-?
- ESCを押してからキーを押す
カーソルの移動
| 行頭にカーソルを移動 | at-begining | Ctrl+a |
| 行末にカーソルを移動 | end | Ctrl+e |
| カーソルを1文字右に移動 | forward | Ctrl+f |
| カーソルを1文字左に移動 | back | Ctrl+b |
| カーソルを次の単語に移動 | forward ward | ESC-f |
| カーソルを前の単語に移動 | back ward | ESC-b |
文字・単語の削除
| カーソル位置から行末までの文字を削除 | kill line | Ctrl+k |
| カーソル位置から行頭までの文字を削除 | unix-line-discard | Ctrl+u |
| カーソル手前の単語を削除 | unix-word-rubout | Ctrl+w |
| カーソル位置の単語を削除 | delete word | Ctrl+ESC-d |
| カーソル手前の1文字を削除 | Ctrl-h | |
| カーソル位置の1文字を削除 | delete | Ctrl+d |
その他
| カーソル前後の文字の位置を入れ替える | transpose letters | Ctrl+t |
| カーソル前後の単語の位置を入れ替える | transpose words | ESC-t |
| 画面をクリアして、現在入力しているコマンドを戦闘行に表示 | clear screen | Ctrl+l |
| 入力中のコマンドを破棄 | cancel | Ctrl+c |
sudo
sudoを参照のこと
コマンド履歴を便利に使う
コマンド履歴を検索する
Ctrl+r
上記のキーバインドを入力して検索モードに入る。コマンドを入力するとインクリメンタルに履歴が検索できる。
文字検索で履歴を絞り込めるようにする
ホームディレクトリの.inputrcに次の2行を追加する。
"\e[B":history-search-forward "\e[A":history-search-backward
するとコマンドを途中まで入力し、カーソルキーの上で出てくるヒストリーが入力した値で絞り込まれたものだけになる。
履歴の設定
履歴の最大保存数、余計な履歴を保存しない、特定のコマンド履歴を保存しないを設定します。
次の環境変数を.bashrcに追加します。
export HISTSIZE=10000 export HISTCONTROL=ignoreboth export HISTIGNORE="exit:screen:[bf]g:cd:cd *:history:history *"
前のコマンドの引数を再利用する
まずは設定。次の設定を.inputrcに追記し設定する。
$if Bash Space: magic-space $endif
引数再利用のための特殊変数は次のとおり
| 名前 | 説明 |
|---|---|
| !:1 | 直前のコマンドの1つ目の引数を再利用する |
| !:2 | 直前のコマンドの2つ目の引数を再利用する |
| !-2:1 | 2つ前のコマンドの1つ目の引数 |
エイリアスを設定する
.bashrcにエイリアスを設定する
> vi .bashrc
例えば次のように設定する
alias ll='ls -l'
次回のログインから反映されるが、エイリアスをすぐに反映するには次のコマンドを実行する
> source .bashrc
bash_completion
bashで様々な補完ができるようにするプログラム ubuntuでは標準インストールされている様子。
macの場合、macportsでインストールできる。
> sodo port install bash-completion
インストール後、次の3行を.bash_profileに追加する
if [ -f /opt/local/etc/bash_completion ]; then
. /opt/local/etc/bash_completion
fi
.ssh/config から設定を読んでssh接続先の補完ができるようになったりしてとっても便利。
Screanを使う
Screanを参照のこと