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

Содержание

Журнал

Среда (06/07/17)

/dev/pts/0
13:55:06
#cat ip.txt | egrep 1|2|3|4|5|6|7|8|9|0\, | sort
l3script: 2: команда не найдена
l3script: 5: команда не найдена
l3script: 9: команда не найдена
l3script: 3: команда не найдена
l3script: 4: команда не найдена
l3script: 6: команда не найдена
l3script: 7: команда не найдена
l3script: 8: команда не найдена
l3script: 0,: команда не найдена
13:55:18
#cat ip.txt | egrep [1|2|3|4|5|6|7|8|9|0] | sort
l3script: 4: команда не найдена
l3script: 6: команда не найдена
l3script: 9: команда не найдена
l3script: 3: команда не найдена
l3script: 5: команда не найдена
l3script: 2: команда не найдена
l3script: 7: команда не найдена
l3script: 8: команда не найдена
l3script: 0]: команда не найдена
egrep: Непарная [ или [^
13:55:30
#cat ip.txt | egrep '[1|2|3|4|5|6|7|8|9|0]' | sort
10.0.164.3
10.5.3.68
172.16.30.30
192.168.0.1
240.5.333.2
4.6.70
500.8.4.5
876.dsf.978.sfd
a.4.4.9
asd.234.dsf.324
13:55:39
#cat ip.txt | egrep '[0-9]' | sort
10.0.164.3
10.5.3.68
172.16.30.30
192.168.0.1
240.5.333.2
4.6.70
500.8.4.5
876.dsf.978.sfd
a.4.4.9
asd.234.dsf.324
13:55:53
#cat ip.txt | egrep '[0-9]\.' | sort
10.0.164.3
10.5.3.68
172.16.30.30
192.168.0.1
240.5.333.2
4.6.70
500.8.4.5
876.dsf.978.sfd
a.4.4.9
asd.234.dsf.324
13:56:01
#cat ip.txt | egrep '[0-9]\.[0-9]\.[0-9]\.[0-9]\.' | sort

13:56:31
#cat ip.txt | egrep '([0-9]\.)+([0-9]\.)+([0-9]\)+(.[0-9]\.)' | sort
egrep: Непарная ( или \(
13:57:11
#cat ip.txt | egrep '([0-9]\.)+([0-9]\.)+([0-9]\.)+([0-9]\.)' | sort

13:57:24
#cat ip.txt | egrep '(0-9\.)+([0-9]\.)+([0-9]\.)+([0-9]\.)' | sort

13:57:30
#cat ip.txt | egrep '([0-9]\.)|([0-9]\.)+([0-9]\.)+([0-9]\.)' | sort
10.0.164.3
10.5.3.68
172.16.30.30
192.168.0.1
240.5.333.2
4.6.70
500.8.4.5
876.dsf.978.sfd
a.4.4.9
asd.234.dsf.324
13:57:40
#cat ip.txt | egrep '([0-9]\.)|([0-9]\.)|([0-9]\.)|([0-9]\.)' | sort
10.0.164.3
10.5.3.68
172.16.30.30
192.168.0.1
240.5.333.2
4.6.70
500.8.4.5
876.dsf.978.sfd
a.4.4.9
asd.234.dsf.324
13:57:51
#cat ip.txt | egrep '([0-9]\.)|([0-9]\.)|([0-9]\.)|([0-9])' | sort
10.0.164.3
10.5.3.68
172.16.30.30
192.168.0.1
240.5.333.2
4.6.70
500.8.4.5
876.dsf.978.sfd
a.4.4.9
asd.234.dsf.324
13:58:03
#cat ip.txt | egrep '([0-9]|{1,3}\.)|([0-9]|{1,3}\.)|([0-9]\{1,3}\.)|([0-9]{1,3})' | sort
10.0.164.3
10.5.3.68
172.16.30.30
192.168.0.1
240.5.333.2
4.6.70
500.8.4.5
876.dsf.978.sfd
a.4.4.9
asd.234.dsf.324
13:59:09
#cat ip.txt | egrep '([0-9]{1,3})|([0-9]{1,3})|([0-9]\{1,3}\.)|([0-9]{1,3})' | sort
10.0.164.3
10.5.3.68
172.16.30.30
192.168.0.1
240.5.333.2
4.6.70
500.8.4.5
876.dsf.978.sfd
a.4.4.9
asd.234.dsf.324
13:59:26
#cat ip.txt | egrep '([0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})' | sort
10.0.164.3
10.5.3.68
172.16.30.30
192.168.0.1
240.5.333.2
4.6.70
500.8.4.5
876.dsf.978.sfd
a.4.4.9
asd.234.dsf.324
13:59:37
#cat ip.txt | egrep '(^[0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})' | sort
10.0.164.3
10.5.3.68
172.16.30.30
192.168.0.1
240.5.333.2
4.6.70
500.8.4.5
876.dsf.978.sfd
a.4.4.9
asd.234.dsf.324
13:59:48
#cat ip.txt | egrep (^[0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3}) | sort
l3script: syntax error near unexpected token `^[0-9]{1,3}'
14:00:03
#cat ip.txt | egrep (^[0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})
l3script: syntax error near unexpected token `^[0-9]{1,3}'
14:00:07
#cat ip.txt | egrep ^[0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})
l3script: syntax error near unexpected token `)'
14:00:12
#cat ip.txt | egrep ^[0-9]{1,3}|([0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})
l3script: [0-9]1: команда не найдена
l3script: [0-9]1: команда не найдена
l3script: [0-9]1: команда не найдена
egrep: ^[0-9]3: Нет такого файла или каталога
14:00:19
#cat ip.txt | egrep '^[0-9]{1,3}'|([0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})
l3script: [0-9]1: команда не найдена
l3script: [0-9]1: команда не найдена
l3script: [0-9]1: команда не найдена
14:00:28
#cat ip.txt | egrep '^[1234567890]{1,3}'|([0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})
l3script: [0-9]1: команда не найдена
l3script: [0-9]1: команда не найдена
l3script: [0-9]1: команда не найдена
14:00:56
#cat ip.txt | egrep '^[1234567890]{0,3}'|([0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})
l3script: [0-9]1: команда не найдена
l3script: [0-9]1: команда не найдена
l3script: [0-9]1: команда не найдена
14:01:15
#cat ip.txt | egrep '^[1{0,3}
> cat ip.txt | egrep '^[1{0,3}:wq
egrep: Непарная [ или [^
14:01:33
#cat ip.txt | egrep '^[1{0,3}
                                         234567890]{0,3}'|([0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})
cat ip.txt | egrep '^[1{0,3}:wq          {0,3}
                                       (1)'
192.168.0.1
172.16.30.30
10.5.3.68
10.0.164.3
14:01:59
#cat ip.txt | egrep '^(1)'|(2)
l3script: 2: команда не найдена
14:02:22
#cat ip.txt | egrep '^(1)'|"(2)"
l3script: (2): команда не найдена
14:02:29
#cat ip.txt | egrep '^(1)'|'(2)'
l3script: (2): команда не найдена
14:02:34
#cat ip.txt | egrep '^(1)'|'2'
l3script: 2: команда не найдена
14:02:40
#cat ip.txt | egrep '^(1)|2'
192.168.0.1
240.5.333.2
172.16.30.30
10.5.3.68
10.0.164.3
asd.234.dsf.324
14:02:45
#cat ip.txt | egrep '^1|2'
192.168.0.1
240.5.333.2
172.16.30.30
10.5.3.68
10.0.164.3
asd.234.dsf.324
14:02:53
#cat ip.txt | egrep '^1|2|3'
192.168.0.1
240.5.333.2
172.16.30.30
10.5.3.68
10.0.164.3
asd.234.dsf.324
14:02:59
#cat ip.txt | egrep '^1|2|3|4|5|6|7|8|9|0'
192.168.0.1
500.8.4.5
240.5.333.2
a.4.4.9
172.16.30.30
4.6.70
10.5.3.68
10.0.164.3
asd.234.dsf.324
876.dsf.978.sfd
14:03:15
#cat ip.txt | egrep '^(1|2)2|3|4|5|6|7|8|9|0'
192.168.0.1
500.8.4.5
240.5.333.2
a.4.4.9
172.16.30.30
4.6.70
10.5.3.68
10.0.164.3
asd.234.dsf.324
876.dsf.978.sfd
14:04:17
#cat ip.txt | egrep '(09|2)'
192.168.0.1
240.5.333.2
172.16.30.30
asd.234.dsf.324
14:07:13
#cat ip.txt | egrep '(9)'
192.168.0.1
a.4.4.9
876.dsf.978.sfd
14:07:27
#cat ip.txt | egrep '^(9)'

14:07:33
#cat ip.txt | egrep '^(1)'
192.168.0.1
172.16.30.30
10.5.3.68
10.0.164.3
14:07:37
#cat ip.txt | egrep '^(1|2)'
192.168.0.1
240.5.333.2
172.16.30.30
10.5.3.68
10.0.164.3
14:07:47
#cat ip.txt | egrep '^(1|2)|(09|05)'
192.168.0.1
240.5.333.2
172.16.30.30
10.5.3.68
10.0.164.3
14:08:31
#cat ip.txt | egrep '^(1|2)|(09)|(05)|('
egrep: Непарная ( или \(
14:10:27
#cat ip.txt | egrep '^(1|2)|(09)|(05)'
192.168.0.1
240.5.333.2
172.16.30.30
10.5.3.68
10.0.164.3
14:10:30
#cat ip.txt | egrep '^(1|2)|(09)|(05)\.'
192.168.0.1
240.5.333.2
172.16.30.30
10.5.3.68
10.0.164.3
14:10:41
#cat ip.txt | egrep '(^(1|2)|(09)|(05)\.)|(1|2)|(09)|(05)\. '
192.168.0.1
240.5.333.2
172.16.30.30
10.5.3.68
10.0.164.3
asd.234.dsf.324
14:11:10
#cat ip.txt | egrep '^(1|2)|(09)|(05)\.|(1|2)|(09)|(05)\. '
192.168.0.1
240.5.333.2
172.16.30.30
10.5.3.68
10.0.164.3
asd.234.dsf.324
14:11:20
#cat ip.txt | egrep '(^(1|2)|(09)|(05)\.|(1|2)|(09)|(05)\. '
egrep: Непарная ( или \(
14:11:31
#cat ip.txt | egrep '^(1|2)|(09)|(05)\.|(1|2)|(09)|(05)\. '
192.168.0.1
240.5.333.2
172.16.30.30
10.5.3.68
10.0.164.3
asd.234.dsf.324
14:11:38
#cat ip.txt | egrep '^(1|2)|(09)|(05)\.|(1|2)|(09)|(05)\.(1|2)|(09)|(05)\.(1|2)|(09)|(05)\. '
192.168.0.1
240.5.333.2
172.16.30.30
10.5.3.68
10.0.164.3
asd.234.dsf.324
14:11:46
#cat ip.txt | egrep '^(1|2)|(09)|(05)\.|(1|2)|(09)|(05)\.(1|2)|(09)|(05)\.(1|2)|(09)|(05)'
192.168.0.1
240.5.333.2
172.16.30.30
10.5.3.68
10.0.164.3
asd.234.dsf.324
14:15:08
#cat ip.txt | egrep '^[1|2](09)(05)\.|(1|2)|(09)|(05)\.(1|2)|(09)|(05)\.(1|2)|(09)|(05)'
192.168.0.1
240.5.333.2
172.16.30.30
10.5.3.68
10.0.164.3
asd.234.dsf.324
14:15:18
#cat ip.txt | egrep '^[1|2](09)(05)\.
>
> l3script: unexpected EOF while looking for matching `''
l3script: ошибка синтаксиса: неожиданный конец файла
14:15:34
#cat ip.txt | egrep '^[1|2](09)(05)\.
                  cat ip.txt | egrep '^[1|2](09)(05)\.
                                     ^[1|2](09)(05)\.
l3script: syntax error near unexpected token `09'
14:15:44
#cat ip.txt | egrep ^[1|2]09(05)\.
l3script: syntax error near unexpected token `05'
14:15:50
#cat ip.txt | egrep ^[1|2]0905\.
l3script: 2]0905.: команда не найдена
egrep: Непарная [ или [^
14:15:54
#cat ip.txt | egrep ^[1|2]
l3script: 2]: команда не найдена
egrep: Непарная [ или [^
14:15:59
#cat ip.txt | egrep '^[1|2]'
192.168.0.1
240.5.333.2
172.16.30.30
10.5.3.68
10.0.164.3
14:16:08
#cat ip.txt | egrep '^[1|2]''0-9
> l3script: unexpected EOF while looking for matching `''
l3script: ошибка синтаксиса: неожиданный конец файла
14:17:03
#cat ip.txt | egrep '^[1|2]''0-9'

14:17:06
#cat ip.txt | egrep '^[1|2]''09'

14:17:10
#cat ip.txt | egrep '^[1|2]'(0.9)
l3script: syntax error near unexpected token `('
14:17:22
#cat ip.txt | egrep '^[1|2](0.9)
> ^C
14:17:31
#cat ip.txt | egrep '^[1|2](0.9)'

14:17:36
#cat ip.txt | egrep '^[1|2][0.9]'
192.168.0.1
10.5.3.68
10.0.164.3
14:17:49
#cat ip.txt | egrep '^[1|2]{0,9}'
192.168.0.1
500.8.4.5
240.5.333.2
a.4.4.9
172.16.30.30
4.6.70
10.5.3.68
10.0.164.3
asd.234.dsf.324
876.dsf.978.sfd
14:18:30
#cat ip.txt | egrep '^[1|2]{09}'

14:18:41
#cat ip.txt | egrep '^[1|2](09)'

14:18:49
#cat ip.txt | egrep '^[1|2](09)\.
> l3script: unexpected EOF while looking for matching `''
l3script: ошибка синтаксиса: неожиданный конец файла
14:20:40
#cat ip.txt | egrep ^[1|2](09)\.
l3script: syntax error near unexpected token `09'
14:20:44
#cat ip.txt | egrep ^[1|2]09\.
l3script: 2]09.: команда не найдена
egrep: Непарная [ или [^
14:20:49
#cat ip.txt | egrep [1|2]09\.
l3script: 2]09.: команда не найдена
egrep: Непарная [ или [^
14:20:56
#cat ip.txt | egrep (^[1|2]09\.)
l3script: syntax error near unexpected token `^[1'
14:21:06
#cat ip.txt | egrep (^[1|2]\.)
l3script: syntax error near unexpected token `^[1'
14:21:11
#cat ip.txt | egrep '^[1|2]\.
>
> l3script: unexpected EOF while looking for matching `''
l3script: ошибка синтаксиса: неожиданный конец файла
14:21:24
#cat ip.txt | egrep '^[1|2]\.
                                     (^[1|2]\.)
                                     ^[1|2]09\.
l3script: 2]09.: команда не найдена
egrep: Непарная [ или [^
14:21:28
#cat ip.txt | egrep ^[1|2](25[0-5])\.
l3script: syntax error near unexpected token `25[0-5]'
14:22:13
#cat ip.txt | egrep ^[1|2](25[0-5])\.
l3script: syntax error near unexpected token `25[0-5]'
прошло 12 минут
14:35:01
#cat ip.txt | awk -F. '$1>=0 && $1<256 && $2>=0 && $2<256 && $3>=0 && $3<256
>
> l3script: unexpected EOF while looking for matching `''
l3script: ошибка синтаксиса: неожиданный конец файла
14:36:16
#cat ip.txt | awk -F. '$1>=0 && $1<256 && $2>=0 && $2<256 && $3>=0 && $3<256
                                                                                             '
192.168.0.1
172.16.30.30
4.6.70
10.5.3.68
10.0.164.3
14:36:38
#cat ip.txt | awk -F. '$1>=0 && $1<256 && $2>=0 && $2<256 && $3>=0 && $3<256 $$ $4>=0 && $4<256'
192.168.0.1
240.5.333.2
172.16.30.30
4.6.70
10.5.3.68
10.0.164.3
14:37:43
#cat ip.txt | awk -F. '$1>=0 && $1<256 && $2>=0 && $2<256 && $3>=0 && $3<256 $$ $4>=0 && $4<256'
192.168.0.1
240.5.333.2
172.16.30.30
4.6.70
10.5.3.68
10.0.164.3
14:38:36
#cat ip.txt | awk -F. '$1>=0 && $1<256 && $2>=0 && $2<256 && $3>=0 && $3<256 && $4>=0 && $4<256'
192.168.0.1
172.16.30.30
10.5.3.68
10.0.164.3
14:44:34
#cat passwd | sed -n '/sh$/p'
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
user:x:1000:1000:user,,,:/home/user:/bin/bash
ivan:x:1001:1001::/home/ivan:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
14:50:19
#cat passwd | sed -n '/\/sh$/p'
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
14:52:38
=$2<=>$3<=>$4>=0 local_session_id=30876203411825421895-1496818569 nonce=19059 pid=6537 prompt=# pwd=/root raw_end=157868 raw_file=/root/.lilalo/30876203411825421895-1496818569.script raw_output_start=157078 raw_start=156196 tab_seq=0 time=1496839958 uid=0' class='prompt'>#<>=$2<=>$3<=>$4>=0 && $1<256 && $2<256 && $3<256 && $4<256 && NF==4'
                               tr '.' '-'
192-168-0-1
500-8-4-5
240-5-333-2
a-4-4-9
172-16-30-30
4-6-70
10-5-3-68
10-0-164-3
asd-234-dsf-324
876-dsf-978-sfd
14:56:50
#cat ip.txt | tr '-' '.'
192.168.0.1
500.8.4.5
240.5.333.2
a.4.4.9
172.16.30.30
4.6.70
10.5.3.68
10.0.164.3
asd.234.dsf.324
876.dsf.978.sfd
14:56:57
#cat ip.txt | tr '.' ' '
192 168 0 1
500 8 4 5
240 5 333 2
a 4 4 9
172 16 30 30
4 6 70
10 5 3 68
10 0 164 3
asd 234 dsf 324
876 dsf 978 sfd
14:57:13
#cat ip.txt | tr '.' '======>'
192=168=0=1
500=8=4=5
240=5=333=2
a=4=4=9
172=16=30=30
4=6=70
10=5=3=68
10=0=164=3
asd=234=dsf=324
876=dsf=978=sfd
14:57:26
#cat ip.txt | tr '=' '.'
192.168.0.1
500.8.4.5
240.5.333.2
a.4.4.9
172.16.30.30
4.6.70
10.5.3.68
10.0.164.3
asd.234.dsf.324
876.dsf.978.sfd
14:57:42
#'
                                                       '
                               egrep '^[1|2]\.
                                     (^[1|2]\.)
                                     '^[1|2](09)(05)\.
                                                      |(1|2)|(09)|(05)\.(1|2)|(09)|(05)\.(1|2)|(09)|(05)'
                                      ^[1{0,3}
                                         234567890]{0,3}'|([0-9]{1,3})|([0-9]{1,3})|([0-9]{1,3})
cat ip.txt | egrepls
install  ip.txt  passwd
прошло 11 минут
15:09:17
#cd

15:09:23
#ls
install  ip.txt  passwd
15:09:25
#cat install
#!/bin/sh
hostname=`hostname`
uname -a | egrep -qi '(freebsd|darwin)' || hostname=`hostname -f`
###############################################################################
#
# Set this variables before installation:
lilalo_user=13-10-2014
lab=NT-LNet
install_l3bashrc_for_this_users=${users:-"root user"}  # users who will use l3agent and l3script
lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
...
step "Downloading l3prompt" ${wget} ${url_l3prompt}
step "Downloading l3-agent" '${wget} ${url_l3agent}; ${wget} ${url_l3config_pm}; ${wget} ${url_l3config}'
step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
step "Adding l3-agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_l3bashrc_for_this_users
cd /
rm -rf ${temp_dir}
show_final_message
15:09:33
#cat install | tr '=' ' '
#!/bin/sh
hostname `hostname`
uname -a | egrep -qi '(freebsd|darwin)' || hostname `hostname -f`
###############################################################################
#
# Set this variables before installation:
lilalo_user 13-10-2014
lab NT-LNet
install_l3bashrc_for_this_users ${users:-"root user"}  # users who will use l3agent and l3script
lilalo_context "/users/${lilalo_user}/${lab}/${hostname}"
...
step "Downloading l3prompt" ${wget} ${url_l3prompt}
step "Downloading l3-agent" '${wget} ${url_l3agent}; ${wget} ${url_l3config_pm}; ${wget} ${url_l3config}'
step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
step "Adding l3-agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_l3bashrc_for_this_users
cd /
rm -rf ${temp_dir}
show_final_message
15:11:02
#cat install | tr '_' ' '
#!/bin/sh
hostname=`hostname`
uname -a | egrep -qi '(freebsd|darwin)' || hostname=`hostname -f`
###############################################################################
#
# Set this variables before installation:
lilalo user=13-10-2014
lab=NT-LNet
install l3bashrc for this users=${users:-"root user"}  # users who will use l3agent and l3script
lilalo context="/users/${lilalo user}/${lab}/${hostname}"
...
step "Downloading l3prompt" ${wget} ${url l3prompt}
step "Downloading l3-agent" '${wget} ${url l3agent}; ${wget} ${url l3config pm}; ${wget} ${url l3config}'
step "Downloading perl modules for l3-agent" '{ for i in ${perl modules}; do ${wget} ${url perl modules}/$i.tar.gz; done; }'
step "Installing perl modules for l3-agent" '{ for i in ${perl modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install to users homes $install l3bashrc for this users
step "Adding l3bashrc invocation to ~/.bashrc " install to users bashrc $install l3bashrc for this users
step "Adding l3-agent invocation to ~/.bash profile " install to users bash profile $install l3bashrc for this users
cd /
rm -rf ${temp dir}
show final message
15:11:11
#cat install | tr '=' ' '
#!/bin/sh
hostname `hostname`
uname -a | egrep -qi '(freebsd|darwin)' || hostname `hostname -f`
###############################################################################
#
# Set this variables before installation:
lilalo_user 13-10-2014
lab NT-LNet
install_l3bashrc_for_this_users ${users:-"root user"}  # users who will use l3agent and l3script
lilalo_context "/users/${lilalo_user}/${lab}/${hostname}"
...
step "Downloading l3prompt" ${wget} ${url_l3prompt}
step "Downloading l3-agent" '${wget} ${url_l3agent}; ${wget} ${url_l3config_pm}; ${wget} ${url_l3config}'
step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
step "Adding l3-agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_l3bashrc_for_this_users
cd /
rm -rf ${temp_dir}
show_final_message
15:11:22
#cat install | tr '_' ' '
#!/bin/sh
hostname=`hostname`
uname -a | egrep -qi '(freebsd|darwin)' || hostname=`hostname -f`
###############################################################################
#
# Set this variables before installation:
lilalo user=13-10-2014
lab=NT-LNet
install l3bashrc for this users=${users:-"root user"}  # users who will use l3agent and l3script
lilalo context="/users/${lilalo user}/${lab}/${hostname}"
...
step "Downloading l3prompt" ${wget} ${url l3prompt}
step "Downloading l3-agent" '${wget} ${url l3agent}; ${wget} ${url l3config pm}; ${wget} ${url l3config}'
step "Downloading perl modules for l3-agent" '{ for i in ${perl modules}; do ${wget} ${url perl modules}/$i.tar.gz; done; }'
step "Installing perl modules for l3-agent" '{ for i in ${perl modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install to users homes $install l3bashrc for this users
step "Adding l3bashrc invocation to ~/.bashrc " install to users bashrc $install l3bashrc for this users
step "Adding l3-agent invocation to ~/.bash profile " install to users bash profile $install l3bashrc for this users
cd /
rm -rf ${temp dir}
show final message
15:11:29
#cat install | tr '_' ' '
#!/bin/sh
hostname=`hostname`
uname -a | egrep -qi '(freebsd|darwin)' || hostname=`hostname -f`
###############################################################################
#
# Set this variables before installation:
lilalo user=13-10-2014
lab=NT-LNet
install l3bashrc for this users=${users:-"root user"}  # users who will use l3agent and l3script
lilalo context="/users/${lilalo user}/${lab}/${hostname}"
...
step "Downloading l3prompt" ${wget} ${url l3prompt}
step "Downloading l3-agent" '${wget} ${url l3agent}; ${wget} ${url l3config pm}; ${wget} ${url l3config}'
step "Downloading perl modules for l3-agent" '{ for i in ${perl modules}; do ${wget} ${url perl modules}/$i.tar.gz; done; }'
step "Installing perl modules for l3-agent" '{ for i in ${perl modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install to users homes $install l3bashrc for this users
step "Adding l3bashrc invocation to ~/.bashrc " install to users bashrc $install l3bashrc for this users
step "Adding l3-agent invocation to ~/.bash profile " install to users bash profile $install l3bashrc for this users
cd /
rm -rf ${temp dir}
show final message
15:11:30
#cat install | tr '_' ' '
#!/bin/sh
hostname=`hostname`
uname -a | egrep -qi '(freebsd|darwin)' || hostname=`hostname -f`
###############################################################################
#
# Set this variables before installation:
lilalo user=13-10-2014
lab=NT-LNet
install l3bashrc for this users=${users:-"root user"}  # users who will use l3agent and l3script
lilalo context="/users/${lilalo user}/${lab}/${hostname}"
...
step "Downloading l3prompt" ${wget} ${url l3prompt}
step "Downloading l3-agent" '${wget} ${url l3agent}; ${wget} ${url l3config pm}; ${wget} ${url l3config}'
step "Downloading perl modules for l3-agent" '{ for i in ${perl modules}; do ${wget} ${url perl modules}/$i.tar.gz; done; }'
step "Installing perl modules for l3-agent" '{ for i in ${perl modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install to users homes $install l3bashrc for this users
step "Adding l3bashrc invocation to ~/.bashrc " install to users bashrc $install l3bashrc for this users
step "Adding l3-agent invocation to ~/.bash profile " install to users bash profile $install l3bashrc for this users
cd /
rm -rf ${temp dir}
show final message
15:11:31
#cat install | tr '_' ' '
#!/bin/sh
hostname=`hostname`
uname -a | egrep -qi '(freebsd|darwin)' || hostname=`hostname -f`
###############################################################################
#
# Set this variables before installation:
lilalo user=13-10-2014
lab=NT-LNet
install l3bashrc for this users=${users:-"root user"}  # users who will use l3agent and l3script
lilalo context="/users/${lilalo user}/${lab}/${hostname}"
...
step "Downloading l3prompt" ${wget} ${url l3prompt}
step "Downloading l3-agent" '${wget} ${url l3agent}; ${wget} ${url l3config pm}; ${wget} ${url l3config}'
step "Downloading perl modules for l3-agent" '{ for i in ${perl modules}; do ${wget} ${url perl modules}/$i.tar.gz; done; }'
step "Installing perl modules for l3-agent" '{ for i in ${perl modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install to users homes $install l3bashrc for this users
step "Adding l3bashrc invocation to ~/.bashrc " install to users bashrc $install l3bashrc for this users
step "Adding l3-agent invocation to ~/.bash profile " install to users bash profile $install l3bashrc for this users
cd /
rm -rf ${temp dir}
show final message
15:11:31
#cat install | tr '_' ' '
#!/bin/sh
hostname=`hostname`
uname -a | egrep -qi '(freebsd|darwin)' || hostname=`hostname -f`
###############################################################################
#
# Set this variables before installation:
lilalo user=13-10-2014
lab=NT-LNet
install l3bashrc for this users=${users:-"root user"}  # users who will use l3agent and l3script
lilalo context="/users/${lilalo user}/${lab}/${hostname}"
...
step "Downloading l3prompt" ${wget} ${url l3prompt}
step "Downloading l3-agent" '${wget} ${url l3agent}; ${wget} ${url l3config pm}; ${wget} ${url l3config}'
step "Downloading perl modules for l3-agent" '{ for i in ${perl modules}; do ${wget} ${url perl modules}/$i.tar.gz; done; }'
step "Installing perl modules for l3-agent" '{ for i in ${perl modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install to users homes $install l3bashrc for this users
step "Adding l3bashrc invocation to ~/.bashrc " install to users bashrc $install l3bashrc for this users
step "Adding l3-agent invocation to ~/.bash profile " install to users bash profile $install l3bashrc for this users
cd /
rm -rf ${temp dir}
show final message
15:11:33
#cat install | tr '-' ' '
#!/bin/sh
hostname=`hostname`
uname  a | egrep  qi '(freebsd|darwin)' || hostname=`hostname  f`
###############################################################################
#
# Set this variables before installation:
lilalo_user=13 10 2014
lab=NT LNet
install_l3bashrc_for_this_users=${users: "root user"}  # users who will use l3agent and l3script
lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
...
step "Downloading l3prompt" ${wget} ${url_l3prompt}
step "Downloading l3 agent" '${wget} ${url_l3agent}; ${wget} ${url_l3config_pm}; ${wget} ${url_l3config}'
step "Downloading perl modules for l3 agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
step "Installing perl modules for l3 agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
step "Adding l3 agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_l3bashrc_for_this_users
cd /
rm  rf ${temp_dir}
show_final_message

Файлы

  • install
  • install
    >
    #!/bin/sh
    hostname=`hostname`
    uname -a | egrep -qi '(freebsd|darwin)' || hostname=`hostname -f`
    ###############################################################################
    #
    # Set this variables before installation:
    lilalo_user=13-10-2014
    lab=NT-LNet
    install_l3bashrc_for_this_users=${users:-"root user"}  # users who will use l3agent and l3script
    lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
    #
    ###############################################################################
    lilalo_rc=.l3rc
    lilalo_home=.lilalo
    url_lilalo="http://xgu.ru/lilalo"
    url_l3bashrc="${url_lilalo}"/l3bashrc
    url_l3agent="${url_lilalo}"/l3-agent
    url_l3config_pm="${url_lilalo}"/l3config.pm
    url_l3config="${url_lilalo}"/l3-config
    url_l3prompt="${url_lilalo}"/l3prompt
    url_perl_modules=${url_lilalo}/
    perl_modules="Term-VT102 Text-Iconv"
    apt_get_install_this="perl make libmodule-build-perl libc6-dev gcc"
    wget=wget
    uname -a | egrep -qi '(bsd|darwin)' && wget=fetch
    normC='\033[0;39m'
    whiteC='\033[1;37m'
    redC='\033[0;31m'
    greenC='\033[0;32m'
    apt_get_install_deps()
    {
        return 0
        if which apt-get >& /dev/null
        then
            apt-get install -y $apt_get_install_this
        else
            echo "Please install this dependencies manually:"
            echo $apt_get_install_this
            echo "Have you installed this already (y/n)?"
            echo y | read answer
            if echo $answer | grep -q ^[yY]
            then
                true
            else
                echo Please install the dependencies and rerun the script
                exit 1
            fi
        fi
    }
    step()
    {
        msg="$1"
        shift
        printf "${whiteC}""$msg""...${normC}\n"
    #    eval "$@" 2>&1 | sed 's/^/|\ \ \ /' && printf "Ok\n" || printf "Failed\n"
        eval "$@" 2>&1 > log 2>&1 && \
        {
              cat log | sed 's/^/|\ \ \ /'
              printf "${greenC}""Ok\n""${normC}"
        } || \
        {
            cat log | sed 's/^/|\ \ \ /'
            printf "${redC}""Failed\n""${normC}"
        }
    }
    get_user_home()
    {
        uname -a | egrep -qi '(freebsd|darwin)' && pw user show "$@"| awk -F: '{print $9}' || getent passwd "$@"| awk -F: '{print $6}'
    }
    install_to_users_homes()
    {
        . l3bashrc
        users="$@"
        set -x
        for user in $users
        do
            user_home=`get_user_home "$user"`
            mkdir -p ${user_home}/${lilalo_home}
            mkdir /etc/lilalo/
            cp l3config.pm /etc/lilalo/
            cp l3-agent /usr/local/bin
            cp l3-config /usr/local/bin
            ln -s `which bash` /usr/local/bin/l3script
            chmod 755 /usr/local/bin/l3-{agent,config}
            cp l3bashrc ${user_home}/${lilalo_home}
            cp l3prompt ${user_home}/${lilalo_home}
            chmod 755 ${user_home}/${lilalo_home}/l3prompt
            chown -R $user ${user_home}/${lilalo_home}
            echo l3cd=${lilalo_context}/$user > ${user_home}/${lilalo_rc}
            chown -R $user ${user_home}/${lilalo_rc}
        done
        set +x
    }
    install_to_users_bashrc()
    {
        users="$@"
        for user in $users
        do
            user_home=`get_user_home "$user"`
            grep -q lilalo ${user_home}/.bashrc 2> /dev/null\
            || echo "[ \$0 == l3script ] && . ${user_home}/.lilalo/l3bashrc && _l3_start" >> ${user_home}/.bashrc; chown -R ${user} ${user_home}/.bashrc
        done
    }
    install_to_users_bash_profile()
    {
        users="$@"
        for user in $users
        do
            user_home=`get_user_home "$user"`
            grep -q l3-agent ${user_home}/.bash_profile 2> /dev/null \
            || { echo >> ${user_home}/.bash_profile ; cat ${user_home}/.bash_profile | sed '1s/^/l3-agentX/' | tr X '\n' > /tmp/$$$$l3 ; mv /tmp/$$$$l3 ${user_home}/.bash_profile; chown -R ${user} ${user_home}/.bash_profile; }
        done
    }
    show_usage()
    {
        cat <<USAGE
    Usage:
        $0
    USAGE
    }
    show_final_message()
    {
        cat <<FINAL_MESSAGE
    Installation is successfully completed.
    Now restart your shell or relogin
    to start script writing.
    Your current lilalo context is ${lilalo_context}/USER
    If you use xgu.ru backend, your labs will be available at
    http://xgu.ru/l3/${lilalo_context}
    Use commands
     $ l3cd ${lilalo_context%/*/*}/MY-NEW-CONTEXT/${hostname}/USER
     $ l3pwd
    to change and to know your current context.
    For further information see http://xgu.ru/lilalo/ (in Russian).
    Thank you gor using LiLaLo.
    Happy Labbing!
    (don't forget to restart bash or relogin)
    FINAL_MESSAGE
    }
    temp_dir=/tmp/lilalo-install-temp-$$
    mkdir -p ${temp_dir}
    cd ${temp_dir}
    step "Installing dependencies" apt_get_install_deps
    step "Downloading l3bashrc" ${wget} ${url_l3bashrc}
    step "Downloading l3prompt" ${wget} ${url_l3prompt}
    step "Downloading l3-agent" '${wget} ${url_l3agent}; ${wget} ${url_l3config_pm}; ${wget} ${url_l3config}'
    step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
    step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
    step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
    step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
    step "Adding l3-agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_l3bashrc_for_this_users
    cd /
    rm -rf ${temp_dir}
    show_final_message
    

    Статистика

    Время первой команды журнала13:55:06 2017- 6- 7
    Время последней команды журнала15:11:33 2017- 6- 7
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %23.76
    Процент синтаксически неверно набранных команд, %12.87
    Суммарное время работы с терминалом *, час 1.27
    Количество командных строк в единицу времени, команда/мин 1.32
    Частота использования команд
    cat97|======================| 22.82%
    egrep76|=================| 17.88%
    sort17|====| 4.00%
    tr13|===| 3.06%
    2)11|==| 2.59%
    ([0-9]{1,3})10|==| 2.35%
    (09)10|==| 2.35%
    (17|=| 1.65%
    2566|=| 1.41%
    &6|=| 1.41%
    =06|=| 1.41%
    $3<6|=| 1.41%
    $2<6|=| 1.41%
    (05)\.6|=| 1.41%
    $1<6|=| 1.41%
    55|=| 1.18%
    awk5|=| 1.18%
    45|=| 1.18%
    $2>5|=| 1.18%
    85|=| 1.18%
    95|=| 1.18%
    35|=| 1.18%
    65|=| 1.18%
    $3>5|=| 1.18%
    25|=| 1.18%
    75|=| 1.18%
    ([0-9]{1,3})'4|| 0.94%
    $4<4|| 0.94%
    (05)\.(13|| 0.71%
    256'3|| 0.71%
    (05)'3|| 0.71%
    2](09)(05)\.3|| 0.71%
    Частота использования этих команд < 0.5%2](25[0-5])\.2 , 2]09\.2 , 2]\.2 , 2](09)\.2 , 2)'2 , ([0-9]\{1,3}\.)2 , '2 , ([0-9]\.)2 , sed2 , 0'2 , 2'2 , $4>2 , =>1 , ('1 , 0\,1 , 2)21 , cd1 , 0]'1 , (05)\.)1 , 2](0.9)'1 , 2][0.9]'1 , (05)\.'1 , >1 , 2]\.)1 , (05)1 , 0]1 , 2]'1 , ([0-9]\.)+([0-9]\.)+([0-9]\.)'1 , NF==4'1 , '(2)'1 , 2]''0-91 , 2](09)'1 , ([0-9]1 , 2]09\.)1 , 2]'(0.9)1 , 2]0905\.1 , 2]{09}'1 , 2]''0-9'1 , ls1 , "(2)"1 , ([0-9])'1 , '2'1 , <1 , 2]''09'1 , 3'1 , 2]09(05)\.1 , {1,3}\.)1 , 2]{0,9}'1 , (2)1 , (091 , 05)'1 , 2](0.9)1 , 2]1 , =$2<1 , ([0-9]\.)'1
    ____
    *) Интервалы неактивности длительностью 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$