履歴を活用する

環境を新しく作成したときに、履歴を活用する設定をします。
dockerを立ち上げる場合などはとても便利です。

csh/tcsh

今(2019.06.03)、FreeBSDではcshとtcshはハードリンクになっています。
実体は同じですが、tcshを使うとして説明します。
(Ubuntu 18.04.2でsudo apt-get install tcshとすると、csh -> tcshになります。)

~/.tcshrcに下記を記述します。

~/.tcshrc

bindkey -k up history-search-backward
bindkey -k down history-search-forward

これで、cdまで入力してから↑キーを押すと、cdで始まる履歴だけが検索されます。
vまで入力してから↑キーを押すと、大体はviで始まる履歴だけが検索されます。

history関連で.tcshrcに対する設定は下記のようにします。

~/.tcshrc

set histfile = ~/.tcsh_history

set history = 16384
set savehist = (262144 merge)

“savehist merge”で検索すると、色々と問題があった歴史がわかります。自分で積極的にhistoryを保存する仕組みを作った方が安全です。

bash

~/.inputrcに以下の行を追加します。

~/.inputrc

"\e[A":history-search-backward
"\e[B":history-search-forward

これで、cdまで入力してから↑キーを押すと、cdで始まる履歴だけが検索されます。
vまで入力してから↑キーを押すと、大体はviで始まる履歴だけが検索されます。

history関連で.bashrc(または.bash_profile)に対する設定は下記のようにします。

~/.bashrc

HISTSIZE=16384
export HISTSIZE
HISTFILESIZE=262144
export HISTFILESIZE

経験的にですが2年分くらいの履歴が保存できます。

historyの保存

tcshの場合は下記で、~/.tcsh_historyを更新できます。
savehistでmerge指定しているので末尾に付け加えるような動作になっているでしょう。


history -S

最新のhistoryを取得します。
なので、tcshでは作業している端末でhistory -Sを実行して、別の端末でhistory -Lを実行し、最新のhistoryで作業をします。


history -L

bashの場合は下記で、~/.bash_historyを更新できます。
付け加えます。末尾に付け加えるような動作になっているでしょう。


history -a

最新のhistoryを取得します。
なので、bashでは作業している端末でhistory -aを実行して、別の端末でhistory -nを実行し、最新のhistoryで作業をします。


history -n

手順書を作成することがわかっている場合は、下記で残しておくという簡単な方法も有効です。


作業を開始
作業が完了
history > history_docker_redmine_git_2019_06_01
cp ~/.tcsh_history tcsh_history_docker_redmine_git_2019_06_01

他、下記の方法があります。


script
作業を開始
作業が完了
exit
cp typescript manual_docker_redmine_git

参考

SHELLのコマンド履歴検索を便利にしよう

jammy (1) bash.1.gz

history – コマンド・ヒストリー・リストを表示する

広告

さくらのレンタルサーバ
ムームードメイン
Oisix(おいしっくす)
らでぃっしゅぼーや
珈琲きゃろっと
エプソムソルト
AdGuard Ad Blocker
AdGuard VPN
AdGuard DNS


viを使う 6 (.vimrc)
履歴を活用する
.bashrc
STM32CubeIDE 2 (Ubuntu 20.04の開発環境を整備する)


«       »