Есть ли способ узнать, когда команды были выполнены из истории Bash? Мы можем увидеть заказ, но есть ли способ получить время?
Итог: время выполнения в истории Bash
command-line
bash
history
rɑːdʒɑ
источник
источник
history -E
HISTTIMEFORMAT
переменная не была установлена при выдаче команд. Другими словами, если он не был установлен, его установка сейчас не поможет вам получить временные метки ранее выполненных команд.Ответы:
Нажмите Ctrl+ Alt+, Tчтобы открыть Терминал, затем выполните команду ниже:
Или, чтобы сделать изменение постоянным для текущего пользователя:
затем
Для получения дополнительной информации смотрите man bash или индекс AZ командной строки Bash для Linux .
Для команд, которые выполнялись до того, как
HISTTIMEFORMAT
было установлено, текущее время будет сохранено как метка времени. Команды, запущенные после того, какHISTTIMEFORMAT
было установлено, сохранят правильную метку времени.источник
export
в.bash_profile
? Эта переменная доступна только для чтенияbash
, а не для запускаемых из нее команд, поэтому ее нельзя экспортировать.HISTTIMEFORMAT
как они установлены для сеансов, т.е. вы не можете использовать это ретроспективно. Некоторые ответы здесь создают впечатление, что команда истории сразу показывает записи с метками времениОткройте терминал Ctrl+ Alt+ Tи запустите,
тогда,
Чтобы сделать изменения постоянными, выполните следующие действия:
вам нужно добавить следующую строку в файл .bashrc и затем сохранить его,
выполните приведенную ниже команду для получения исходного файла .bashrc,
После этого запустите
history
команду.источник : http://www.cyberciti.biz/faq/unix-linux-bash-history-display-date-time/
источник
Да, вы можете: если вы установите
$HISTTIMEFORMAT
,.bash-history
будет правильно помечено время. Это не поможет с существующим.bash-history
контентом, но поможет в будущем.источник
Вы увидите изменения при следующем входе в систему.
источник
Чтобы включить временные метки истории для всех пользователей, создайте скрипт в /etc/profile.d:
источник
/etc/bash.bashrc
было бы лучше.Я знаю, что отвечаю на это очень поздно, но чтобы сделать это для всех пользователей, вы можете создать любой
.sh
файл/etc/profile.d
и добавить в него следующую строку:Если вы не вошли в систему как
root
или суперпользователь, вам нужно использоватьtee
команду для этого:Если вы хотите добавить к любому существующему файлу, передайте
-a
флагtee
команде:источник
/etc/profile.d
.timestamp.sh
выглядит очень близко к техническому (так что это создает путаницу), поэтому я использовал названиеexisting-foo-file.sh
(концепция foo-bar). 2. Никто не упомянул об использовании его с некорневыми пользователями. Итак, я привел пример использованияsudo
. 3. 3-й пример улучшает 2-й пример добавления к существующему файлу. Поскольку новички в Linux / Unix могут решить эту проблему, я разработал.