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

Содержание

Журнал

Пятница (07/20/18)

/dev/pts/4
08:43:17
$./signal_trap
l3script: ./signal_trap: Нет такого файла или каталога
08:43:26
$ls -l | grep signal*

08:43:41
$find -name signal_tr*

08:43:53
$find -name signa*

08:44:10
$find -name 'signa*'

08:44:21
$find -name 'si*'

08:44:27
$find -name 's*'
./setfont
./sync
./setfacl
./su
./sed
./setupcon
./sleep
./sh.distrib
./ss
./stty
./sh
08:44:32
$scp root$192.168.13.2:/home/user/bin/signal_trap ~/bin/
ssh: Could not resolve hostname root92.168.13.2: Name or service not known
08:47:21
$scp root@192.168.13.2:/home/user/bin/signal_trap ~/bin/
The authenticity of host '192.168.13.2 (192.168.13.2)' can't be established.
ECDSA key fingerprint is bb:7b:f3:72:0e:3d:91:4c:a0:5b:88:ff:0d:0d:33:1d.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added '192.168.13.2' (ECDSA) to the list of known hosts.
root@192.168.13.2's password:
scp: /home/user/bin/signal_trap: No such file or directory
08:48:04
$scp root@192.168.13.2:/home/user/signal_trap ~/bin/
root@192.168.13.2's password:
signal_trap                                                                                                                                100%   27     0.0KB/s   00:00
08:48:24
$ls -l
итого 7488
-rwxr-xr-x 1 root root 975488 Сен 25  2014 bash
-rwxr-xr-x 1 root root 697656 Сен 20  2012 busybox
-rwxr-xr-x 1 root root  51856 Янв 26  2013 cat
-rwxr-xr-x 1 root root  14584 Июн 14  2012 chacl
-rwxr-xr-x 1 root root  60000 Янв 26  2013 chgrp
-rwxr-xr-x 1 root root  55872 Янв 26  2013 chmod
-rwxr-xr-x 1 root root  64112 Янв 26  2013 chown
-rwxr-xr-x 1 root root  10352 Апр 29  2012 chvt
-rwxr-xr-x 1 root root 130128 Янв 26  2013 cp
...
-rwxr-xr-x 1 root root   5766 Июн 20  2012 zdiff
-rwxr-xr-x 1 root root    121 Июн 20  2012 zegrep
-rwxr-xr-x 1 root root    121 Июн 20  2012 zfgrep
-rwxr-xr-x 1 root root   2133 Июн 20  2012 zforce
-rwxr-xr-x 1 root root   5914 Июн 20  2012 zgrep
-rwxr-xr-x 1 root root   2039 Июн 20  2012 zless
-rwxr-xr-x 1 root root   2802 Июн 20  2012 zmore
-rwxr-xr-x 1 root root   5049 Июн 20  2012 znew
lrwxrwxrwx 1 root root     21 Июл 17 09:16 zsh -> /etc/alternatives/zsh
-rwxr-xr-x 1 root root 696880 Фев 29  2012 zsh4
08:48:37
$ls -l | grep sig*

08:48:46
$ls -l
итого 7488
-rwxr-xr-x 1 root root 975488 Сен 25  2014 bash
-rwxr-xr-x 1 root root 697656 Сен 20  2012 busybox
-rwxr-xr-x 1 root root  51856 Янв 26  2013 cat
-rwxr-xr-x 1 root root  14584 Июн 14  2012 chacl
-rwxr-xr-x 1 root root  60000 Янв 26  2013 chgrp
-rwxr-xr-x 1 root root  55872 Янв 26  2013 chmod
-rwxr-xr-x 1 root root  64112 Янв 26  2013 chown
-rwxr-xr-x 1 root root  10352 Апр 29  2012 chvt
-rwxr-xr-x 1 root root 130128 Янв 26  2013 cp
...
-rwxr-xr-x 1 root root   5766 Июн 20  2012 zdiff
-rwxr-xr-x 1 root root    121 Июн 20  2012 zegrep
-rwxr-xr-x 1 root root    121 Июн 20  2012 zfgrep
-rwxr-xr-x 1 root root   2133 Июн 20  2012 zforce
-rwxr-xr-x 1 root root   5914 Июн 20  2012 zgrep
-rwxr-xr-x 1 root root   2039 Июн 20  2012 zless
-rwxr-xr-x 1 root root   2802 Июн 20  2012 zmore
-rwxr-xr-x 1 root root   5049 Июн 20  2012 znew
lrwxrwxrwx 1 root root     21 Июл 17 09:16 zsh -> /etc/alternatives/zsh
-rwxr-xr-x 1 root root 696880 Фев 29  2012 zsh4
08:48:50
$cd

08:49:13
$cd

08:49:14
$cd /bin/

08:49:19
$ls -l
итого 7488
-rwxr-xr-x 1 root root 975488 Сен 25  2014 bash
-rwxr-xr-x 1 root root 697656 Сен 20  2012 busybox
-rwxr-xr-x 1 root root  51856 Янв 26  2013 cat
-rwxr-xr-x 1 root root  14584 Июн 14  2012 chacl
-rwxr-xr-x 1 root root  60000 Янв 26  2013 chgrp
-rwxr-xr-x 1 root root  55872 Янв 26  2013 chmod
-rwxr-xr-x 1 root root  64112 Янв 26  2013 chown
-rwxr-xr-x 1 root root  10352 Апр 29  2012 chvt
-rwxr-xr-x 1 root root 130128 Янв 26  2013 cp
...
-rwxr-xr-x 1 root root   5766 Июн 20  2012 zdiff
-rwxr-xr-x 1 root root    121 Июн 20  2012 zegrep
-rwxr-xr-x 1 root root    121 Июн 20  2012 zfgrep
-rwxr-xr-x 1 root root   2133 Июн 20  2012 zforce
-rwxr-xr-x 1 root root   5914 Июн 20  2012 zgrep
-rwxr-xr-x 1 root root   2039 Июн 20  2012 zless
-rwxr-xr-x 1 root root   2802 Июн 20  2012 zmore
-rwxr-xr-x 1 root root   5049 Июн 20  2012 znew
lrwxrwxrwx 1 root root     21 Июл 17 09:16 zsh -> /etc/alternatives/zsh
-rwxr-xr-x 1 root root 696880 Фев 29  2012 zsh4
08:49:21
$find -name signal*

08:49:47
$scp root@192.168.13.2:/home/user/signal_trap /home/user
root@192.168.13.2's password:
signal_trap                                                                                                                                100%   27     0.0KB/s   00:00
08:50:15
$cd

08:50:22
$ls -l
итого 2988
-rw-r--r-- 1 user user       0 Июл 18 11:24 =
-rw-r--r-- 1 user user       0 Июл 17 12:20 1
-rw-r--r-- 1 user user       0 Июл 18 11:17 10
-rw-r--r-- 1 user user       0 Июл 17 12:20 2
-rw-r--r-- 1 user user       0 Июл 17 12:20 3
-rw-r--r-- 1 user user       0 Июл 17 12:20 33
-rw-r--r-- 1 user user       0 Июл 17 12:20 44
-rw-r--r-- 1 user user       0 Июл 18 11:21 5
-rw-r--r-- 1 user user       0 Июл 17 12:20 55
...
drwxr-xr-x 3 user user    4096 Июл 17 12:26 proj
drwxr-xr-x 2 user user    4096 Окт  9  2014 sh
-rwxr-xr-x 1 user user      27 Июл 20 09:50 signal_trap
drwxr-xr-x 2 user user    4096 Июл 17 16:48 soft
-rw-r--r-- 1 user user      51 Июл 17 12:40 sorted
-rw-r--r-- 1 user user     986 Июл 17 12:50 sorted_passwd
drwxr-xr-x 2 user user    4096 Июл 16 14:13 source
drwxr-xr-x 2 user user    4096 Июл 17 12:26 text
-rw-r--r-- 1 user user      16 Июл 17 12:18 touchlist
-rw-r--r-- 1 user user      51 Июл 17 12:39 unsorted
08:50:26
$./signal_trap

08:50:53
$cat signal_trap
#!/bin/bash
sleep 380000 &
08:51:06
$vim signal_trap
08:51:56
$~
[1] 21510
08:52:17
$^C

08:52:25
$ps aux | grep sleep
user     21458  0.0  0.0   7708   324 pts/6    S    09:50   0:00 sleep 380000
user     21510  0.0  0.0   7708   324 pts/6    S    09:52   0:00 sleep 380000
user     21531  0.0  0.1   9968   868 pts/6    S+   09:52   0:00 grep sleep
08:52:59
$kill 21458

08:53:24
$ps aux | grep sleep
user     21510  0.0  0.0   7708   324 pts/6    S    09:52   0:00 sleep 380000
user     21547  0.0  0.1   9968   868 pts/6    S+   09:53   0:00 grep sleep
08:53:28
$kill 21510
[1]+  Завершено      sleep 380000
08:53:39
$ps aux | grep sleep
user     21563  0.0  0.1   9968   864 pts/6    S+   09:53   0:00 grep sleep
08:53:56
$sleep 380000 &
[1] 21571
08:54:02
$ps aux | grep sleep
user     21571  0.0  0.0   7708   324 pts/6    S    09:54   0:00 sleep 380000
user     21580  0.0  0.1   9968   864 pts/6    S+   09:54   0:00 grep sleep
08:54:06
$kill -s KILL 21571
[1]+  Убито              sleep 380000
08:54:24
$sleep 380000 &
[1] 21595
08:54:43
$kill -KILL 21571
l3script: kill: (21571) - Нет такого процесса
08:55:00
$ps aux | grep sleep
user     21595  0.0  0.0   7708   320 pts/6    S    09:54   0:00 sleep 380000
user     21611  0.0  0.1   9968   868 pts/6    S+   09:55   0:00 grep sleep
08:55:08
$kill -KILL 21595
[1]+  Убито              sleep 380000
08:55:17
$sleep 380000 &
[1] 21626
08:55:24
$kill -9 21526
l3script: kill: (21526) - Нет такого процесса
08:55:36
$ps aux | grep sleep
user     21626  0.0  0.0   7708   324 pts/6    S    09:55   0:00 sleep 380000
user     21642  0.0  0.1   9968   868 pts/6    S+   09:55   0:00 grep sleep
08:55:41
$kill -9 21626
[1]+  Убито              sleep 380000
08:55:51
$vim
08:57:08
$nice -n 19 sleep 38000
^Z
[1]+  Stopped                 nice -n 19 sleep 38000
09:00:05
$kill 21832

09:00:17
$ps aux | grep sleep
user     21832  0.0  0.0   7708   324 pts/6    TN   09:59   0:00 sleep 38000
user     21857  0.0  0.1   9968   868 pts/6    S+   10:00   0:00 grep sleep
09:00:20
$ps aux | grep sleep
user     21832  0.0  0.0   7708   324 pts/6    TN   09:59   0:00 sleep 38000
user     21866  0.0  0.1   9968   868 pts/6    S+   10:00   0:00 grep sleep
09:00:23
$kill -9 21832
[1]+  Убито              nice -n 19 sleep 38000
09:00:31
$nice -n 19 sleep 38000 &
[1] 21881
09:00:46
$nice -n -20 sleep 38000 &
[2] 21889
nice: невозможно установить значение nice: Отказано в доступе

Файлы

  • signal_trap
  • signal_trap
    >
    #!/bin/bash
    sleep 380000 &
    

    Статистика

    Время первой команды журнала08:43:17 2018- 7-20
    Время последней команды журнала09:00:46 2018- 7-20
    Количество командных строк в журнале50
    Процент команд с ненулевым кодом завершения, %14.00
    Процент синтаксически неверно набранных команд, % 2.00
    Суммарное время работы с терминалом *, час 0.29
    Количество командных строк в единицу времени, команда/мин 2.86
    Частота использования команд
    grep10|================| 16.67%
    kill9|===============| 15.00%
    ps8|=============| 13.33%
    find6|==========| 10.00%
    ls6|==========| 10.00%
    scp4|======| 6.67%
    cd4|======| 6.67%
    sleep3|=====| 5.00%
    nice3|=====| 5.00%
    signal_trap2|===| 3.33%
    vim2|===| 3.33%
    cat1|=| 1.67%
    ~1|=| 1.67%
    ^C1|=| 1.67%
    ____
    *) Интервалы неактивности длительностью 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$