MENU

Linux Mint(5)bashでよく使うコマンドを予め登録する

historyがあふれている・・・

こまめにapt upgradeをかけるため、毎回コマンドの手打ちは面倒なのでhistroyの履歴を使っていました。199番の履歴だったのですが、実行するとそんなものはないと怒られます

~$ !199
bash: !199: event not found

履歴を確認してみると

抜粋
 1205  lsusb
 1206  sudo reboot now
 1207  history
 1208  apt update && apt  upgrade -y
 1209  whatis -w "*hist*"
 1210  man history 
 1211  alias 
 1212  l
 1213  la

履歴の先頭までたどっても199番はなくなっていました。この履歴内の1208番と全く同じことをしたかったのですが。

そういえばhistoryには上限があったはず。

~$ cat .bashrc
〜途中省略〜
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

HISTSIZE=1000ということで、番号はどんどん追加されていくけれど上限1000件ということですね。上限を2000件とか増やすことも対策として考えられますが、そんなにたくさん履歴を持っても使うことは多くはないと思われるため別の方法を考えます。

よく使うコマンドをaliasで登録する

.bashrcに以下の記述があります。

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
〜途中省略〜
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

lsコマンドのエイリアスを参考に

alias 登録名 ='登録するコマンド'

として登録すれば、よく使うコマンドを短縮した独自のコマンド名で登録できます。
これを.bashrc内に記述しても実現はできるのですが、~/.bash_aliasesに登録もできるよと記述されているので、管理上は.bash_aliasesを作成して登録するほうが良さそうです。

.bash_aliasesに登録する

デフォルトで.bash_aliasesは存在しないのでホームディレクトリ上にファイルを作成して記述します。

~$ vi .bash_aliases
(.bash_aliases中身の記述&保存)
alias aptup='apt update && apt upgrade -y'
(.bashrcの読み直し)
~$ source .bashrc

以上の作業で「aptup」というエイリアス名で apt update と apt upgradeを実行する別名(エイリアス)ができました。

後処理 historyをクリアする

historyコマンド実行時に表示される番号を1番からに戻すためにファイルをクリアします

~$ cat /dev/null > .bash_history

確かに.bash_historyのファイル内はクリアされているのですが、historyコマンドを実行すると過去の履歴が番号付きで表示されてきます。どこを見て呼び出しているのか?

~$ history -c

これで過去履歴が消えてまた履歴が1番から作成されるようになりました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次