ターミナルにコマンドを入力すると、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を起動する方法