GNU/Linux >> Linux の 問題 >  >> Ubuntu

コマンド履歴に最初の75行が欠落しているようですか?

数年前、14.04から16.04への自動配布更新を行いました。自動配布更新後も、生まれて初めてパソコンを使い続けることができました。いつものように、ソフトウェアリポジトリはすべて破壊されているため、システムアップデートは適切に機能しませんが、私はそれを手に入れました。

ただし、18.04のクリーンインストールを実行します。インストール後にシステムをより簡単に構成できるようにするために、コマンド履歴をテキストファイルにエクスポートしました。

$ history > /.../20180915_Command_history.txt

美しく、結果のテキストファイルには行番号が含まれています。やや不思議なことに、最初の行番号は76です。最初の数行を見ると、おそらく以前のコマンドがいくつかあったようです。

  1. 何らかの理由で行番号が76から始まるのですか?
  2. そうでない場合、1行目から75行目を見る方法はありますか?

承認された回答:

まず、コマンドライン履歴のバックアップを取得する必要がある場合は、次のファイルをコピーするだけです。

~/.bash_history

すべての端末を閉じるか、history -aを実行する必要があることに注意してください これらの履歴セッションのすべてのコマンドを履歴ファイルに追加します。

そうでない場合、1行目から75行目を見る方法はありますか?

履歴に保存されているすべてのコマンドは、~/.bash_historyで入手できます。 ファイル、それらすべてがターミナルを開いて実行することを確認するには:

cat ~/.bash_history

historyのような出力を取得するには 番号付けを実行するコマンド:

cat -n ~/.bash_history

なんらかの理由で行番号が76から始まるのですか?

次のコマンドを実行します:

grep "^HIST" .bashrc

次のような出力を取得する必要があります:

HISTSIZE=1000
HISTFILESIZE=2000

前に言ったように、~/.bash_history コマンドラインの履歴を保持します。

  • HISTFILESIZE ~/.bash_historyに必要なコマンドの数を表示します 私の場合は2000年です。

  • そしてHISTSIZE historyするコマンドの数です コマンド(実際にはシェルが組み込まれています)が追跡します。

ターミナルを開いてhistoryを実行すると 、最後のHISTSIZEを選択します ~/.bash_historyからのコマンドの数 それをあなたに示します。

新しいコマンドを実行すると、セッションから古いコマンドが削除され、リストの最後に新しいコマンドが追加されるため、コマンドの数はHISTSIZEと一致します。 。

質問をしていると、HISTSIZEよりも74コマンド多いと思います。 .bash_historyで それが75から始まる理由です。

関連:UbuntuでRPMをインストールして管理する方法は?

man bashから :

  • HISTSIZE

    コマンド履歴で覚えておくべきコマンドの数。

  • HISTFILESIZE

    履歴ファイルに含まれる最大行数。


Ubuntu
  1. Linuxでhistoryコマンドを使用する方法

  2. コマンドラインでの毎日のBashのヒント

  3. Bashの感嘆符(!)を理解していますか?

  1. ワイルドカード*はコマンドとしてどのように解釈されますか?

  2. このスクリプトでコマンド履歴の一部を削除しないのはなぜですか?

  3. ディレクトリと日付を表示する履歴コマンド?

  1. Linux履歴コマンド

  2. Bashで、最初のX行をスキップしてファイルを印刷します

  3. ファイルの行をコマンドの引数として使用するにはどうすればよいですか?