Журнал лабораторных работ

Содержание

Журнал

Пятница (12/21/18)

/dev/pts/0
14:39:16
$git commit -m 'Docker script added'
[master b5b07ce] Docker script added
 1 file changed, 10 insertions(+)
 create mode 100644 docker/qrencode/Dockerfile
14:39:43
$git push
Username for 'https://github.com': DmitrySnitko
Password for 'https://DmitrySnitko@github.com':
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (5/5), 547 bytes | 0 bytes/s, done.
Total 5 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/DmitrySnitko/aws
   78d99b0..b5b07ce  master -> master
/dev/pts/4
14:49:12
$docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                    NAMES
2bb518f14ee7        qrencode            "/bin/sh -c 'cd qren…"   About a minute ago   Up About a minute   0.0.0.0:8003->8003/tcp   cocky_fermat
14:50:31
$docker rm -f 2bb518f14ee7
2bb518f14ee7
/dev/pts/0
14:50:42
$docker run --help
Usage:  docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Run a command in a new container
Options:
      --add-host list                  Add a custom host-to-IP mapping
                                       (host:ip)
  -a, --attach list                    Attach to STDIN, STDOUT or STDERR
      --blkio-weight uint16            Block IO (relative weight),
                                       between 10 and 1000, or 0 to
                                       disable (default 0)
      --blkio-weight-device list       Block IO weight (relative device
...
                                       <name|uid>[:<group|gid>])
      --userns string                  User namespace to use
      --uts string                     UTS namespace to use
  -v, --volume list                    Bind mount a volume
      --volume-driver string           Optional volume driver for the
                                       container
      --volumes-from list              Mount volumes from the specified
                                       container(s)
  -w, --workdir string                 Working directory inside the
                                       container
/dev/pts/4
14:50:42
$curl http://localhost:8003/Hello
curl: (7) Failed to connect to localhost port 8003: Connection refused
/dev/pts/0
14:51:50
$docker run --rm -d 8003:8003 qrencode
Unable to find image '8003:8003' locally
docker: Error response from daemon: pull access denied for 8003, repository does not exist or may require 'docker login'.
See 'docker run --help'.
14:51:56
$docker run -d 8003:8003 qrencode
Unable to find image '8003:8003' locally
docker: Error response from daemon: pull access denied for 8003, repository does not exist or may require 'docker login'.
See 'docker run --help'.
/dev/pts/4
14:52:15
$docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
/dev/pts/0
14:52:23
$docker run -d -p 8003:8003 qrencode
c8ba21ce4a188eda7f9caeec3ca6f775f973a89f3e49a8c28a66e7cfe9153e6f
14:52:45
$cd

/dev/pts/4
14:52:50
$docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
c8ba21ce4a18        qrencode            "/bin/sh -c 'cd qren…"   6 seconds ago       Up 5 seconds        0.0.0.0:8003->8003/tcp   youthful_heisenberg
14:52:51
$curl http://localhost:8003/Hello
█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ █▀█ █ █ ▄▄▄▄▄ ████
████ █   █ █▄█▄▄▀█ █   █ ████
████ █▄▄▄█ █   ▄▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ █▄█▄█▄▄▄▄▄▄▄████
████  █▄▀▀▄ █▀▄ ▄▀▄ ▄█▄ ▀████
████ ██▀▀ ▄▀▀▄▀▄▀▀    ▄▀ ████
████▄▄▄▄██▄▄  █▄█   ▀█▀██████
████ ▄▄▄▄▄ █▄▀▀▄▄█ ▀ ▄▄ ▀████
████ █   █ █▀█▀█▄  ▀▄▀▀▀ ████
████ █▄▄▄█ █▀ ▄ ▀▄▄█▄█▄█▄████
████▄▄▄▄▄▄▄█▄▄███▄█▄█▄█▄█████
█████████████████████████████
█████████████████████████████
14:52:54
$curl http://localhost:8003/Dmitry
█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ █▀ █ ▄█ ▄▄▄▄▄ ████
████ █   █ █▄ █▀▄█ █   █ ████
████ █▄▄▄█ █ ██▀ █ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ ▀ ▀ █▄▄▄▄▄▄▄████
████ ▄█▄██▄▄▀▄▄███  ▄█  ▀████
█████▀▄███▄▄█▀█▀▄▄█▀▀ ▄▀ ████
████▄▄█▄▄▄▄█ █▄▀▄█▄▀▀▀▀▄▄████
████ ▄▄▄▄▄ █▄▀█▀▀ ██▄█▄▄▀████
████ █   █ █▀▀▀ ██▄█  █▀ ████
████ █▄▄▄█ █▀█ █▄▀▀ ▄█▄█▄████
████▄▄▄▄▄▄▄█▄▄█▄▄███▄██▄█████
█████████████████████████████
█████████████████████████████
14:53:00
$ps -a
  PID TTY          TIME CMD
  530 tty1     00:00:00 gnome-session-b
  557 tty1     00:00:06 gnome-shell
  640 tty1     00:00:00 Xwayland
  882 tty1     00:00:00 gnome-settings-
  967 tty2     00:02:50 Xorg
  973 tty2     00:00:00 gnome-session-b
 1048 tty2     00:03:50 gnome-shell
 1145 tty2     00:00:02 gnome-settings-
 1167 tty2     00:00:00 tracker-miner-u
 1168 tty2     00:00:00 tracker-extract
 1170 tty2     00:00:00 gsd-printer
 1171 tty2     00:00:02 gnome-software
 1187 tty2     00:00:00 tracker-miner-f
 1192 tty2     00:00:00 evolution-alarm
 1194 tty2     00:00:00 tracker-miner-a
 1693 pts/3    00:00:00 ssh
29466 pts/5    00:00:00 ps
/dev/pts/0
14:55:33
$vi email.txt
14:56:40
$cat email.txt
win-di@yandex.ru
14:56:47
$vi email.txt
14:57:07
$docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
c8ba21ce4a18        qrencode            "/bin/sh -c 'cd qren…"   12 minutes ago      Up 12 minutes       0.0.0.0:8003->8003/tcp   youthful_heisenberg
/dev/pts/4
15:04:51
$docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
c8ba21ce4a18        qrencode            "/bin/sh -c 'cd qren…"   12 minutes ago      Up 12 minutes       0.0.0.0:8003->8003/tcp   youthful_heisenberg
15:04:55
$docker attach c8ba21ce4a18
^P^Cexit
/dev/pts/0
15:05:19
$docker --help
Usage:  docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Options:
      --config string      Location of client config files (default
                           "/home/user/.docker")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket(s) to connect to
  -l, --log-level string   Set the logging level
                           ("debug"|"info"|"warn"|"error"|"fatal")
                           (default "info")
...
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  version     Show the Docker version information
  wait        Block until one or more containers stop, then print their exit codes
Run 'docker COMMAND --help' for more information on a command.
15:05:24
$docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
c8ba21ce4a18        qrencode            "/bin/sh -c 'cd qren…"   12 minutes ago      Up 12 minutes       0.0.0.0:8003->8003/tcp   youthful_heisenberg
15:05:31
$docker stop c8ba21ce4a18
c8ba21ce4a18
15:06:05
$docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                            PORTS               NAMES
c8ba21ce4a18        qrencode            "/bin/sh -c 'cd qren…"   14 minutes ago      Exited (137) About a minute ago                       youthful_heisenberg
15:07:09
$docker rm c8ba21ce4a18
c8ba21ce4a18
15:07:21
$docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

Файлы

  • email.txt
  • email.txt
    >
    win-di@yandex.ru
    

    Статистика

    Время первой команды журнала14:39:16 2018-12-21
    Время последней команды журнала15:07:21 2018-12-21
    Количество командных строк в журнале27
    Процент команд с ненулевым кодом завершения, %14.81
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 0.47
    Количество командных строк в единицу времени, команда/мин 0.96
    Частота использования команд
    docker17|==============================================================| 62.96%
    curl3|===========| 11.11%
    vi2|=======| 7.41%
    git2|=======| 7.41%
    ps1|===| 3.70%
    cat1|===| 3.70%
    cd1|===| 3.70%
    ____
    *) Интервалы неактивности длительностью 30 минут и более не учитываются

    Справка

    Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
    1. В журнал автоматически попадают все команды, данные в любом терминале системы.

    2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

    3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
      $ l s-l
      bash: l: command not found
      

    4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
      $ test 5 -lt 4
      Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

    5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
      $ find / -name abc
      find: /home/devi-orig/.gnome2: Keine Berechtigung
      find: /home/devi-orig/.gnome2_private: Keine Berechtigung
      find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung
      find: /home/devi-orig/.metacity: Keine Berechtigung
      find: /home/devi-orig/.inkscape: Keine Berechtigung
      ^C
      

    6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
      # id
      uid=0(root) gid=0(root) Gruppen=0(root)
      

    7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
      $ vi ~/.bashrc
      2a3,5
      >    if [ -f /usr/local/etc/bash_completion ]; then
      >         . /usr/local/etc/bash_completion
      >        fi
      

    8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
      $ patch ~/.bashrc
      В данном случае изменения применяются к файлу ~/.bashrc

    9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

      Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

    10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

    11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

    12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

    13. Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.

    14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

      $ whoami
      
      user
      
      $ #^ Интересно, кто я?
      
      в журнале это будет выглядеть так:
      $ whoami
      
      user
      
      Интересно, кто я?

    15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

      $ whoami
      
      user
      
      $ cat > /dev/null #^ Интересно, кто я?
      
      Программа whoami выводит имя пользователя, под которым 
      мы зарегистрировались в системе.
      -
      Она не может ответить на вопрос о нашем назначении 
      в этом мире.
      
      В журнале это будет выглядеть так:
      $ whoami
      user
      
      Интересно, кто я?
      Программа whoami выводит имя пользователя, под которым
      мы зарегистрировались в системе.

      Она не может ответить на вопрос о нашем назначении
      в этом мире.
      Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

    16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

    17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
    18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
    19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
      1
          2
      3   
          4
      
      Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

    О программе

    LiLaLo (L3) расшифровывается как Live Lab Log.
    Программа разработана для повышения эффективности обучения Unix/Linux-системам.
    (c) Игорь Чубин, 2004-2008

    $Id$