Создание списка истории команд

Есть ли способ отобразить список, состоящий из последних n команд терминала, сделанных конкретным пользователем?

1
задан 16 December 2015 в 08:28

5 ответов

Каждый пользователь имеет .bash_history файл, существующий в его корневом каталоге. т.е. /home/<USERNAME>/.bash_history. Это хранит всю команду, выполняемую конкретным пользователем.

можно использовать этот файл для наблюдения команды, выполняемой пользователем. (Вам нужно полномочие пользователя root получить доступ к файлу другого пользователя.)

tail -n /home/<USERNAME>/.bash_history

не забывают заменять n фактическим числом.

4
ответ дан 16 December 2015 в 08:28

tail -n /home/userinquestion/.bash_history казался бы очевидным ответом - предположение, что у них есть удар как их оболочка, конечно..

, Если существует открытый терминал, он еще не мог записать команды в файл истории.

необходимо будет использовать su или sudo, если пользователь не будет самостоятельно.

2
ответ дан 16 December 2015 в 08:28

Если Ваша оболочка bash, то лучший способ состоит в том, чтобы использовать эти history команда:

(HISTFILE=/home/user/.bash_history; history -c; history -r; history n)

, В то время как немного сложный, это предоставляет все преимущества history команда (такие как метки времени при включении ее). Круглые скобки (()) гарантируют, что команды выполняются в подоболочке и не влияют на текущую оболочку.

4
ответ дан 16 December 2015 в 08:28

Еще одна опция состоит в том, чтобы создать простой сценарий оболочки, который делает это:

#!/bin/bash
tail --lines=$1 /home/$(whoami)/.bash_history

Это берет ответ GP и делает его просто немного более симпатичным путем выполнения большего количества материала автоматически.

  1. Выполненный nano history-lookup.sh (или безотносительно имени Вы хотите - только заканчивают его в .sh)

  2. Вставка тот код в

  3. Нажмите Ctrl+O затем Ctrl+X, чтобы сохранить и выйти.

  4. Выполненный bash history-lookup.sh NUMBER-OF-ENTRIES. Это должно выложить их приятно на экран.

2
ответ дан 16 December 2015 в 08:28

Попробуйте:

history | tail -n20 > history20.txt

Путем отправки результата в текстовый файл, можно распечатать, обзор, послать по электронной почте, и т.д. текстовый файл в любое время.

1
ответ дан 16 December 2015 в 08:28

Другие вопросы по тегам:

Похожие вопросы: