GNU/Linux >> Znalost Linux >  >> Ubuntu

Příkaz historie zobrazující adresář a datum?

Existuje způsob, jak v souboru .bash_history uvést:adresář, do kterého byl zadán příkaz, datum a příkaz?

Přijatá odpověď:

Příkaz historie zobrazující adresář:NE! 🙁

Příkaz historie zobrazující datum:ANO! 🙂

Je to proto, že (z man history ):

The history list is an array of history entries.  A  history  entry is
declared as follows:

   typedef void * histdata_t;

   typedef struct _hist_entry {
     char *line;
     char *timestamp;
     histdata_t data;
   } HIST_ENTRY;

Takže nic o adresáři, kde byl příkaz napsán.

Chcete-li zjistit přesný čas provedení určitého příkazu, podívejte se na help history :

If the $HISTTIMEFORMAT variable is set and not null, its value is used
as a format string for strftime(3) to print the time stamp associated
with each displayed history entry.  No time stamps are printed
otherwise.

Takže vše, co musíte udělat, je nastavit $HISTTIMEFORMAT něco takového v aktuálním shellu:

export HISTTIMEFORMAT="%F %T "

Chcete-li jej trvale nastavit, spusťte následující příkaz:

echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc

Výše uvedený příkaz přidá nový řádek (export HISTTIMEFORMAT="%F %T " ) na konci vašeho ~/.bashrc soubor.

Nyní výstup history bude vypadat nějak takto:

 ...
 1613  2013-11-13 13:00:15 cat .bash_history
 1614  2013-11-13 13:01:04 man history
 1615  2013-11-13 13:11:58 help history
 1616  2013-11-13 13:19:07 ls
 1617  2013-11-13 13:19:09 cd
 1618  2013-11-13 13:19:15 history

Ubuntu
  1. Nastavte datum a čas pro každý příkaz, který provedete v historii Bash

  2. Použití –exclude With The Du Command?

  3. Zdá se, že v historii příkazů chybí prvních 75 řádků?

  1. Jak používat příkaz historie v Linuxu

  2. CentOS / RHEL :Jak získat datum a čas provedeného příkazu ve výstupu příkazu historie

  3. Ubuntu povoluje a zakazuje síťové rozhraní

  1. Bash - příkaz Datum a mezera

  2. Lomítka a příkaz rsync

  3. Historie příkazů Linuxu s datem a časem