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

Содержание

Журнал

Вторник (06/26/12)

/dev/pts/0
18:14:09
#apt-get install bc concalc
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  bc concalc
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 166 kB of archives.
After this operation, 512 kB of additional disk space will be used.
Get:1 http://debian.org.ua/debian/ squeeze/main bc i386 1.06.95-2 [104 kB]
Get:2 http://debian.org.ua/debian/ squeeze/main concalc i386 0.9.2-1 [61.2 kB]
...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_MESSAGES = "en_US.UTF-8",
        LC_COLLATE = "en_US.UTF-8",
        LC_CTYPE = "en_US.UTF-8",
        LANG = "c"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
18:19:38
#bash
root@debian12:/tmp# ls -tlra ^C
root@debian12:/tmp# exit
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_MESSAGES = "en_US.UTF-8",
        LC_COLLATE = "en_US.UTF-8",
        LC_CTYPE = "en_US.UTF-8",
        LANG = "c"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
/dev/pts/0
18:20:11
#apt-get install bc concalc
Reading package lists... Done
Building dependency tree
Reading state information... Done
bc is already the newest version.
concalc is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
18:20:24
#bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
5/10
0
^C
(interrupt) use quit to exit.
^C
(interrupt) use quit to exit.
18:20:33
#concalc
5/10
0.5
18:20:41
#ls [^0]
ls: cannot access [^0]: No such file or directory
18:26:53
#ls
install  nohup.out
18:26:58
#ls [^i]*
nohup.out
18:27:06
#touch "\\"

18:28:08
#ls -l
total 12
-rw-r--r-- 1 root root    0 Июн 26 16:28 \
-rwxr-xr-x 1 root root 5342 Июн 11 18:50 install
-rw------- 1 root root  210 Июн 14 16:56 nohup.out
18:28:10
#touch "\/"
touch: setting times of `\\/': Not a directory
18:28:20
#echo *
\ install nohup.out
18:28:32
#ls
\  install  nohup.out
18:28:34
#echo *.*
nohup.out
18:29:05
#echo .*
. .. .bash_history .bash_profile .bashrc .concalcvariables .l3rc .lesshst .lilalo .profile .ssh .viminfo
18:29:10
#ls -a
.   .bash_history  .concalcvariables  .lesshst   .profile
..  .bash_profile  install            .lilalo    .ssh
\   .bashrc        .l3rc              nohup.out  .viminfo
18:29:18
#echo [.,*]*
[.,*]*
18:30:01
#echo ^C*]*

18:30:09
#ls ^C

18:30:24
#echo * .*
\ install nohup.out . .. .bash_history .bash_profile .bashrc .concalcvariables .l3rc .lesshst .lilalo .profile .ssh .viminfo
18:30:38
#ls -l
total 12
-rw-r--r-- 1 root root    0 Июн 26 16:28 \
-rwxr-xr-x 1 root root 5342 Июн 11 18:50 install
-rw------- 1 root root  210 Июн 14 16:56 nohup.out
18:31:04
#a
l3script: a: command not found
18:31:04
#echo * .*a
\ install nohup.out .*a
18:31:08
#ls -la
total 55
drwx------  4 root root  400 Июн 26 16:28 .
drwxr-xr-x 22 root root  536 Июн 11 16:37 ..
-rw-r--r--  1 root root    0 Июн 26 16:28 \
-rw-------  1 root root 7253 Июн 26 16:19 .bash_history
-rw-r--r--  1 root root   10 Июн 11 17:20 .bash_profile
-rw-r--r--  1 root root  630 Июн 11 17:20 .bashrc
-rw-r--r--  1 root root  162 Июн 26 16:20 .concalcvariables
-rwxr-xr-x  1 root root 5342 Июн 11 18:50 install
-rw-r--r--  1 root root   47 Июн 11 20:56 .l3rc
-rw-------  1 root root   61 Июн 14 17:48 .lesshst
drwxr-xr-x  2 root root 2128 Июн 26 16:30 .lilalo
-rw-------  1 root root  210 Июн 14 16:56 nohup.out
-rw-r--r--  1 root root  140 Ноя 19  2007 .profile
drwx------  2 root root   80 Июн 21 16:17 .ssh
-rw-------  1 root root 4425 Июн 21 16:15 .viminfo
18:31:11
#echo * .[^.]*
\ install nohup.out .bash_history .bash_profile .bashrc .concalcvariables .l3rc .lesshst .lilalo .profile .ssh .viminfo
18:32:14
#ls ??
ls: cannot access ??: No such file or directory
18:34:29
#echo * .[^.]*
\ install nohup.out .bash_history .bash_profile .bashrc .concalcvariables .l3rc .lesshst .lilalo .profile .ssh .viminfo
18:34:31
#ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:16:3e:0e:00:12
          inet addr:192.168.7.22  Bcast:192.168.7.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fe0e:12/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2054 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1318 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:322543 (314.9 KiB)  TX bytes:175868 (171.7 KiB)
          Interrupt:247
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
18:37:04
#ssh 192.168.7.22
The authenticity of host '192.168.7.22 (192.168.7.22)' can't be established.
RSA key fingerprint is a8:02:a7:ed:55:b9:76:9c:3e:f1:6e:d7:58:b0:bf:11.
Are you sure you want to continue connecting (yes/no)? y^C
18:37:20
#ssh 192.168.7.22
[screen is terminating]
root@debian12:~# screen -x
There is no screen to be attached.
root@debian12:~# logout
Connection to 192.168.7.22 closed.
18:38:27
#ssh 192.168.7.10
                                  /proc/649 /proc/650 /proc/651 /proc/652 /proc/
                                  /proc/736 /proc/738 /proc/755 /proc/756 /proc/
                                 proc/838 /proc/840 /proc/842 /proc/9 /proc/91 /
                                 s /proc/dma /proc/driver /proc/execdomains /pro
                                 -users /proc/keys /proc/kmsg /proc/kpagecount /
                                 o /proc/partitions /proc/sched_debug /proc/self
                                 timer_stats /proc/tty /proc/uptime /proc/versio
                                 kid /sbin/blockdev /sbin/bootlogd /sbin/cfdisk
umpe2fs /sbin/e2fsck /sbin/e2image /sbin/e2label /sbin/e2undo /sbin/fdisk /sbin/
n/fsck.ext4dev /sbin/fsck.minix /sbin/fsck.nfs /sbin/fstab-decode /sbin/getty /s
...
   18 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kseriod
   23 root      25   5     0    0    0 S  0.0  0.0   0:00.00 ksmd
   20 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kondemand/0
   24 root      20   0     0    0    0 S  0.0  0.0   0:00.00 aio/0
   21 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khungtaskd
   22 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kswapd0
   23 root      25   5     0    0    0 S  0.0  0.0   0:00.00 ksmd
   24 root      20   0     0    0    0 S  0.0  0.0   0:00.00 aio/0
   25 root      20   0     0    0    0 S  0.0  0.0   0:00.00 crypto/0
   29 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khvcd
18:43:39
#^C

18:43:51
#ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:16:3e:0e:00:12
          inet addr:192.168.7.22  Bcast:192.168.7.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fe0e:12/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2779 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1985 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:511070 (499.0 KiB)  TX bytes:388105 (379.0 KiB)
          Interrupt:247
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:307 errors:0 dropped:0 overruns:0 frame:0
          TX packets:307 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:33216 (32.4 KiB)  TX bytes:33216 (32.4 KiB)
18:45:01
#top
top - 16:45:13 up  4:54,  1 user,  load average: 0.75, 0.34, 0.13
Tasks:  50 total,   2 running,  48 sleeping,   0 stopped,   0 zombie
Cpu(s): 14.1%us,  0.0%sy,  0.0%ni, 48.7%id,  0.0%wa,  0.0%hi,  0.0%si, 37.2%st
Mem:    201364k total,   119128k used,    82236k free,    36296k buffers
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
Swap:        0k total,        0k used,        0k free,    54220k cached
  594 root      20   0 13448 8228 1472 R 62.9  4.1   2:44.12 l3-agent
 1491 root      20   0  2336 1116  892 R  0.3  0.6   0:00.03 top
    1 root      20   0  2036  700  600 S  0.0  0.3   0:00.42 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd
...
   17 root      20   0     0    0    0 S  0.0  0.0   0:00.03 kblockd/0
   18 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kseriod
   20 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kondemand/0
   21 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khungtaskd
   22 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kswapd0
   23 root      25   5     0    0    0 S  0.0  0.0   0:00.00 ksmd
   24 root      20   0     0    0    0 S  0.0  0.0   0:00.00 aio/0
   25 root      20   0     0    0    0 S  0.0  0.0   0:00.00 crypto/0
   29 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khvcd
   90 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ata/0
18:47:25
#^C

18:49:34
#^C

18:49:41
#^C

18:52:57
#^C

18:52:57
#^C

18:52:58
#^C

18:52:58
#^C

Статистика

Время первой команды журнала18:14:09 2012- 6-26
Время последней команды журнала18:52:58 2012- 6-26
Количество командных строк в журнале41
Процент команд с ненулевым кодом завершения, % 9.76
Процент синтаксически неверно набранных команд, % 2.44
Суммарное время работы с терминалом *, час 0.65
Количество командных строк в единицу времени, команда/мин 1.06
Частота использования команд
ls10|========================| 24.39%
echo9|=====================| 21.95%
^C8|===================| 19.51%
ssh3|=======| 7.32%
ifconfig2|====| 4.88%
touch2|====| 4.88%
apt-get2|====| 4.88%
bc1|==| 2.44%
bash1|==| 2.44%
top1|==| 2.44%
concalc1|==| 2.44%
a1|==| 2.44%
____
*) Интервалы неактивности длительностью 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$