シェルを便利に使うためのまとめ

提供: Astarisk Works Wiki

Linuxのシェルを便利に使うためTIPについてまとめます。 対象とするシェルはbashです。

目次

Bashのキーバインド

  • 凡例
Ctrl+?
Ctrlを押しながらキーを押す
ESC-?
ESCを押してからキーを押す

カーソルの移動

行頭にカーソルを移動at-beginingCtrl+a
行末にカーソルを移動endCtrl+e
カーソルを1文字右に移動forwardCtrl+f
カーソルを1文字左に移動backCtrl+b
カーソルを次の単語に移動forward wardESC-f
カーソルを前の単語に移動back wardESC-b

文字・単語の削除

カーソル位置から行末までの文字を削除kill lineCtrl+k
カーソル位置から行頭までの文字を削除unix-line-discardCtrl+u
カーソル手前の単語を削除unix-word-ruboutCtrl+w
カーソル位置の単語を削除delete wordCtrl+ESC-d
カーソル手前の1文字を削除 Ctrl-h
カーソル位置の1文字を削除deleteCtrl+d

その他

カーソル前後の文字の位置を入れ替えるtranspose lettersCtrl+t
カーソル前後の単語の位置を入れ替えるtranspose wordsESC-t
画面をクリアして、現在入力しているコマンドを戦闘行に表示clear screenCtrl+l
入力中のコマンドを破棄cancelCtrl+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:12つ前のコマンドの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を参照のこと

個人用ツール