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

Проблемы при выполнении perl на git для Windows bash
"read" работает как ожидалось в ZSH, но ведет себя по-другому при использовании любой другой оболочки
OS-X терминал ведет себя странно после запуска Python в интерактивном режиме
Сценарий Bash завершается ошибкой " синтаксическая ошибка в условном выражении"
Как сменить оболочку по умолчанию в Cygwin?
В чем разница между "Shell" и "Terminal"? [дубликат]
Как использовать команду lastb с терминала Mac?
Использование systemd для выполнения интерактивного сценария (whiptail) после многопользовательского.цель, но до экрана входа в систему
сценарий bash: передача аргументов в mkfs
Странная ошибка bash: "ошибка импорта определения функции для "модуля BASH FUNC""
Нет необходимости в экспорте при выполнении функций в subshell
Scripting: что проще всего извлечь значение в теге XML-файла?
Debian 9: bash: ls, cat, команда не найдена после неправильного изменения пути
Нажатие моей подсказки PS1 по ssh
Rsync Удаленная Локальная Проблема

Копировать всех пользователей.история bash на одном дыхании

можно ли использовать cp для копирования каждого пользователя .bash_history файл в ту же папку (с именем пользователя прилагается)?

или, по крайней мере, можно скопировать их в параллельный набор папок? Я не могу в этом разобраться.

У меня есть root доступ.

5
задан random
источник

3 ответов

tl; dr; for a in /home/* ; do cp $a/.bash_history /tmp/$a.bash_history ; done

версия:

Для в шаблон перебирает все элементы в шаблон.

Сам шаблон хранится в переменной a.

примеры:

for a in * ; do echo $a ; done все имена файлов echo.

for a in /home/* ; do echo $a ; done echo имена всех homedirs в /home.

вместо echo мы используем команду копирования. (cp)

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

.bash_history

для копирования используем cp $a/tmp / $a_file (все файлы теперь называются по-другому.

в concattenate мы можем использовать кошки с Добавить к перенаправлению.

for a in /home/* ; do cat $a/.bash_history >> /tmp/all-users_bash_history ; done

3
отвечен Hennes 2013-04-02 19:20:57
источник

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

кроме того, как пользователь root, шпионаж за файлом других пользователей, если нет конкретных и веских причин для этого, немного подозрителен. Здесь не хватает немного целостности, если вы не скажете им заранее, что собираетесь делать этот.

2
отвечен mdpc 2013-04-02 19:59:00
источник

Если вы ищете что-то конкретное, вы можете использовать:

grep -e "stuff goes here" /home/*/.bash_history

Source

0
отвечен David 2017-04-13 12:37:10
источник

Другие вопросы bash command-history linux