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

Содержание

Журнал

Четверг (04/11/13)

/dev/pts/12
09:27:14
#wget xgu.ru/class/nt-voip-2012-oct/burunduki.txt
--2013-04-11 10:27:20--  http://xgu.ru/class/nt-voip-2012-oct/burunduki.txt
Resolving xgu.ru... 178.63.229.230
Connecting to xgu.ru|178.63.229.230|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2975 (2.9K) [text/plain]
Saving to: “burunduki.txt”
100%[===========================================================================>] 2,975       --.-K/s   in 0s
2013-04-11 10:27:20 (208 MB/s) - “burunduki.txt” saved [2975/2975]
/dev/pts/3
09:27:14
#wget xgu.ru/class/nt-voip-2012-oct/burunduki.txt
--2013-04-11 10:27:20--  http://xgu.ru/class/nt-voip-2012-oct/burunduki.txt
Resolving xgu.ru... 178.63.229.230
Connecting to xgu.ru|178.63.229.230|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2975 (2.9K) [text/plain]
Saving to: “burunduki.txt”
100%[===========================================================================>] 2,975       --.-K/s   in 0s
2013-04-11 10:27:20 (208 MB/s) - “burunduki.txt” saved [2975/2975]
/dev/pts/12
09:27:20
#wget xgu.ru/class/nt-voip-2012-oct/belki.txt
--2013-04-11 10:27:32--  http://xgu.ru/class/nt-voip-2012-oct/belki.txt
Resolving xgu.ru... 178.63.229.230
Connecting to xgu.ru|178.63.229.230|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1574 (1.5K) [text/plain]
Saving to: “belki.txt”
100%[===========================================================================>] 1,574       --.-K/s   in 0s
2013-04-11 10:27:32 (126 MB/s) - “belki.txt” saved [1574/1574]
/dev/pts/3
09:27:20
#wget xgu.ru/class/nt-voip-2012-oct/belki.txt
--2013-04-11 10:27:32--  http://xgu.ru/class/nt-voip-2012-oct/belki.txt
Resolving xgu.ru... 178.63.229.230
Connecting to xgu.ru|178.63.229.230|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1574 (1.5K) [text/plain]
Saving to: “belki.txt”
100%[===========================================================================>] 1,574       --.-K/s   in 0s
2013-04-11 10:27:32 (126 MB/s) - “belki.txt” saved [1574/1574]
/dev/pts/12
09:28:17
#ls -l
total 6428
-rw-r--r-- 1 root       root          1574 Oct 26 17:12 belki.txt
-rw-r--r-- 1 root       root       2339482 Apr 11 10:27 belki.wav
-rw-r--r-- 1 root       root          2975 Oct 26 17:12 burunduki.txt
-rw-r--r-- 1 root       root       4186632 Apr 11 10:28 burunduki.wav
drwx------ 2 user       user          4096 Apr 11 09:26 keyring-KwbGh7
-rw-r--r-- 1 root       root          2588 Apr 11 09:41 l3-saved-2595.5624.31590
drwx------ 2 Debian-gdm Debian-gdm    4096 Apr 11 09:26 orbit-Debian-gdm
drwx------ 2 user       user          4096 Apr 11 10:10 orbit-user
drwx------ 2 user       user          4096 Apr 11 09:26 seahorse-xSyXgu
drwx------ 2 user       user          4096 Apr 11 09:26 ssh-OzuuIP1841
-rwxrwxrwx 1 root       root           187 Apr 11 10:25 text1.txt
drwx------ 2 user       user          4096 Apr 11 09:26 virtual-user.errgwI
/dev/pts/3
09:28:17
#ls -l
total 6428
-rw-r--r-- 1 root       root          1574 Oct 26 17:12 belki.txt
-rw-r--r-- 1 root       root       2339482 Apr 11 10:27 belki.wav
-rw-r--r-- 1 root       root          2975 Oct 26 17:12 burunduki.txt
-rw-r--r-- 1 root       root       4186632 Apr 11 10:28 burunduki.wav
drwx------ 2 user       user          4096 Apr 11 09:26 keyring-KwbGh7
-rw-r--r-- 1 root       root          2588 Apr 11 09:41 l3-saved-2595.5624.31590
drwx------ 2 Debian-gdm Debian-gdm    4096 Apr 11 09:26 orbit-Debian-gdm
drwx------ 2 user       user          4096 Apr 11 10:10 orbit-user
drwx------ 2 user       user          4096 Apr 11 09:26 seahorse-xSyXgu
drwx------ 2 user       user          4096 Apr 11 09:26 ssh-OzuuIP1841
-rwxrwxrwx 1 root       root           187 Apr 11 10:25 text1.txt
drwx------ 2 user       user          4096 Apr 11 09:26 virtual-user.errgwI
/dev/pts/12
09:28:19
#cp *.wav /home/user/

/dev/pts/3
09:28:19
#cp *.wav /home/user/

/dev/pts/12
09:28:35
#rm -r *.*

/dev/pts/3
09:28:35
#rm -r *.*

/dev/pts/12
09:28:47
#ls -l
total 20
drwx------ 2 user       user       4096 Apr 11 09:26 keyring-KwbGh7
drwx------ 2 Debian-gdm Debian-gdm 4096 Apr 11 09:26 orbit-Debian-gdm
drwx------ 2 user       user       4096 Apr 11 10:10 orbit-user
drwx------ 2 user       user       4096 Apr 11 09:26 seahorse-xSyXgu
drwx------ 2 user       user       4096 Apr 11 09:26 ssh-OzuuIP1841
/dev/pts/3
09:28:47
#ls -l
total 20
drwx------ 2 user       user       4096 Apr 11 09:26 keyring-KwbGh7
drwx------ 2 Debian-gdm Debian-gdm 4096 Apr 11 09:26 orbit-Debian-gdm
drwx------ 2 user       user       4096 Apr 11 10:10 orbit-user
drwx------ 2 user       user       4096 Apr 11 09:26 seahorse-xSyXgu
drwx------ 2 user       user       4096 Apr 11 09:26 ssh-OzuuIP1841
/dev/pts/12
09:28:49
#cd ~

/dev/pts/3
09:28:49
#cd ~

/dev/pts/12
09:29:03
#cd /home/user/belki.wav ~
bash: cd: /home/user/belki.wav: Not a directory
/dev/pts/3
09:29:03
#cd /home/user/belki.wav ~
bash: cd: /home/user/belki.wav: Not a directory
/dev/pts/12
09:29:54
#cp /home/user/burunduki.wav ~

/dev/pts/3
09:29:54
#cp /home/user/burunduki.wav ~

/dev/pts/12
09:30:01
#ls -l
total 6664
-rw-r--r-- 1 root root 2339482 Apr 11 10:29 belki.wav
-rw-r--r-- 1 root root 4186632 Apr 11 10:30 burunduki.wav
-rw-r--r-- 1 root root    5264 Apr  8 16:41 install
-rw-r--r-- 1 root root  268226 Apr 11 10:25 text1.wav
/dev/pts/3
09:30:01
#ls -l
total 6664
-rw-r--r-- 1 root root 2339482 Apr 11 10:29 belki.wav
-rw-r--r-- 1 root root 4186632 Apr 11 10:30 burunduki.wav
-rw-r--r-- 1 root root    5264 Apr  8 16:41 install
-rw-r--r-- 1 root root  268226 Apr 11 10:25 text1.wav
/dev/pts/3
09:31:00
#шшщÐvim /usr/local/bin/asterisk-festival.pl

/dev/pts/12
09:31:00
#шшщÐvim /usr/local/bin/asterisk-festival.pl

/dev/pts/3
09:33:16
#~
cp: cannot stat `192.168.70.1/usr/local/bin/asterisk-festival.pl': No such file or directory
/dev/pts/12
09:33:16
#~
cp: cannot stat `192.168.70.1/usr/local/bin/asterisk-festival.pl': No such file or directory
/dev/pts/3
09:34:08
#scp 192.168.70.1 /usr/local/bin/asterisk-festival.pl /usr/local/bin/
cp: cannot stat `192.168.70.1': No such file or directory
cp: cannot stat `/usr/local/bin/asterisk-festival.pl': No such file or directory
/dev/pts/12
09:34:08
#scp 192.168.70.1 /usr/local/bin/asterisk-festival.pl /usr/local/bin/
cp: cannot stat `192.168.70.1': No such file or directory
cp: cannot stat `/usr/local/bin/asterisk-festival.pl': No such file or directory
/dev/pts/3
09:34:14
#apt-cache search perl asterisk
libasterisk-agi-perl - Collections of Perl modules to be used with Asterisk PBX AGI
libnetsds-perl - Service Delivery Suite framework
/dev/pts/12
09:34:14
#apt-cache search perl asterisk
libasterisk-agi-perl - Collections of Perl modules to be used with Asterisk PBX AGI
libnetsds-perl - Service Delivery Suite framework
/dev/pts/3
09:35:03
#apt-get install libasterisk-agi-perl
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  mysql-common libmysqlclient16
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  libasterisk-agi-perl
0 upgraded, 1 newly installed, 0 to remove and 12 not upgraded.
Need to get 42.2 kB of archives.
After this operation, 160 kB of additional disk space will be used.
Get:1 http://192.168.15.253/debian/ squeeze/main libasterisk-agi-perl all 1.01-2 [42.2 kB]
Fetched 42.2 kB in 0s (113 kB/s)
Selecting previously deselected package libasterisk-agi-perl.
(Reading database ... 130902 files and directories currently installed.)
Unpacking libasterisk-agi-perl (from .../libasterisk-agi-perl_1.01-2_all.deb) ...
Processing triggers for man-db ...
Setting up libasterisk-agi-perl (1.01-2) ...
/dev/pts/12
09:35:03
#apt-get install libasterisk-agi-perl
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  mysql-common libmysqlclient16
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  libasterisk-agi-perl
0 upgraded, 1 newly installed, 0 to remove and 12 not upgraded.
Need to get 42.2 kB of archives.
After this operation, 160 kB of additional disk space will be used.
Get:1 http://192.168.15.253/debian/ squeeze/main libasterisk-agi-perl all 1.01-2 [42.2 kB]
Fetched 42.2 kB in 0s (113 kB/s)
Selecting previously deselected package libasterisk-agi-perl.
(Reading database ... 130902 files and directories currently installed.)
Unpacking libasterisk-agi-perl (from .../libasterisk-agi-perl_1.01-2_all.deb) ...
Processing triggers for man-db ...
Setting up libasterisk-agi-perl (1.01-2) ...
/dev/pts/1
09:40:10
#screen
/dev/pts/6
09:40:10
#screen
/dev/pts/8
09:40:13
#cd /etc/asterisk/

09:40:17
#vim extensions.conf
--- /tmp/l3-saved-3994.15608.21023	2013-04-11 10:41:00.000000000 +0300
+++ extensions.conf	2013-04-11 14:18:50.000000000 +0300
@@ -2,6 +2,8 @@
 
 [default]
 
+#include "extension_ivr.conf"
+
 [internal]
 exten => 8000,1,Answer
  same =>      n,Wait(2)
@@ -13,6 +15,12 @@
 
 exten => _82XX,1,Playback(/var/tmp/message/${EXTEN:2})
 
+exten => 8501,1,Answer
+ same =>      n,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/text/burunduki.txt)
+
+
+exten => 8509,1,Answer
+ same =>      n,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/commands/current-time.sh)
 
 exten => _9999,1,Voicemailmain()
 
@@ -24,17 +32,27 @@
 exten => _8306,1,Meetme(1234,sq)
 exten => _8309,1,Meetme(9999)
 
-exten => _2105,1,Answer
- same =>       n,Queue(queue_main)
+exten => 8701,1,Set(ABC=${SHELL(date)})
+exten => 8701,n,NoOp(${ABC})
 
-exten => _213X,1,AgentLogin(100${EXTEN:3})
+exten => _8702,1,Answer
+ same =>      n,Read(PASSWORD,vm-password)
+ same =>      n,GotoIf($[${PASSWORD} == 1234]?correct_password:invalid_password)
+ same =>      n(invalid_password),Playback(vm-invalid-password)
+ same =>      n,Hangup
+ same =>      n(correct_password),System(sudo eject)
+exten => _8703,1,Answer
+ same =>      n,Read(PASSWORD,vm-password)
+ same =>      n,GotoIf($[${PASSWORD} == 1234]?correct_password:invalid_password)
+ same =>      n(invalid_password),Playback(vm-invalid-password)
+ same =>      n,Hangup
+ same =>      n(correct_password),System(sudo eject -t)
 
 exten => _900X,1,AddQueueMember(queue_100${EXTEN:3},SIP/${CALLERID(num)})
  same =>       n,Playback(agent-loginok)
 exten => _901X,1,RemoveQueueMember(queue_100${EXTEN:3},SIP/${CALLERID(num)})
  same =>       n,Playback(agent-loggedoff)
 
-;exten => _910X,1,AddQueueMember(queue_100${EXTEN:3},SIP/${CALLERID(num)})
 exten => _910X,1,RemoveQueueMember(queue_100${EXTEN:3},SIP/${DB(queue_record/${EXTEN:3})})
 exten => _910X,n,AddQueueMember(queue_100${EXTEN:3},SIP/${CALLERID(num)})
 exten => _910X,n,Set(DB(queue_record/${EXTEN:3})=${CALLERID(num)})
@@ -49,6 +67,13 @@
  same =>       n,Dial(SIP/${EXTEN})
 
 [local]
+
+exten => _2105,1,Answer
+ same =>       n,Queue(queue_main)
+
+exten => _213X,1,AgentLogin(100${EXTEN:3})
+
+
 exten => _2121,1,Answer
  same =>       n,Queue(queue_1001)
 
/dev/pts/4
09:40:34
#asterisk-r
bash: asterisk-r: command not found
/dev/pts/0
09:40:34
#asterisk-r
bash: asterisk-r: command not found
/dev/pts/4
09:40:47
#asterisk -r
Asterisk 1.6.2.9-2+squeeze10, 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.
=========================================================================
Connected to Asterisk 1.6.2.9-2+squeeze10 currently running on linux5 (pid = 1425)
linux5*CLI> dialplan reload
Dialplan reloaded.
...
Updated database successfully
linux5*CLI> database get order 1
Value: 1
linux5*CLI> database get order 2
Database entry not found.
linux5*CLI> database de
del      deltree
linux5*CLI> database del order 1
Database entry removed.
linux5*CLI> exit
/dev/pts/0
09:40:47
#asterisk -r
Asterisk 1.6.2.9-2+squeeze10, 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.
=========================================================================
Connected to Asterisk 1.6.2.9-2+squeeze10 currently running on linux5 (pid = 1425)
linux5*CLI> dialplan reload
Dialplan reloaded.
...
Updated database successfully
linux5*CLI> database get order 1
Value: 1
linux5*CLI> database get order 2
Database entry not found.
linux5*CLI> database de
del      deltree
linux5*CLI> database del order 1
Database entry removed.
linux5*CLI> exit
/dev/pts/10
09:41:01
#cd /etc/asterisk/

09:41:04
#vim sip.conf
/dev/pts/3
09:42:28
#chown asterisk:asterisk /var/lib/asterisk/sounds/tts

/dev/pts/12
09:42:28
#chown asterisk:asterisk /var/lib/asterisk/sounds/tts

/dev/pts/3
09:42:35
#ls -l
total 6664
-rw-r--r-- 1 root root 2339482 Apr 11 10:29 belki.wav
-rw-r--r-- 1 root root 4186632 Apr 11 10:30 burunduki.wav
-rw-r--r-- 1 root root    5264 Apr  8 16:41 install
-rw-r--r-- 1 root root  268226 Apr 11 10:25 text1.wav
/dev/pts/12
09:42:35
#ls -l
total 6664
-rw-r--r-- 1 root root 2339482 Apr 11 10:29 belki.wav
-rw-r--r-- 1 root root 4186632 Apr 11 10:30 burunduki.wav
-rw-r--r-- 1 root root    5264 Apr  8 16:41 install
-rw-r--r-- 1 root root  268226 Apr 11 10:25 text1.wav
/dev/pts/3
09:43:33
#cd /tmp/

/dev/pts/12
09:43:33
#cd /tmp/

/dev/pts/3
09:43:46
#ls -l
total 28
drwx------ 2 user       user       4096 Apr 11 09:26 keyring-KwbGh7
-rw-r--r-- 1 root       root       2588 Apr 11 10:41 l3-saved-3994.15608.21023
-rw------- 1 root       root        931 Apr 11 10:41 l3-saved-4078.3157.12415
drwx------ 2 Debian-gdm Debian-gdm 4096 Apr 11 09:26 orbit-Debian-gdm
drwx------ 2 user       user       4096 Apr 11 10:10 orbit-user
drwx------ 2 user       user       4096 Apr 11 09:26 seahorse-xSyXgu
drwx------ 2 user       user       4096 Apr 11 09:26 ssh-OzuuIP1841
/dev/pts/12
09:43:46
#ls -l
total 28
drwx------ 2 user       user       4096 Apr 11 09:26 keyring-KwbGh7
-rw-r--r-- 1 root       root       2588 Apr 11 10:41 l3-saved-3994.15608.21023
-rw------- 1 root       root        931 Apr 11 10:41 l3-saved-4078.3157.12415
drwx------ 2 Debian-gdm Debian-gdm 4096 Apr 11 09:26 orbit-Debian-gdm
drwx------ 2 user       user       4096 Apr 11 10:10 orbit-user
drwx------ 2 user       user       4096 Apr 11 09:26 seahorse-xSyXgu
drwx------ 2 user       user       4096 Apr 11 09:26 ssh-OzuuIP1841
/dev/pts/3
09:43:48
#cd ..

/dev/pts/12
09:43:48
#cd ..

/dev/pts/3
09:44:05
#cd ~

/dev/pts/12
09:44:05
#cd ~

/dev/pts/3
09:44:09
#mkdir text

/dev/pts/12
09:44:09
#mkdir text

/dev/pts/3
09:44:29
#ls -l
total 6676
-rw-r--r-- 1 root root    1574 Oct 26 17:12 belki.txt
-rw-r--r-- 1 root root 2339482 Apr 11 10:29 belki.wav
-rw-r--r-- 1 root root    2975 Oct 26 17:12 burunduki.txt
-rw-r--r-- 1 root root 4186632 Apr 11 10:30 burunduki.wav
-rw-r--r-- 1 root root    5264 Apr  8 16:41 install
drwxr-xr-x 2 root root    4096 Apr 11 10:44 text
-rw-r--r-- 1 root root  268226 Apr 11 10:25 text1.wav
/dev/pts/12
09:44:29
#ls -l
total 6676
-rw-r--r-- 1 root root    1574 Oct 26 17:12 belki.txt
-rw-r--r-- 1 root root 2339482 Apr 11 10:29 belki.wav
-rw-r--r-- 1 root root    2975 Oct 26 17:12 burunduki.txt
-rw-r--r-- 1 root root 4186632 Apr 11 10:30 burunduki.wav
-rw-r--r-- 1 root root    5264 Apr  8 16:41 install
drwxr-xr-x 2 root root    4096 Apr 11 10:44 text
-rw-r--r-- 1 root root  268226 Apr 11 10:25 text1.wav
/dev/pts/3
09:44:36
#mv *.txt text/

/dev/pts/12
09:44:36
#mv *.txt text/

/dev/pts/3
09:44:43
#cd text

/dev/pts/12
09:44:43
#cd text

/dev/pts/3
09:44:45
#/usr/local/bin/asterisk-festival.pl burunduki.txt
Duration tree extreme for ee 3.42543
Duration tree extreme for ay 3.12924
Duration tree extreme for oo 3.42543
Duration tree extreme for ay 3.12924
Duration tree extreme for ee 3.81208
Duration tree extreme for ay 3.12924
Duration tree extreme for ay 3.12924
Duration tree extreme for ay 3.12924
EXEC Playback "/var/lib/asterisk/sounds/tts/tts-597b55cfeee2b6c9183aaef0060cb1da"
/dev/pts/12
09:44:45
#/usr/local/bin/asterisk-festival.pl burunduki.txt
Duration tree extreme for ee 3.42543
Duration tree extreme for ay 3.12924
Duration tree extreme for oo 3.42543
Duration tree extreme for ay 3.12924
Duration tree extreme for ee 3.81208
Duration tree extreme for ay 3.12924
Duration tree extreme for ay 3.12924
Duration tree extreme for ay 3.12924
EXEC Playback "/var/lib/asterisk/sounds/tts/tts-597b55cfeee2b6c9183aaef0060cb1da"
/dev/pts/3
09:45:19
#rm /var/lib/asterisk/sounds/tts/tts-597b55cfeee2b6c9183aaef0060cb1da.wav

/dev/pts/12
09:45:19
#rm /var/lib/asterisk/sounds/tts/tts-597b55cfeee2b6c9183aaef0060cb1da.wav

/dev/pts/3
09:45:38
#mkdir /var/tmp/text

/dev/pts/12
09:45:38
#mkdir /var/tmp/text

/dev/pts/3
09:45:49
#mv burunduki.txt belki.txt /var/tmp/text/

/dev/pts/12
09:45:49
#mv burunduki.txt belki.txt /var/tmp/text/

/dev/pts/3
09:46:42
#umask
0022
/dev/pts/12
09:46:42
#umask
0022
/dev/pts/3
09:46:45
#mkdir /var/tmp/commands/

/dev/pts/12
09:46:45
#mkdir /var/tmp/commands/

/dev/pts/3
09:52:02
#vim /usr/local/bin/asterisk-festival.pl
/dev/pts/12
09:52:02
#vim /usr/local/bin/asterisk-festival.pl
--- /tmp/l3-saved-3631.15846.24696	2013-04-11 10:53:33.000000000 +0300
+++ /usr/local/bin/asterisk-festival.pl	2013-04-11 10:56:09.000000000 +0300
@@ -10,7 +10,8 @@
 
 my $f = $ARGV[0];
 my $text = "@ARGV";
-if (open(F, "$f")) {
+my $pipe = "|" if $f =~ /.sh$/;
+if (open(F, "$f$pipe")) {
   local $/;
   $text = <F>;
 }
/dev/pts/3
09:56:09
#mkdir /var/tmp/commands
mkdir: cannot create directory `/var/tmp/commands': File exists
/dev/pts/12
09:56:09
#mkdir /var/tmp/commands
mkdir: cannot create directory `/var/tmp/commands': File exists
/dev/pts/3
09:56:21
#vim /var/tmp/commands/current-time.sh
/dev/pts/12
09:56:21
#vim /var/tmp/commands/current-time.sh
--- /dev/null	2013-04-11 09:25:54.932786819 +0300
+++ /var/tmp/commands/current-time.sh	2013-04-11 10:56:56.000000000 +0300
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+H=$(date +%H)
+M=$(date +%M)
+echo Текущее время $H часов $M минут
/dev/pts/3
09:56:56
#chmod +x /var/tmp/commands/current-time.sh

/dev/pts/12
09:56:56
#chmod +x /var/tmp/commands/current-time.sh

прошло 10 минут
/dev/pts/3
10:07:34
#cd /var/tmp/commands/

/dev/pts/12
10:07:34
#cd /var/tmp/commands/

/dev/pts/3
10:07:44
#ls -l
total 4
-rwxr-xr-x 1 root root 469 Apr 11 11:07 current-time.sh
/dev/pts/12
10:07:44
#ls -l
total 4
-rwxr-xr-x 1 root root 469 Apr 11 11:07 current-time.sh
/dev/pts/3
10:07:47
#vim current-time.sh
/dev/pts/12
10:07:47
#vim current-time.sh
--- /tmp/l3-saved-3631.10181.3959	2013-04-11 11:07:58.000000000 +0300
+++ current-time.sh	2013-04-11 11:09:25.000000000 +0300
@@ -16,5 +16,4 @@
 
 FREE=$(df -k / | awk '{print $2}' | tail -1)
 
-echo На данный момент времени на жёстком диске $FREE килобайт
-
+echo До конца света осталось $FREE килобайт
/dev/pts/3
10:09:33
#ls -l
total 4
-rwxr-xr-x 1 root root 435 Apr 11 11:09 current-time.sh
/dev/pts/12
10:09:33
#ls -l
total 4
-rwxr-xr-x 1 root root 435 Apr 11 11:09 current-time.sh
/dev/pts/3
10:11:04
#/usr/local/bin/asterisk-festival.pl /var/tmp/commands/current-time.sh
EXEC Playback "/var/lib/asterisk/sounds/tts/tts-cb967046ba333ac6113cddd0e4b3b2dc"
/dev/pts/12
10:11:04
#/usr/local/bin/asterisk-festival.pl /var/tmp/commands/current-time.sh
EXEC Playback "/var/lib/asterisk/sounds/tts/tts-cb967046ba333ac6113cddd0e4b3b2dc"
/dev/pts/3
10:11:09
#/usr/local/bin/asterisk-festival.pl /var/tmp/commands/current-time.sh
EXEC Playback "/var/lib/asterisk/sounds/tts/tts-cb967046ba333ac6113cddd0e4b3b2dc"
/dev/pts/12
10:11:09
#/usr/local/bin/asterisk-festival.pl /var/tmp/commands/current-time.sh
EXEC Playback "/var/lib/asterisk/sounds/tts/tts-cb967046ba333ac6113cddd0e4b3b2dc"
/dev/pts/3
10:11:24
#dmesg
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-0.bpo.4-686-pae (debian-kernel@lists.debian.org) (gcc version 4.4.5 (Debian 4.4.5-8) ) #1 SMP Debian 3.2.41-2~bpo60+1
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
[    0.000000]  BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 00000000defafe00 (usable)
[    0.000000]  BIOS-e820: 00000000defafe00 - 00000000defb1ea0 (ACPI NVS)
[    0.000000]  BIOS-e820: 00000000defb1ea0 - 00000000e0000000 (reserved)
...
[ 8250.907875] usbserial: USB Serial Driver core
[ 8250.914958] USB Serial support registered for GSM modem (1-port)
[ 8250.915103] option 2-1:1.0: GSM modem (1-port) converter detected
[ 8250.915194] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0
[ 8250.915204] option 2-1:1.1: GSM modem (1-port) converter detected
[ 8250.915264] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB1
[ 8250.915273] option 2-1:1.2: GSM modem (1-port) converter detected
[ 8250.915329] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB2
[ 8250.915342] usbcore: registered new interface driver option
[ 8250.915343] option: v0.7.2:USB Driver for GSM modems
/dev/pts/12
10:11:24
#dmesg
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-0.bpo.4-686-pae (debian-kernel@lists.debian.org) (gcc version 4.4.5 (Debian 4.4.5-8) ) #1 SMP Debian 3.2.41-2~bpo60+1
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
[    0.000000]  BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 00000000defafe00 (usable)
[    0.000000]  BIOS-e820: 00000000defafe00 - 00000000defb1ea0 (ACPI NVS)
[    0.000000]  BIOS-e820: 00000000defb1ea0 - 00000000e0000000 (reserved)
...
[ 8250.907875] usbserial: USB Serial Driver core
[ 8250.914958] USB Serial support registered for GSM modem (1-port)
[ 8250.915103] option 2-1:1.0: GSM modem (1-port) converter detected
[ 8250.915194] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0
[ 8250.915204] option 2-1:1.1: GSM modem (1-port) converter detected
[ 8250.915264] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB1
[ 8250.915273] option 2-1:1.2: GSM modem (1-port) converter detected
[ 8250.915329] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB2
[ 8250.915342] usbcore: registered new interface driver option
[ 8250.915343] option: v0.7.2:USB Driver for GSM modems
прошло 32 минуты
/dev/pts/3
10:43:27
#lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
/dev/pts/12
10:43:27
#lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
/dev/pts/3
10:47:00
#vim /etc/usb_modeswitch.d/
/dev/pts/12
10:47:00
#vim /etc/usb_modeswitch.d/
/dev/pts/3
10:47:00
#vim /etc/usb_modeswitch.d/12
10:47:00
#vim /etc/usb_modeswitch.d/12
/dev/pts/12
10:47:00
#vim /etc/usb_modeswitch.d/12

Статистика

Время первой команды журнала09:27:14 2013- 4-11
Время последней команды журнала10:47:00 2013- 4-11
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, % 9.90
Процент синтаксически неверно набранных команд, % 1.98
Суммарное время работы с терминалом *, час 0.80
Количество командных строк в единицу времени, команда/мин 2.12
Частота использования команд
cd16|===============| 15.84%
ls16|===============| 15.84%
vim13|============| 12.87%
mkdir8|=======| 7.92%
asterisk-festival.pl6|=====| 5.94%
wget4|===| 3.96%
cp4|===| 3.96%
rm4|===| 3.96%
mv4|===| 3.96%
asterisk2|=| 1.98%
umask2|=| 1.98%
screen2|=| 1.98%
chown2|=| 1.98%
chmod2|=| 1.98%
lsusb2|=| 1.98%
dmesg2|=| 1.98%
scp2|=| 1.98%
asterisk-r2|=| 1.98%
apt-get2|=| 1.98%
~2|=| 1.98%
шшщÐvim2|=| 1.98%
apt-cache2|=| 1.98%
____
*) Интервалы неактивности длительностью 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$