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

Содержание

Журнал

Среда (08/15/12)

/dev/pts/0
12:48:46
$gcc -o zad1-10 zad1-10.c
zad1-10.c:27:12: warning: multi-character character constant
12:48:48
$gcc -o zad1-10 zad1-10.c
zad1-10.c: In function ‘main’:
zad1-10.c:27: warning: passing argument 1 of ‘putchar’ makes integer from pointer without a cast
/usr/include/stdio.h:562: note: expected ‘int’ but argument is of type ‘char *’
12:49:01
$gcc -o zad1-10 zad1-10.c
zad1-10.c:27:12: warning: multi-character character constant
12:50:07
$gcc -o zad1-10 zad1-10.c
zad1-10.c:24:9: error: invalid digit "8" in octal constant
12:50:27
$gcc -o zad1-10 zad1-10.c
zad1-10.c:24:9: error: invalid digit "8" in octal constant
12:50:34
$gcc -o zad1-10 zad1-10.c

12:50:44
$./zad1-10
ggg
ggg
^[[A
прошло 56 минут
13:47:06
$gcc -o zad-1-9b zad-1-9b.c
zad-1-9b.c:3: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘namespace’
13:47:19
$gcc -o zad-1-9b zad-1-9b.c

13:49:15
$gcc -o zad-1-9b zad-1-9b.c

Четверг (08/16/12)

05:54:08
$gcc -o zad1-10 zad1-10.c

05:55:38
$./zad1-10
dddd            ffff
dddd            ffff
^Z
[5]+  Stopped                 ./zad1-10
05:56:10
$gcc -o zad1-10 zad1-10.c

05:56:29
$./zad1-10
dsdsd           ddd
dsdsd\t\tddd
05:57:28
$gcc -o zad1-10 zad1-10.c
zad1-10.c: In function ‘main’:
zad1-10.c:20: error: stray ‘\’ in program
zad1-10.c:20: error: ‘b’ undeclared (first use in this function)
zad1-10.c:20: error: (Each undeclared identifier is reported only once
zad1-10.c:20: error: for each function it appears in.)
05:59:43
$gcc -o zad1-10 zad1-10.c

06:00:15
$./zad1-10
qqw                             ddssss////
qqw\t\t\t\tddssss////
^X
06:05:55
$gcc -o zad1-10 zad1-10.c

06:05:59
$./zad1-10
2wwww           dddd
2wwww\t\tdddd
dddddd\\dddddd
dddddd\\\\dddddd
ddd
ddd
06:06:45
$./zad1-10

06:07:04
$gcc -o zad1-10 zad1-10.c
zad1-10.c:24:8: warning: missing terminating ' character
zad1-10.c: In function ‘main’:
zad1-10.c:24: error: missing terminating ' character
zad1-10.c:25: error: expected ‘)’ before ‘;’ token
zad1-10.c:28: error: expected expression before ‘}’ token
06:07:05
$gcc -o zad1-10 zad1-10.c

06:07:35
$fffff\
>
bash: fffff: команда не найдена
06:07:45
$gcc -o zad1-10 zad1-10.c

06:07:47
$./zad1-10
dddd\dddd
dddd\dddd
^[[A
ddddd\\
ddddd\\
06:08:39
$gcc -o zad1-10 zad1-10.c

06:08:41
$./zad1-10
dddd\
dddd\\
^[[A
ddddd\\\
ddddd\\\\\\
ffffffff  fff
ffffffff  fff
^Z
[6]+  Stopped                 ./zad1-10
06:12:11
$gcc -o zad1-10 zad1-10.c

06:12:15
$gcc -o zad1-10 zad1-10.c

06:13:06
$./zad1-10
j
9j9
gggggggg
9g9g9g9g9g9g9g9g9
06:15:00
$gcc -o zad1-10 zad1-10.c

06:15:02
$./zad1-10
dddd
9
d9
d9
d9
d9
ff
9
f9
f9
06:16:50
$gcc -o zad1-10 zad1-10.c

06:16:52
$./zad1-10
ggg
ggg
06:17:08
$gcc -o zad1-10 zad1-10.c

06:17:25
$./zad1-10
99
\b\b
06:17:53
$gcc -o zad1-10 zad1-10.c

06:17:56
$./zad1-10
^Z
[7]+  Stopped                 ./zad1-10
06:18:55
$fg
./zad1-10
06:19:09
$gcc -o zad1-10 zad1-10.c
zad1-10.c:24:8: error: invalid suffix "h10" on integer constant
06:19:17
$gcc -o zad1-10 zad1-10.c
zad1-10.c:24:8: warning: multi-character character constant
06:20:38
$gcc -o zad1-10 zad1-10.c

прошло 16 минут
06:37:25
$./zad1-10
dd
dd
06:37:50
$^[[B

06:37:52
$./zad1-10
d
d
06:38:24
$gcc -o zad1-10 zad1-10.c

06:38:26
$./zad1-10
ddddd
ddddd
06:42:50
$gcc -o count1 count1.c
count1.c: In function ‘main’:
count1.c:19: error: ‘nl’ undeclared (first use in this function)
count1.c:19: error: (Each undeclared identifier is reported only once
count1.c:19: error: for each function it appears in.)
count1.c:22: error: ‘n’ undeclared (first use in this function)
count1.c:25: warning: comparison between pointer and integer
count1.c:25: error: expected ‘)’ before ‘c’
count1.c:36: error: expected ‘;’ before ‘return’
прошло 29 минут
07:11:59
$gcc -o count1 count1.c
count1.c: In function ‘main’:
count1.c:22: error: ‘n’ undeclared (first use in this function)
count1.c:22: error: (Each undeclared identifier is reported only once
count1.c:22: error: for each function it appears in.)
count1.c:25: warning: comparison between pointer and integer
count1.c:25: error: expected ‘)’ before ‘c’
count1.c:36: error: expected ‘;’ before ‘return’
07:12:20
$gcc -o count1 count1.c
count1.c: In function ‘main’:
count1.c:25: warning: comparison between pointer and integer
count1.c:25: error: expected ‘)’ before ‘c’
count1.c:36: error: expected ‘;’ before ‘return’
07:12:42
$gcc -o count1 count1.c
count1.c: In function ‘main’:
count1.c:25: error: expected ‘)’ before ‘c’
count1.c:36: error: expected ‘;’ before ‘return’
07:13:23
$gcc -o count1 count1.c
count1.c: In function ‘main’:
count1.c:36: error: expected ‘;’ before ‘return’
07:13:42
$gcc -o count1 count1.c

07:13:59
$./count1
asdasdasdasdadasdsad asdasdasdasdasddas dfgdfgfgfgdf    dfgffdggd
dffgfdgfdgd dfgdfgfdgdf dfgdfgdfgdf dfgfdgdgdg
dfgfdgdf dfggdfgd       kkkk
 Строк - 4
Слов - 11
Символов - 136
07:14:54
$./count1
 Строк - 0
Слов - 0
Символов - 0
07:22:02
$q
bash: q: команда не найдена
07:22:25
$./count1
q
 Строк - 0
Слов - 1
Символов - 1
07:22:42
$./count1
^[[A^[[A^[[A^[[A
 Строк - 1
Слов - 1
Символов - 13
07:24:03
$./count1
q
 Строк - 1
Слов - 1
Символов - 2
07:24:13
$./count1
qq
 Строк - 1
Слов - 1
Символов - 3
07:25:06
$./count1
ddddddd
^Z
[7]+  Stopped                 ./count1
07:26:21
$./count1
ddddd
 Строк - 0
Слов - 1
Символов - 5
07:26:33
$./count1
 Строк - 5
Слов - 0
Символов - 5
07:26:39
$./count1
        q
 Строк - 1
Слов - 1
Символов - 7
07:27:12
$gcc -o zad1-12 zad1-12.c
gcc: zad1-12.c: Нет такого файла или каталога
gcc: no input files
прошло 10 минут
07:37:43
$gcc -o zad1-12 zad1-12.c

07:38:46
$./zad1-12
fdgdfgdfg dggdfgdfg dfgdfgfdg dfgdfgdf dfgdfgdfg
fdgdfgdfg
dggdfgdfg
dfgdfgfdg
dfgdfgdf
dfgdfgdfg
111 222 333     444 5555    6666
111
222
333
444
5555
6666
   ggg ggg
ggg
ggg
^Z
[8]+  Stopped                 ./zad1-12
прошло >2 часов
09:42:54
$gcc -o zad1-12 zad1-12.c

09:42:57
$./zad1-12
wwww www
wwww
www
11 22 33    4444
11
22
33
4444
^[[A
2222 333                                44444                   tttt
2222
333
44444
tttt
прошло 10 минут
09:53:44
$gcc -o zad1-12a zad1-12a.c
zad1-12a.c: In function ‘main’:
zad1-12a.c:23: error: expected expression before ‘!=’ token
09:53:51
$gcc -o zad1-12a zad1-12a.c

прошло 10 минут
10:04:38
$gcc -o zad1-12a zad1-12a.c

10:06:48
$gcc -o zad1-12a zad1-12a.c

10:08:02
$gcc -o zad1-12a zad1-12a.c

10:09:42
$gcc -o zad1-12a zad1-12a.c

Пятница (08/17/12)

09:49:34
$gcc -o massiv1 massiv1.c
massiv1.c: In function ‘main’:
massiv1.c:23: error: ‘nwhile’ undeclared (first use in this function)
massiv1.c:23: error: (Each undeclared identifier is reported only once
massiv1.c:23: error: for each function it appears in.)
09:49:42
$gcc -o massiv1 massiv1.c

09:51:12
$./massiv1
qqq
                1
цифры=0100000000, символы-разделители= 6, прочие = 3
09:52:59
$./massiv1
00111222233333444445555555666666667777777777^[[C
88999
цифры=23455781023, символы-разделители= 2, прочие = 3
09:55:06
$gcc -o massiv1 massiv1.c

09:55:15
$./massiv1
11222222222222222233333334444444555566666667777777888888899999977777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777744444
цифры=0 - 2 - 16 - 7 - 12 - 4 - 7 - 142 - 7 - 6 - , символы-разделители= 1, прочие = 0
09:55:50
$gcc -o zad1-13 zad1-13.c

Понедельник (08/20/12)

/dev/pts/6
04:51:30
$1ping 192.168.0.48
PING 192.168.0.48 (192.168.0.48) 56(84) bytes of data.
64 bytes from 192.168.0.48: icmp_req=1 ttl=128 time=0.451 ms
64 bytes from 192.168.0.48: icmp_req=2 ttl=128 time=0.253 ms
64 bytes from 192.168.0.48: icmp_req=3 ttl=128 time=0.257 ms
64 bytes from 192.168.0.48: icmp_req=4 ttl=128 time=0.258 ms
^X64 bytes from 192.168.0.48: icmp_req=5 ttl=128 time=0.266 ms
^Z
[1]+  Stopped                 ping 192.168.0.48
04:51:54
$su

04:51:54
$-g1024x768 -a16 -k en-us.fixed 192.168.0.28

прошло 33 минуты
/dev/pts/0
05:25:40
$gcc -o zad1-13 zad1-13.c
zad1-13.c: In function ‘main’:
zad1-13.c:25: error: expected expression before ‘}’ token
прошло 10 минут
05:36:16
$gcc -o zad1-13 zad1-13.c

05:38:32
$gcc -o zad1-13 zad1-13.c

05:38:44
$gcc -o zad1-13 zad1-13.c

05:38:49
$gcc -o zad1-13 zad1-13.c
zad1-13.c: In function ‘main’:
zad1-13.c:20: error: ‘count’ undeclared (first use in this function)
zad1-13.c:20: error: (Each undeclared identifier is reported only once
zad1-13.c:20: error: for each function it appears in.)
zad1-13.c:26: error: ‘else’ without a previous ‘if’
прошло 15 минут
05:54:24
$gcc -o zad1-13 zad1-13.c
zad1-13.c: In function ‘main’:
zad1-13.c:26: error: ‘else’ without a previous ‘if’
05:55:03
$gcc -o zad1-13 zad1-13.c
zad1-13.c: In function ‘main’:
zad1-13.c:26: error: ‘else’ without a previous ‘if’
05:55:36
$gcc -o zad1-13 zad1-13.c

05:56:10
$./zad1-13
wwww      qq
Вывод гистограммы длинны слов:
05:56:40
$gcc -o zad1-13 zad1-13.c

05:57:11
$./zad1-13
qqq
eeeeeee
ffff
Вывод гистограммы длинны слов:
Слово 1 символов= 0
Слово 2 символов= 0
Слово 3 символов= 0
Слово 4 символов= 0
Слово 5 символов= 0
Слово 6 символов= 0
Слово 7 символов= 0
Слово 8 символов= 0
Слово 9 символов= 0
Слово 10 символов= 0
Слово 11 символов= 0
Слово 12 символов= 0
Слово 13 символов= 0
Слово 14 символов= 0
Слово 15 символов= 0
05:57:47
$./zad1-13
eeee
^X
Вывод гистограммы длинны слов:
Слово 1 символов= 0
Слово 2 символов= 0
Слово 3 символов= 0
Слово 4 символов= 0
Слово 5 символов= 0
Слово 6 символов= 0
Слово 7 символов= 0
Слово 8 символов= 0
Слово 9 символов= 0
Слово 10 символов= 0
Слово 11 символов= 0
Слово 12 символов= 0
Слово 13 символов= 0
Слово 14 символов= 0
Слово 15 символов= 0
05:59:11
$gcc -o zad1-13 zad1-13.c

06:01:48
$./zad1-13
fff fff ddВывод гистограммы длинны слов:
Слово 1 символов= 0
Слово 2 символов= 0
Слово 3 символов= 0
Слово 4 символов= 0
Слово 5 символов= 0
Слово 6 символов= 0
Слово 7 символов= 0
Слово 8 символов= 0
Слово 9 символов= 0
Слово 10 символов= 0
Слово 11 символов= 0
Слово 12 символов= 0
Слово 13 символов= 0
Слово 14 символов= 0
Слово 15 символов= 0
06:06:27
$gcc -o zad1-13 zad1-13.c

06:07:00
$./zad1-13
sssssss  dddd  dddd  ddddВывод гистограммы длинны слов:
Слово 1 символов= 10
Слово 2 символов= 10
Слово 3 символов= 10
Слово 4 символов= 10
Слово 5 символов= 10
Слово 6 символов= 10
Слово 7 символов= 10
Слово 8 символов= 10
Слово 9 символов= 10
Слово 10 символов= 10
Слово 11 символов= 10
Слово 12 символов= 10
Слово 13 символов= 10
Слово 14 символов= 10
Слово 15 символов= 10

Статистика

Время первой команды журнала12:48:46 2012- 8-15
Время последней команды журнала06:07:00 2012- 8-20
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %24.75
Процент синтаксически неверно набранных команд, % 1.98
Суммарное время работы с терминалом *, час 3.06
Количество командных строк в единицу времени, команда/мин 0.55
Частота использования команд
gcc58|=========================================================| 57.43%
zad1-1016|===============| 15.84%
count110|=========| 9.90%
zad1-135|====| 4.95%
massiv13|==| 2.97%
zad1-122|=| 1.98%
^[[B1|| 0.99%
fg1|| 0.99%
q1|| 0.99%
-g1024x7681|| 0.99%
1ping1|| 0.99%
fffff\1|| 0.99%
su1|| 0.99%
____
*) Интервалы неактивности длительностью 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$