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

FishShellで履歴コマンドのタイムスタンプを有効にする

ターミナルにコマンドを入力すると、Linuxの履歴ファイルの最後に保存されます。 historyを使用すると、いつでもこれらのコマンドを簡単に取得できます。 指図。シェルはすべてのコマンドエントリのタイムスタンプも追跡しているため、特定のコマンドがいつ実行されたかを簡単に見つけることができます。 Bashでタイムスタンプを有効にする方法はすでに説明しました およびZsh シェル。今日は、フィッシュシェルで履歴コマンドのタイムスタンプを有効にする方法を説明します。 Linuxでは。さらに、魚の殻の履歴コマンド出力に日付とタイムスタンプを表示する簡単な関数を作成する方法も学習します。

フィッシュシェルの履歴コマンドのタイムスタンプを有効にする

バージョン2.6以降、fish シェルは、組み込みのhistoryでタイムスタンプをサポートします 指図。 fishでいくつかのコマンドを実行してみましょう シェルセッション:

> lsb_release -a
> uname -r
> hostname -f
> mkdir ostechnix
> cd ostechnix/
> touch ostechnix.txt
> ls

historyを実行する場合 フラグのないコマンドの場合、タイムスタンプなしで以前に実行されたこれらのコマンドがすべて表示されます。

> history
ls
touch ostechnix.txt
cd ostechnix/
mkdir ostechnix
hostname -f
uname -r
lsb_release -a
[...]

historyのタイムスタンプを有効にするには fishのコマンド シェル、--show-timeを使用します 以下に示すフラグ:

> history --show-time

出力例:

# Monday 30 November 2020 02:39:52 PM
history
# Monday 30 November 2020 02:36:52 PM
ls
# Monday 30 November 2020 02:36:47 PM
touch ostechnix.txt
# Monday 30 November 2020 02:36:39 PM
cd ostechnix/
# Monday 30 November 2020 02:36:36 PM
mkdir ostechnix
# Monday 30 November 2020 02:34:11 PM
hostname -f
# Monday 30 November 2020 02:33:51 PM
uname -r
# Monday 30 November 2020 02:33:42 PM
lsb_release -a
[...]

ご覧のとおり、historyコマンドでは、各コマンドの上部にタイムスタンプが表示されます。魚の殻が日付とタイムスタンプを表示する方法が好きではありません。そこで、historyコマンドの出力を次のようにカスタマイズしました:

> history --show-time='%F %T '

出力例:

2020-11-30 14:47:12 history --show-time
2020-11-30 14:39:52 history
2020-11-30 14:36:52 ls
2020-11-30 14:36:47 touch ostechnix.txt
2020-11-30 14:36:39 cd ostechnix/
2020-11-30 14:36:36 mkdir ostechnix
2020-11-30 14:34:11 hostname -f
2020-11-30 14:33:51 uname -r
2020-11-30 14:33:42 lsb_release -a
[...]

今では完璧です!

ここで、%F オプションは、日付をYYYY-MM-DDで表示します (年-月-日付)形式。そして%T オプションは、時間をHH:MM:SSの形式で表示します (時-分-秒)形式。

日付のみを表示したい場合 、次のコマンドを使用します:

> history --show-time='%F '

出力例:

2020-11-30 ls
2020-11-30 touch ostechnix.txt
[...]

時間のみを表示するには 、次にこれを使用します:

> history --show-time='%T '

出力例:

14:36:52 ls
14:36:47 touch ostechnix.txt
[...]

次のさまざまな形式を使用することもできます。

> history --show-time='%d/%m/%y %H:%M:%S '

これにより、履歴出力が次の形式で表示されます。

30/11/20 14:36:52 ls
30/11/20 14:36:47 touch ostechnix.txt
[...]

別のバージョンは次のとおりです:

> history --show-time='%h/%d - %H:%M:%S '

出力例:

Nov/30 - 14:36:52 ls
Nov/30 - 14:36:47 touch ostechnix.txt
[...]
履歴コマンド出力に日付とタイムスタンプを表示する魚関数

いくつかのストロークを保存したい場合は、functionを使用できます。 以下のように。

> nano ~/.config/fish/functions/history.fish

注: ~/.config/fish/functions/の場合 ディレクトリは存在しません。作成するだけです。

history.fishに次の行を追加します ファイル:

function history
    builtin history --show-time='%F %T '
end

これで、history コマンドはフラグなしでタイムスタンプを表示します:

詳細については、フィッシュマンのページを参照してください:

> man fish

historyで日付と時刻を表示する方法をマスターしました Linuxのfishshellでのコマンド出力。また、簡単なfunctionの使用方法も学びました。 fishshellでhistoryコマンドのタイムスタンプを有効にします。これがお役に立てば幸いです。

関連記事:

  • LinuxでプライベートモードでFishShellを起動する方法

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

  2. Linux履歴コマンド

  3. *nix でポイント コマンド `.` のヘルプを見つけるにはどうすればよいですか?

  1. $ pathにファイルが存在するかどうかをFishShellでテストしますか?

  2. Bash スクリプト:セッションをログに記録するための bash スクリプトからのスクリプト コマンドの使用

  3. フィッシュ シェルのカスタム プロンプトをインストール/作成するにはどうすればよいですか?

  1. 履歴に保存せずにシェルでコマンドを実行するにはどうすればよいですか? [Linuxのヒント]

  2. 壊れた歴史?

  3. IPアドレスを取得するためのシェルコマンド?