Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Изменить конфигурационные файлы. ( ~/work.log)  (Прочитано 1594 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ascendary

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Всем привет.
Я использую Ubuntu 16.04.2 дома и в институте задали такое задание:
Изменить конфигурационные файлы вашего командного интерпретатора таким образом, чтобы формировался журнал работы пользователя с системой следующего формата:

DD.MM.YYYY (HH:MM:SS) - K1 - DD.MM.YYYY (HH:MM:SS)
DD.MM.YYYY (HH:MM:SS) - K2 - DD.MM.YYYY (HH:MM:SS)
...
Журнал пишется в файл ~/work.log и отражает дату и время начала сеанса работы пользователя, далее идет количество введенных пользователем командных строк, а затем дата и время окончания сеанса работы. Каждая строка отражает один сеанс работы.

Заранее благодарен всем тем кто поможет.

ТС не появлялся на Форуме более полугода по состоянию на 14/07/2019 (последняя явка: 27/04/2017). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 14 Июль 2019, 04:44:18 от zg_nico »

Punko

  • Гость
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #1 : 04 Апрель 2017, 01:31:59 »
Ascendary, с такой формулировкой это на Linux.org.ru в раздел job.

Какие-то минимальные движения и идеи покажи, чтоль.

Оффлайн Ascendary

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #2 : 10 Апрель 2017, 22:52:18 »
Ascendary, с такой формулировкой это на Linux.org.ru в раздел job.

Какие-то минимальные движения и идеи покажи, чтоль.
Такой вопрос, как посмотреть команды которые были введены не за всё время, а только за эту сессию, или как посмотреть их количество. И как записать это в файл? И надо так что бы в этот файл постоянно записывались такие данные, а не один раз.

Оффлайн Morisson

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 4588
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #3 : 10 Апрель 2017, 23:01:49 »
Ascendary, покажи твой файл конфигурации командного интерпритатора? ;)
Скажи, допустим, для начала его название.
И путь, по которому он находится.

Пользователь добавил сообщение 10 Апрель 2017, 23:04:50:
~/.bash_history
Не то?
cat ~/.bash_history
yupg
xprop
systemd-analize
systemd-analyze
udevadm info -a -p /sys/class/drm/card0
optirun udevadm info -a -p /sys/class/drm/card0
udevadm info -a -p /sys/class/drm/card1
optirun udevadm info -a -p /sys/class/drm/card1
yupg
pacman -Qs watchdog
Полдела сделано.))

Пользователь добавил сообщение 10 Апрель 2017, 23:06:18:
Пути решения задачи любые?
« Последнее редактирование: 10 Апрель 2017, 23:06:18 от Morisson »

Оффлайн Ascendary

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #4 : 10 Апрель 2017, 23:40:58 »
Ascendary, покажи твой файл конфигурации командного интерпритатора? ;)
Скажи, допустим, для начала его название.
И путь, по которому он находится.

Пользователь добавил сообщение 10 Апрель 2017, 23:04:50:
~/.bash_history
Не то?
cat ~/.bash_history
yupg
xprop
systemd-analize
systemd-analyze
udevadm info -a -p /sys/class/drm/card0
optirun udevadm info -a -p /sys/class/drm/card0
udevadm info -a -p /sys/class/drm/card1
optirun udevadm info -a -p /sys/class/drm/card1
yupg
pacman -Qs watchdog
Полдела сделано.))

Пользователь добавил сообщение 10 Апрель 2017, 23:06:18:
Пути решения задачи любые?
Я просто новичок в Linux.
В  ~/.bash_history у меня храниться история всех команд, а не за текущую сессию.
cat ~/.bash_history выводит также всю историю команд, а не за текущую сессию.
А мне нужен список команд именно за текущую сессию, вот я сейчас открыл терминал, история пустая, написал допустим 5 команд, и когда захочу посмотреть историю, мне должен вывести 5 команд этих.
Да, пути решения любые.
P.S. сейчас попробую ввести в терминал что вы мне написали :)

Пользователь добавил сообщение 10 Апрель 2017, 23:44:10:
Как я понял задание, мне нужно в файл work.log записывать историю, то есть:
Время когда был открыт терминал - количество команд (тут я не понял, всех команд за всё существование, либо команд которые были введены за эту сессию) - время когда был закрыт терминал.
« Последнее редактирование: 10 Апрель 2017, 23:44:10 от Ascendary »

Оффлайн Morisson

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 4588
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #5 : 10 Апрель 2017, 23:46:44 »
это не за текущую сессию. Теперь тебе нужен скрипт, который при выключении/перезагрузке переписывает историю команд за определенное время в нужный файл.
Макет скрипта:
cat ~/.bash_history | grep ??? > ~/work.logВыполни в терминале
cat ~/.bash_history > ~/work.logи найди в домашней папке файл work.log

Пользователь добавил сообщение 10 Апрель 2017, 23:49:27:
Что написать вместо ? ? ? найдешь?
« Последнее редактирование: 10 Апрель 2017, 23:49:41 от Morisson »

Оффлайн Ascendary

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #6 : 10 Апрель 2017, 23:54:15 »
это не за текущую сессию. Теперь тебе нужен скрипт, который при выключении/перезагрузке переписывает историю команд за определенное время в нужный файл.
Макет скрипта:
cat ~/.bash_history | grep ??? > ~/work.logВыполни в терминале
cat ~/.bash_history > ~/work.logи найди в домашней папке файл work.log

Пользователь добавил сообщение 10 Апрель 2017, 23:49:27:
Что написать вместо ? ? ? найдешь?
Нашёл файл в домашней директории work.log туда записалась история команд, которые я когда то вводил.
Написал в терминал с ???. Лучше напишите что писать вместо ???.
Также я хотел бы узнать, можно выводить в этом файле не список команд, а их количество, а ещё перед ним дату/время начало работы в терминале.

Оффлайн Morisson

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 4588
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #7 : 10 Апрель 2017, 23:57:11 »
Ascendary, Вместо ? ? ? твой код bash скрипта. У тебя препод- злыдень, или ты двоечник)))))

Пользователь добавил сообщение 10 Апрель 2017, 23:57:24:
Ща найду

Оффлайн Ascendary

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #8 : 10 Апрель 2017, 23:59:26 »
Ascendary, Вместо ? ? ? твой код bash скрипта. У тебя препод- злыдень, или ты двоечник)))))

Пользователь добавил сообщение 10 Апрель 2017, 23:57:24:
Ща найду
Препод нам объясняет такие команды как ls, cd и т.д. И это единственная работа, которую он сказал делайте с интернетом

Оффлайн Morisson

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 4588
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #9 : 11 Апрель 2017, 00:04:14 »
А, погоди, тебе нужно поменять конфиг баша.
bashrc

Пользователь добавил сообщение 11 Апрель 2017, 00:04:38:
У тебя в задании так

Пользователь добавил сообщение 11 Апрель 2017, 00:05:51:
Препод нам объясняет такие команды как ls, cd и т.д.
Фигасе, а при чем тут bashrc)) Давно задание дал?
« Последнее редактирование: 11 Апрель 2017, 00:05:51 от Morisson »

Оффлайн Ascendary

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #10 : 11 Апрель 2017, 00:08:09 »
А, погоди, тебе нужно поменять конфиг баша.
bashrc

Пользователь добавил сообщение 11 Апрель 2017, 00:04:38:
У тебя в задании так

Пользователь добавил сообщение 11 Апрель 2017, 00:05:51:
Препод нам объясняет такие команды как ls, cd и т.д.
Фигасе, а при чем тут bashrc)) Давно задание дал?
Ну да, нужно поменять что то в bashrc, что бы это было всегда работало само.
Я пробовал менять цвет символом в терминале, изменяя PS1 в bashrc, вроде получилось.

Оффлайн Morisson

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 4588
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #11 : 11 Апрель 2017, 00:10:07 »
изменяя PS1 в bashrc,
))

Пользователь добавил сообщение 11 Апрель 2017, 00:10:43:
До когда задание?

Оффлайн Ascendary

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #12 : 11 Апрель 2017, 00:12:25 »
изменяя PS1 в bashrc,
))

Пользователь добавил сообщение 11 Апрель 2017, 00:10:43:
До когда задание?
До 17.04

Оффлайн Morisson

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 4588
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #13 : 11 Апрель 2017, 00:19:23 »
export HISTFILE=~/work.logshopt -s histappendexport HISTTIMEFORMAT="%h %d %H:%M:%S "shopt -s cmdhistПопробуй это добавить

Пользователь добавил сообщение 11 Апрель 2017, 00:20:02:
Почти в самом верху bashrc

Пользователь добавил сообщение 11 Апрель 2017, 00:21:11:
"%h %d %H:%M:%S "
Формат времени к своему приведи, это начало сессии, как бы будет. Попробуй

Пользователь добавил сообщение 11 Апрель 2017, 00:30:01:
Ascendary, Я спать, завтра напиши. Еще почитаю. Самому интересно стало)))
Не сцы- решишь))
« Последнее редактирование: 11 Апрель 2017, 00:30:01 от Morisson »

Оффлайн Ascendary

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Изменить конфигурационные файлы. ( ~/work.log)
« Ответ #14 : 11 Апрель 2017, 00:32:31 »
Код: [Выделить]
export HISTFILE=~/work.log
Код: [Выделить]
shopt -s histappend
Код: [Выделить]
export HISTTIMEFORMAT="%h %d %H:%M:%S "
Код: [Выделить]
shopt -s cmdhist
Добавил это в конец bashrc, с помощью команды nano.
В итоге, в файл work.log записались только те команды которые я ввёл после этого добавления. Даты и времени нет. Единственное перед командой пишется какой то номер #1491859896 (всегда разный).

Хорошо, большое спасибо за помощь))

 

Страница сгенерирована за 0.425 секунд. Запросов: 22.