Linux環境設定/historyの履歴に重複するコマンド履歴を保存しない方法
の編集
Top
/
Linux環境設定
/
historyの履歴に重複するコマンド履歴を保存しない方法
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * historyの履歴に重複するコマンド履歴を保存しない方法 [#j71df789] historyで確認できるコマンド履歴上に重複するコマンド履歴がある場合、実行したコマンドを履歴に残さない方法があります。~ 本資料は、この設定に使用する環境変数HISTCONTROLの設定方法について記述しています。~ なお、bashを使用して動作確認を行いました。 sakura@ubuntu:~$ LANG=C bash --version GNU bash, version 4.2.25(1)-release (i686-pc-linux-gnu) <snip> #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) * 関連記事 [#s09859b6] 環境変数HISTCONTROLに関する記事は以下のリンクを参照してください。 -[[入力したコマンドをhistoryの履歴から除外する方法>Linux環境設定/入力したコマンドをhistoryの履歴から除外する方法]] -[[同一コマンド続けて実行した時にhistoryの履歴が1つだけになる方法>Linux環境設定/同一コマンド続けて実行した時にhistoryの履歴が1つだけになる方法]] -[[HISTOCONTROLのignorespace,ignoredupsを一緒に有効にする方法>Linux環境設定/HISTOCONTROLのignorespace,ignoredupsを一緒に有効にする方法]] -[[historyの履歴を削除する>逆引きUNIXコマンド/historyの履歴を削除する]] -[[特定のコマンドの履歴をhistoryから除外する方法>Linux環境設定/特定のコマンドの履歴をhistoryから除外する方法]] -[[特定番号のhistoryを削除する方法>逆引きUNIXコマンド/特定番号のhistoryを削除する方法]] -[[以前実行したコマンドの履歴を確認したい・historyコマンド>逆引きUNIXコマンド/以前実行したコマンドの履歴を確認したい]] -[[historyの履歴を管理する環境変数HISTCONTROL,HISTIGNOREの記事>Linux環境設定/historyの履歴を管理する環境変数HISTCONTROL,HISTIGNOREの記事]] -[[historyで確認できるコマンド履歴に日時を追加する方法>Linux環境設定/historyで確認できるコマンド履歴に日時を追加する方法]] * HISTCONTROL=erasedupsについて [#z3380629] 最初に書いたとおり、コマンド履歴上に同一のコマンドがあった場合、履歴対象となりません。~ 1回のみの履歴保存となります。~ 設定方法は以下の通りです。 export HISTCONTROL=erasedups * manコマンドで確認してみる [#wc7be375] HISTCONTROLについてmanコマンドを実行してマニュアルを見てみます。 $ man bash <snip> HISTCONTROL A colon-separated list of values controlling how commands are saved on the history list. If the list of values includes ignorespace, lines which begin with a space character are not saved in the history list. A value of ignoredups causes lines matching the previous history entry to not be saved. A value of ignoreboth is shorthand for ignorespace and ignoredups. A value of erasedups causes all previous lines matching the current line to be removed from the history list before that line is saved. Any value not in the above list is ignored. If HISTCONTROL is unset, or does not include a valid value, all lines read by the shell parser are saved on the history list, subject to the value of HISTIGNORE. The second and subsequent lines of a multi-line compound command are not tested, and are added to the history regardless of the value of HISTCONTROL. <snip> 上記の出力からわかるように以下のように記されています。~ A value of ''erasedups'' causes all previous lines matching the current line to be removed from the history list before that line is saved. * HISTCONTROL=erasedups を試してみるします。 [#i5c11e86] HISTCONTROL=erasedupsを実際に設定し実行した出力例です。 + histroy -c コマンドにより履歴を削除します。 sakura@ubuntu:~$ history -c + 環境変数HISTCONTROLにerasedupsを設定します。 sakura@ubuntu:~$ export HISTCONTROL=erasedups + ls -lコマンドを実行します。 sakura@ubuntu:~$ ls -l 合計 0 + dateコマンドを実行します。 sakura@ubuntu:~$ date 2013年 12月 5日 木曜日 21:46:52 JST + 再度ls -lコマンドを実行します。 sakura@ubuntu:~$ ls -l 合計 0 + 再度dateコマンドを実行します。 sakura@ubuntu:~$ date 2013年 12月 5日 木曜日 21:46:53 JST + echo ubuntuコマンドを実行します。 sakura@ubuntu:~$ echo ubuntu ubuntu + echo centosコマンドを実行します。 sakura@ubuntu:~$ echo centos centos + 再度echo ubuntuコマンドを実行します。 sakura@ubuntu:~$ echo ubuntu ubuntu + 再度echo centosコマンドを実行します。 sakura@ubuntu:~$ echo centos centos + historyコマンドを実行するとユニークなコマンドのみ履歴として保存されているのが確認できます。 sakura@ubuntu:~$ history 1 export HISTCONTROL=erasedups 2 ls -l 3 date 4 echo ubuntu 5 echo centos 6 history sakura@ubuntu:~$ 以上、HISTCONTROL=erasedupsに関する記事でした。 #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
タイムスタンプを変更しない
#navi(../) * historyの履歴に重複するコマンド履歴を保存しない方法 [#j71df789] historyで確認できるコマンド履歴上に重複するコマンド履歴がある場合、実行したコマンドを履歴に残さない方法があります。~ 本資料は、この設定に使用する環境変数HISTCONTROLの設定方法について記述しています。~ なお、bashを使用して動作確認を行いました。 sakura@ubuntu:~$ LANG=C bash --version GNU bash, version 4.2.25(1)-release (i686-pc-linux-gnu) <snip> #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) * 関連記事 [#s09859b6] 環境変数HISTCONTROLに関する記事は以下のリンクを参照してください。 -[[入力したコマンドをhistoryの履歴から除外する方法>Linux環境設定/入力したコマンドをhistoryの履歴から除外する方法]] -[[同一コマンド続けて実行した時にhistoryの履歴が1つだけになる方法>Linux環境設定/同一コマンド続けて実行した時にhistoryの履歴が1つだけになる方法]] -[[HISTOCONTROLのignorespace,ignoredupsを一緒に有効にする方法>Linux環境設定/HISTOCONTROLのignorespace,ignoredupsを一緒に有効にする方法]] -[[historyの履歴を削除する>逆引きUNIXコマンド/historyの履歴を削除する]] -[[特定のコマンドの履歴をhistoryから除外する方法>Linux環境設定/特定のコマンドの履歴をhistoryから除外する方法]] -[[特定番号のhistoryを削除する方法>逆引きUNIXコマンド/特定番号のhistoryを削除する方法]] -[[以前実行したコマンドの履歴を確認したい・historyコマンド>逆引きUNIXコマンド/以前実行したコマンドの履歴を確認したい]] -[[historyの履歴を管理する環境変数HISTCONTROL,HISTIGNOREの記事>Linux環境設定/historyの履歴を管理する環境変数HISTCONTROL,HISTIGNOREの記事]] -[[historyで確認できるコマンド履歴に日時を追加する方法>Linux環境設定/historyで確認できるコマンド履歴に日時を追加する方法]] * HISTCONTROL=erasedupsについて [#z3380629] 最初に書いたとおり、コマンド履歴上に同一のコマンドがあった場合、履歴対象となりません。~ 1回のみの履歴保存となります。~ 設定方法は以下の通りです。 export HISTCONTROL=erasedups * manコマンドで確認してみる [#wc7be375] HISTCONTROLについてmanコマンドを実行してマニュアルを見てみます。 $ man bash <snip> HISTCONTROL A colon-separated list of values controlling how commands are saved on the history list. If the list of values includes ignorespace, lines which begin with a space character are not saved in the history list. A value of ignoredups causes lines matching the previous history entry to not be saved. A value of ignoreboth is shorthand for ignorespace and ignoredups. A value of erasedups causes all previous lines matching the current line to be removed from the history list before that line is saved. Any value not in the above list is ignored. If HISTCONTROL is unset, or does not include a valid value, all lines read by the shell parser are saved on the history list, subject to the value of HISTIGNORE. The second and subsequent lines of a multi-line compound command are not tested, and are added to the history regardless of the value of HISTCONTROL. <snip> 上記の出力からわかるように以下のように記されています。~ A value of ''erasedups'' causes all previous lines matching the current line to be removed from the history list before that line is saved. * HISTCONTROL=erasedups を試してみるします。 [#i5c11e86] HISTCONTROL=erasedupsを実際に設定し実行した出力例です。 + histroy -c コマンドにより履歴を削除します。 sakura@ubuntu:~$ history -c + 環境変数HISTCONTROLにerasedupsを設定します。 sakura@ubuntu:~$ export HISTCONTROL=erasedups + ls -lコマンドを実行します。 sakura@ubuntu:~$ ls -l 合計 0 + dateコマンドを実行します。 sakura@ubuntu:~$ date 2013年 12月 5日 木曜日 21:46:52 JST + 再度ls -lコマンドを実行します。 sakura@ubuntu:~$ ls -l 合計 0 + 再度dateコマンドを実行します。 sakura@ubuntu:~$ date 2013年 12月 5日 木曜日 21:46:53 JST + echo ubuntuコマンドを実行します。 sakura@ubuntu:~$ echo ubuntu ubuntu + echo centosコマンドを実行します。 sakura@ubuntu:~$ echo centos centos + 再度echo ubuntuコマンドを実行します。 sakura@ubuntu:~$ echo ubuntu ubuntu + 再度echo centosコマンドを実行します。 sakura@ubuntu:~$ echo centos centos + historyコマンドを実行するとユニークなコマンドのみ履歴として保存されているのが確認できます。 sakura@ubuntu:~$ history 1 export HISTCONTROL=erasedups 2 ls -l 3 date 4 echo ubuntu 5 echo centos 6 history sakura@ubuntu:~$ 以上、HISTCONTROL=erasedupsに関する記事でした。 #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
テキスト整形のルールを表示する