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

Содержание

Журнал

Суббота (05/29/10)

/dev/pts/7
15:05:41
#echo test | sendxmpp user@jabber.dnepr.unix.nt

15:05:44
#echo test | sendxmpp dnepr1@jabber.dnepr.unix.nt

15:05:59
#cat /root/.sendxmpprc
asterisk@jabber.dnepr.unix.nt password
15:06:32
#getent passwd asterisk
asterisk:x:104:106:Asterisk PBX daemon,,,:/var/lib/asterisk:/bin/bash
15:06:42
#cp /root/.sendxmpprc /var/lib/asterisk/

15:06:54
#chown asterisk:asterisk /var/lib/asterisk/.sendxmpprc

15:07:05
#vi extensions.conf
--- /tmp/l3-saved-6777.32752.12228	2010-05-29 16:07:18.000000000 +0300
+++ extensions.conf	2010-05-29 16:08:31.000000000 +0300
@@ -148,6 +148,7 @@
 ;exten => s,1,GotoIf($[${CALLERID(number)}=3301]?end)
 ;exten => s,1,GotoIf($[${BLACKLIST()}=1]?end)
 exten => s,1,Set(CALLFILENAME=from-${CALLERID(number)}-to-${MACRO_EXTEN}-${STRFTIME(${EPOCH},EUROPE/kiev,"%Y-%m-%d-%H:%M:%S")})
+exten => s,n,System(echo Zvonok ot ${CALLERID(number)} | sendxmpp dnepr1@jabber.dnepr.unix.nt)
 exten => s,n,Monitor(wav,${CALLFILENAME},m)
 exten => s,n,Dial(SIP/${MACRO_EXTEN},10)
 ;exten => s,n,GotoIf($[${ISNULL(${DB(mobile/${MACRO_EXTEN})})}]?end)
15:08:40
#asterisk -rvvv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- SIP/701-081f0538 is ringing
    -- SIP/701-081f0538 is ringing
    -- SIP/701-081f0538 is ringing
    -- SIP/701-081f0538 answered SIP/702-081e32b0
  == Spawn extension (macro-incoming, s, 4) exited non-zero on 'SIP/702-081e32b0' in macro 'incoming'
  == Spawn extension (macro-incoming, s, 4) exited non-zero on 'SIP/702-081e32b0'
    -- Executing [h@macro-incoming:1] System("SIP/702-081e32b0", "/usr/local/bin/queue.sh 701") in new stack
[May 29 16:09:56] NOTICE[13842]: res_monitor.c:339 ast_monitor_stop: monitor executing ( nice -n 19 sox -m "/var/spool/asterisk/monitor/from-702-to-701-2010-05-29-13:09:33-in.wav" "/var/spool/asterisk/monitor/from-702-to-701-2010-05-29-13:09:33-out.wav" "/var/spool/asterisk/monitor/from-702-to-701-2010-05-29-13:09:33.wav"  && rm -f "/var/spool/asterisk/monitor/from-702-to-701-2010-05-29-13:09:33-"
linux1*CLI> quit
Executing last minute cleanups
15:10:37
#usermod -s /bin/bash asterisk
usermod: изменений не внесено
15:10:40
#su

15:10:44
#exit
exit
15:10:46
#su asterisk
asterisk@linux1:/etc/asterisk$ echo test | sendxmpp dnepr1@jabber.dnepr.unix.nt
asterisk@linux1:/etc/asterisk$ exit
exit
15:13:35
#chmod +x /usr/local/bin/log2jabber

15:13:43
#/usr/local/bin/log2jabber 702

15:13:48
#asterisk -rx 'dialplan reload'
Dialplan reloaded.
15:14:04
#vi /usr/local/bin/log2jabber
--- /tmp/l3-saved-6777.11116.7017	2010-05-29 16:14:34.000000000 +0300
+++ /usr/local/bin/log2jabber	2010-05-29 16:14:47.000000000 +0300
@@ -1,4 +1,5 @@
 #!/bin/sh
 
+echo "Zvonok ot $1" >> /tmp/log2jabber
 echo "Zvonok ot $1" | sendxmpp dnepr1@jabber.dnepr.unix.nt
 
15:15:36
#ls -l var/lib/aster
ls: невозможно получить доступ к var/lib/aster: Нет такого файла или каталога
15:15:39
#ls -l /var/lib/asterisk/
итого 16
-rw-rw---- 1 asterisk asterisk 8192 Май 29 16:15 astdb
drwxr-xr-x 2 asterisk asterisk 4096 Май 27 14:43 moh
drwxr-xr-x 3 asterisk asterisk 4096 Май 26 09:49 sounds
15:15:43
#ls -l /var/lib/asterisk/ -a
итого 32
drwxr-xr-x  4 asterisk asterisk 4096 Май 29 16:06 .
drwxr-xr-x 27 root     root     4096 Май 29 15:14 ..
-rw-rw----  1 asterisk asterisk 8192 Май 29 16:15 astdb
-rw-------  1 asterisk asterisk   87 Май 29 16:11 .bash_history
drwxr-xr-x  2 asterisk asterisk 4096 Май 27 14:43 moh
-rw-------  1 asterisk asterisk   40 Май 29 16:06 .sendxmpprc
drwxr-xr-x  3 asterisk asterisk 4096 Май 26 09:49 sounds
15:15:45
#cat /usr/local/bin/log2jabber
#!/bin/sh
HOME=/var/lib/asterisk
echo "Zvonok ot $1" | sendxmpp dnepr1@jabber.dnepr.unix.nt
15:16:52
#~
;exten => s,n,Dial(SIP/${ARG2}/${MACRO_EXTEN:1})
;exten => s,n,(end),Hangup
IME(${EPOCH},EUROPE/kiev,"%Y-%m-%d-%H:%M:%S")})
exten => s,n,System(/usr/local/bin/log2jabber ${CALLERID(number)})
exten => s,n,Monitor(wav,"{CALLFILENAME},m)3301]?end)
                    echo "Zvonok ot ${CALLERID(number)}" | env HOME=/var/lib/astt
erisk sendxmpp dnepr1@jabber.dnepr.unix.nt)
epr1@jabber.dnepr.unix.nt/usr/local/bin/log2jabber ${CALLERID(number)})
;exten => s,n,GotoIf($[${ISNULL(${DB(mobile/${MACRO_EXTEN})})}]?end)TEN}-${STRFTT
exten => s,n,Playback(/var/tmp/busy)
;exten => s,n,Dial(SIP/odessa/${DB(mobile/${MACRO_EXTEN})})
exten => s,n,Hangup
exten => s,n,GotoIf($[${DIALSTATUS}cro-test]=BUSY]?busy)
exten => s,n,VoiceMail(${MACRO_EXTEN}@default)
exten => s,n(busy),System(echo ${CALLERID(number)} >> /tmp/queue/${MACRO_EXTEN})
exten => s,n(busy),Playback(/var/tmp/busy)
"extensions.conf" 169 lines, 5004 characters written
15:17:52
#erisk sendxmpp dnepr1@jabber.dn
Dialplan reloaded.
15:23:14
#vi /etc/apt/sources.list
--- /tmp/l3-saved-6777.14000.17644	2010-05-29 16:23:36.000000000 +0300
+++ /etc/apt/sources.list	2010-05-29 16:23:52.000000000 +0300
@@ -3,8 +3,8 @@
 
 #deb cdrom:[Debian GNU/Linux 5.0.4 _Lenny_ - Official i386 NETINST Binary-1 20100201-16:45]/ lenny main
 
-deb http://ftp.ua.debian.org/debian/ lenny main
-deb-src http://ftp.ua.debian.org/debian/ lenny main
+deb http://ftp.ua.debian.org/debian/ sid main
+deb-src http://ftp.ua.debian.org/debian/ sid main
 
 deb http://security.debian.org/ lenny/updates main
 deb-src http://security.debian.org/ lenny/updates main
15:23:52
#apt-get update
Получено:1 http://ftp.ua.debian.org sid Release.gpg [835B]
Получено:2 http://ftp.ua.debian.org sid/main Translation-ru [507kB]
Получено:3 http://volatile.debian.org lenny/volatile Release.gpg [481B]
Игн http://volatile.debian.org lenny/volatile/main Translation-ru
Получено:4 http://security.debian.org lenny/updates Release.gpg [835B]
Игн http://security.debian.org lenny/updates/main Translation-ru
Получено:5 http://security.debian.org lenny/updates Release [40,8kB]
Получено:6 http://volatile.debian.org lenny/volatile Release [40,7kB]
Игн http://security.debian.org lenny/updates/main Packages/DiffIndex
Игн http://security.debian.org lenny/updates/main Sources/DiffIndex
Получено:7 http://ftp.ua.debian.org sid Release [104kB]
Получено:8 http://security.debian.org lenny/updates/main Packages [327kB]
Получено:9 http://ftp.ua.debian.org sid/main Packages [6686kB]
Игн http://volatile.debian.org lenny/volatile/main Packages/DiffIndex
Игн http://volatile.debian.org lenny/volatile/main Sources/DiffIndex
Получено:10 http://volatile.debian.org lenny/volatile/main Packages [6205B]
Получено:11 http://volatile.debian.org lenny/volatile/main Sources [2823B]
Получено:12 http://security.debian.org lenny/updates/main Sources [81,5kB]
Получено:13 http://ftp.ua.debian.org sid/main Sources [3931kB]
Получено 11,7MБ за 19s (590kБ/c)
Чтение списков пакетов... Готово
15:24:16
#apt-get install asterisk/sid
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Релиз 'sid' для 'asterisk' не найден
15:24:22
#apt-get install asterisk/unstable
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Выбрана версия 1:1.6.2.7-1 (Debian:unstable) для asterisk
Следующие пакеты устанавливались автоматически и больше не требуются:
  libio-compress-zlib-perl libcompress-raw-zlib-perl libsensors3
  libio-compress-base-perl libc-client2007b libpri1.0
Для их удаления используйте 'apt-get autoremove'.
Будут установлены следующие дополнительные пакеты:
  asterisk asterisk-config asterisk-sounds-main dahdi dahdi-linux fancontrol
...
Настраивается пакет libcompress-raw-zlib-perl (2.026-1) ...
Настраивается пакет libio-compress-base-perl (2.024-1) ...
Настраивается пакет dahdi (1:2.2.1.1-1) ...
/etc/dahdi/system.conf not found. Nothing to do.
Настраивается пакет libopenr2-3 (1.3.0-1) ...
Настраивается пакет asterisk (1:1.6.2.7-1) ...
Устанавливается новая версия файла конфигурации /etc/init.d/asterisk ...
Устанавливается новая версия файла конфигурации /etc/default/asterisk ...
Starting Asterisk PBX: asterisk.
Настраивается пакет lm-sensors (1:3.1.2-6) ...
15:26:35
#asterisk -rvvv
Asterisk 1.6.2.7-1, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.7-1 currently running on linux1 (pid = 16927)
...
    -- Executing [s@macro-incoming:4] Dial("SIP/odessa-00000000", "SIP/701,10") in new stack
  == Using SIP RTP CoS mark 5
    -- Called 701
    -- SIP/701-00000001 is ringing
    -- SIP/701-00000001 is ringing
    -- SIP/701-00000001 is ringing
  == Spawn extension (macro-incoming, s, 4) exited non-zero on 'SIP/odessa-00000000' in macro 'incoming'
  == Spawn extension (gr2, 701, 1) exited non-zero on 'SIP/odessa-00000000'
linux1*CLI> quit
Executing last minute cleanups
15:27:09
#tail /var/lib/dhcp3/dhcpd.leases
lease 192.168.1.10 {
  starts 6 2010/05/29 13:29:16;
  ends 6 2010/05/29 13:39:16;
  cltt 6 2010/05/29 13:29:16;
  binding state active;
  next binding state free;
  hardware ethernet 00:1b:fc:7d:bb:1e;
  uid "\001\000\033\374}\273\036";
  client-hostname "UC-02";
}
15:31:01
#ping 192.168.1.10
PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=128 time=0.432 ms
^C
--- 192.168.1.10 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.432/0.432/0.432/0.000 ms
15:31:44
#telnet 192.168.1.10 80
Trying 192.168.1.10...
telnet: Unable to connect to remote host: Connection refused
15:32:09
#telnet 192.168.1.10 80
Trying 192.168.1.10...
telnet: Unable to connect to remote host: Connection refused
15:33:47
#telnet 192.168.1.10
Trying 192.168.1.10...
telnet: Unable to connect to remote host: Connection refused
15:34:04
#ping 192.168.1.10
PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=128 time=0.424 ms
64 bytes from 192.168.1.10: icmp_seq=2 ttl=128 time=0.496 ms
64 bytes from 192.168.1.10: icmp_seq=3 ttl=128 time=0.526 ms
64 bytes from 192.168.1.10: icmp_seq=4 ttl=128 time=0.529 ms
64 bytes from 192.168.1.10: icmp_seq=5 ttl=128 time=0.503 ms
64 bytes from 192.168.1.10: icmp_seq=6 ttl=128 time=0.498 ms
64 bytes from 192.168.1.10: icmp_seq=7 ttl=128 time=0.501 ms
64 bytes from 192.168.1.10: icmp_seq=8 ttl=128 time=0.527 ms
64 bytes from 192.168.1.10: icmp_seq=9 ttl=128 time=0.527 ms
...
64 bytes from 192.168.1.10: icmp_seq=150 ttl=128 time=0.481 ms
64 bytes from 192.168.1.10: icmp_seq=151 ttl=128 time=0.513 ms
64 bytes from 192.168.1.10: icmp_seq=152 ttl=128 time=0.509 ms
64 bytes from 192.168.1.10: icmp_seq=153 ttl=128 time=0.494 ms
64 bytes from 192.168.1.10: icmp_seq=154 ttl=128 time=0.500 ms
64 bytes from 192.168.1.10: icmp_seq=155 ttl=128 time=0.495 ms
^C
--- 192.168.1.10 ping statistics ---
155 packets transmitted, 155 received, 0% packet loss, time 153998ms
rtt min/avg/max/mdev = 0.424/0.497/0.557/0.031 ms
15:36:44
#telnet 192.168.1.10 80
Trying 192.168.1.10...
telnet: Unable to connect to remote host: Connection refused
15:38:15
#telnet 192.168.1.10:80
telnet: could not resolve 192.168.1.10:80/telnet: Name or service not known
15:38:19
#telnet 192.168.1.10 80
Trying 192.168.1.10...
telnet: Unable to connect to remote host: Connection refused
15:40:09
#telnet 192.168.1.10:80
telnet: could not resolve 192.168.1.10:80/telnet: Name or service not known
15:40:14
#telnet 192.168.1.10 80
Trying 192.168.1.10...
telnet: Unable to connect to remote host: Connection refused
15:40:50
#apt-get install nmap
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  libio-compress-zlib-perl libcompress-raw-zlib-perl libsensors3
  libio-compress-base-perl libtonezone1 libc-client2007b libpri1.0
Для их удаления используйте 'apt-get autoremove'.
Будут установлены следующие дополнительные пакеты:
  libpcap0.8 libpcre3
НОВЫЕ пакеты, которые будут установлены:
...
Подготовка к замене пакета libpcre3 7.6-2.1 (используется файл .../libpcre3_8.02-1_i386.deb)...
Распаковывается замена для пакета libpcre3 ...
Выбор ранее не выбранного пакета libpcap0.8.
Распаковывается пакет libpcap0.8 (из файла .../libpcap0.8_1.1.1-2_i386.deb)...
Выбор ранее не выбранного пакета nmap.
Распаковывается пакет nmap (из файла .../archives/nmap_5.00-3_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет libpcre3 (8.02-1) ...
Настраивается пакет libpcap0.8 (1.1.1-2) ...
Настраивается пакет nmap (5.00-3) ...
15:41:01
#nmap 192.168.1.10
Starting Nmap 5.00 ( http://nmap.org ) at 2010-05-29 16:41 EEST
Interesting ports on 192.168.1.10:
Not shown: 996 closed ports
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
3389/tcp open  ms-term-serv
MAC Address: 00:1B:FC:7D:BB:1E (Asustek Computer)
Nmap done: 1 IP address (1 host up) scanned in 1.47 seconds
15:41:12
#less /var/lib/dhcp3/dhc
15:41:12
#less /var/lib/dhcp3/dhcpd.leases
15:45:41
#asterisk -rvvv
Asterisk 1.6.2.7-1, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.7-1 currently running on linux1 (pid = 16927)
...
    -- SIP/702-00000007 is ringing
    -- Nobody picked up in 10000 ms
[May 29 16:47:10] WARNING[17375]: ast_expr2.y:1330 op_minus: non-numeric argument
    -- Executing [s@macro-incoming:5] GotoIf("SIP/703-00000006", "0=BUSY]?busy") in new stack
    -- Executing [s@macro-incoming:6] System("SIP/703-00000006", "echo 703 >> /tmp/queue/702") in new stack
    -- Executing [s@macro-incoming:7] Playback("SIP/703-00000006", "/var/tmp/busy") in new stack
  == Spawn extension (macro-incoming, s, 7) exited non-zero on 'SIP/703-00000006' in macro 'incoming'
  == Spawn extension (gr2, 702, 1) exited non-zero on 'SIP/703-00000006'
linux1*CLI> quit
Executing last minute cleanups
15:47:38
#tail /var/lib/dhcp3/dhcpd.leases
lease 192.168.1.10 {
  starts 6 2010/05/29 13:44:16;
  ends 6 2010/05/29 13:54:16;
  cltt 6 2010/05/29 13:44:16;
  binding state active;
  next binding state free;
  hardware ethernet 00:1b:fc:7d:bb:1e;
  uid "\001\000\033\374}\273\036";
  client-hostname "UC-02";
}
15:50:57
#asterisk -rx 'dialplan reload'
Dialplan reloaded.
15:51:06
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.

Файлы

  • /root/.sendxmpprc
  • /usr/local/bin/log2jabber
  • /root/.sendxmpprc
    >
    asterisk@jabber.dnepr.unix.nt password
    
    /usr/local/bin/log2jabber
    >
    #!/bin/sh
    HOME=/var/lib/asterisk
    echo "Zvonok ot $1" | sendxmpp dnepr1@jabber.dnepr.unix.nt
    

    Статистика

    Время первой команды журнала15:05:41 2010- 5-29
    Время последней команды журнала15:51:06 2010- 5-29
    Количество командных строк в журнале46
    Процент команд с ненулевым кодом завершения, %21.74
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 0.76
    Количество командных строк в единицу времени, команда/мин 1.01
    Частота использования команд
    telnet8|================| 16.67%
    asterisk5|==========| 10.42%
    apt-get4|========| 8.33%
    vi3|======| 6.25%
    ls3|======| 6.25%
    ping2|====| 4.17%
    sendxmpp2|====| 4.17%
    echo2|====| 4.17%
    tail2|====| 4.17%
    less2|====| 4.17%
    cat2|====| 4.17%
    su2|====| 4.17%
    log2jabber1|==| 2.08%
    chown1|==| 2.08%
    /etc/init.d/asterisk1|==| 2.08%
    chmod1|==| 2.08%
    cp1|==| 2.08%
    nmap1|==| 2.08%
    getent1|==| 2.08%
    ~1|==| 2.08%
    exit1|==| 2.08%
    erisk1|==| 2.08%
    usermod1|==| 2.08%
    ____
    *) Интервалы неактивности длительностью 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$