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

Содержание

Журнал

Среда (07/09/08)

/dev/ttyp1
10:33:39
#echo $B
123
10:33:45
#su - user
l3-agent is already running: pid=86947; pidfile=/home/user/.lilalo/l3-agent.pid
10:33:54
$su -
Password:
l3-agent is already running: pid=20698; pidfile=/root/.lilalo/l3-agent.pid
/dev/ttyp7
10:33:58
#echo $B

/dev/ttyp1
10:33:58
#echo $B

10:34:02
#exit
exit
10:34:19
$exit
exit
10:34:21
#echo $B
123
10:34:32
#echo $TTY

10:35:19
#echo $
$A                    $HOME                 $PWD
$B                    $HOSTNAME             $RANDOM
$BASH                 $HOSTTYPE             $SECONDS
$BASH_ARGC            $IFS                  $SHELL
$BASH_ARGV            $L3_HOME              $SHELLOPTS
$BASH_COMMAND         $L3_PARENT_TTY        $SHLVL
$BASH_COMPLETION      $L3_SESSION_ID        $SSH_CLIENT
$BASH_COMPLETION_DIR  $L3_TAMPERED_EDITORS  $SSH_CONNECTION
$BASH_LINENO          $LANG                 $SSH_TTY
$BASH_SOURCE          $LINENO               $STY
...
$DIFFNAME             $OLDPWD               $_
$DIR                  $OPTERR               $bash205
$DIRSTACK             $OPTIND               $bash205b
$EUID                 $OSTYPE               $bash3
$FTP_PASSIVE_MODE     $PATH                 $editor_file
$GROUPS               $PIPESTATUS           $editor_name
$HISTCMD              $PPID                 $i
$HISTFILE             $PS1                  $old_file
$HISTFILESIZE         $PS2
$HISTSIZE             $PS4
10:35:19
#echo $STY
58063.ttyp4.fbsd1
10:35:58
#ps aux | grep 58063
root  58063  0.0  0.2  2104  1764  ??  Rs    3:10PM   0:01.02 screen
10:36:33
#declare -r D=1

10:36:43
#D=2
bash: D: readonly variable
10:36:46
#unset D
bash: unset: D: cannot unset: readonly variable
10:36:50
#unset B

10:36:54
#unset A

10:36:55
#unset -f D

10:37:08
#A=0

10:37:24
#while [ A -lt 10 ]
> do
> A=$((A+1)); echo $A ; done
bash: [: A: integer expression expected
10:37:51
#while test $A -lt 10 ; do A=$((A+1)); echo $A ; done
1
2
3
4
5
6
7
8
9
10
10:38:09
#while test $A -lt 10 ; do A=$((A++)); echo $A ; done

10:38:26
#while test $A -lt 10 ; do A=$((A+1)); echo $A ; done

10:38:31
#A=0

10:38:35
#while test $A -lt 10 ; do A=$((A++)); echo $A ; done
0
0
0
0
0
0
0
0
0
0
...
0
0
0
0
0
0
0
0
0
^C
10:38:42
#while test $A -lt 10 ; do A=$((A+1)); echo $A ; done
1
2
3
4
5
6
7
8
9
10
10:38:44
#echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin
10:41:08
#echo $
$A                    $HOME                 $PWD
$BASH                 $HOSTNAME             $RANDOM
$BASH_ARGC            $HOSTTYPE             $SECONDS
$BASH_ARGV            $IFS                  $SHELL
$BASH_COMMAND         $L3_HOME              $SHELLOPTS
$BASH_COMPLETION      $L3_PARENT_TTY        $SHLVL
$BASH_COMPLETION_DIR  $L3_SESSION_ID        $SSH_CLIENT
$BASH_LINENO          $L3_TAMPERED_EDITORS  $SSH_CONNECTION
$BASH_SOURCE          $LANG                 $SSH_TTY
$BASH_SUBSHELL        $LINENO               $STY
...
$DIFFNAME             $OLDPWD               $_
$DIR                  $OPTERR               $bash205
$DIRSTACK             $OPTIND               $bash205b
$EUID                 $OSTYPE               $bash3
$FTP_PASSIVE_MODE     $PATH                 $editor_file
$GROUPS               $PIPESTATUS           $editor_name
$HISTCMD              $PPID                 $i
$HISTFILE             $PS1                  $old_file
$HISTFILESIZE         $PS2
$HISTSIZE             $PS4
10:41:08
#echo $LANG
C
10:45:58
#echo $ps1

10:46:19
#echo $PS1

10:46:24
#echo $PS2
>
10:46:49
#echo $PS3

10:46:52
#echo $PS1

10:46:56
#echo $SHELL
/usr/local/bin/bash
10:47:24
#PS2=2

10:47:51
#echo $PS2
2
10:48:02
#echo $OSTYPE
freebsd6.3
10:48:29
#echo $BROWSER

10:50:05
#echo $UID
0
10:51:22
#cd

10:52:00
#ls
.ICEauthority           .k5login                .ssh
.Xauthority             .l3rc                   .twmdWiGYA
.bash_history           .lesshst                .vnc
.bash_profile           .lilalo                 .xsession-errors
.bashrc                 .login                  install
.config                 .profile                mbox
.cshrc                  .prxnEMfXw
.history                .recently-used.xbel
10:52:01
#vim bashrc
10:52:21
#~
.ICEauthority           .k5login                .ssh
.Xauthority             .l3rc                   .twmdWiGYA
.bash_history           .lesshst                .vnc
.bash_profile           .lilalo                 .xsession-errors
.bashrc                 .login                  install
.config                 .profile                mbox
.cshrc                  .prxnEMfXw
.history                .recently-used.xbel
10:52:24
#vim .bashrc
10:53:34
#~
.ICEauthority           .k5login                .ssh
.Xauthority             .l3rc                   .twmdWiGYA
.bash_history           .lesshst                .vnc
.bash_profile           .lilalo                 .xsession-errors
.bashrc                 .login                  install
.config                 .profile                mbox
.cshrc                  .prxnEMfXw
.history                .recently-used.xbel
10:53:38
#echo $BROWSER

10:56:39
#lynx ya.ru
10:57:13
#w3m ya.ru
bash: w3m: command not found
10:57:17
#pkg_add -r lynx
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.3-release/Latest/lynx.tbz... Done.
10:59:52
#lynx ya.ru
прошло 11 минут
11:11:14
#echo $PS1

прошло 17 минут
11:28:39
#test --help

11:35:41
#test -h

11:35:46
#man test
11:36:04
#test -w /etc/passwd ; echo $?
0
11:36:17
#test -d /etc/passwd ; echo $?
1
11:36:24
#test -f /etc/passwd ; echo $?
0
11:36:48
#test -e /etc/passwd ; echo $?
0
11:36:54
#test -r /etc/passwd ; echo $?
0
11:37:00
#test -b /etc/passwd ; echo $?
1
11:37:03
#test -b /etc/passwd

11:37:10
#exho $?
bash: exho: command not found
11:37:17
#echo $?
127
11:37:20
#test -b /etc/passwd

11:37:27
#echo $?
1
11:37:28
#test 10 -lt 11 && echo Rigth || echo "Do not rigth" ; echo "Vse
rav
Rigth
Vse ravno
11:39:25
#test 12
Do not rigth
Vse ravno
11:42:40
#lynx http://en.wikipedia.org/wiki/Test_(Unix)
11:42:49
#lynx http://en.wikipedia.org/wiki/Test_\(Unix\)
11:44:00
#test -d /etc/passwd -a -r /etc/passwd ; echo $?
1
11:44:31
#test -e /etc/passwd -a -r /etc/passwd ; echo $?
0
11:44:40
#test ! -d /etc/passwd -a -r /etc/passwd ; echo $?
0
11:44:50
#test -d /etc/passwd -a -r /etc/passwd ; echo $?
1
11:48:43
#cd /tmp

11:48:47
#vim for1
--- /dev/null	2008-07-09 11:49:34.000000000 +0300
+++ for1	2008-07-09 11:49:34.000000000 +0300
@@ -0,0 +1,2 @@
+#!/usr/local/bin/bash
+f
11:49:34
#vim ~/.vimrc
--- /dev/null	2008-07-09 11:49:49.000000000 +0300
+++ /root/.vimrc	2008-07-09 11:49:49.000000000 +0300
@@ -0,0 +1,3 @@
+syntax on
+set number
+
11:49:49
#vim for1
--- /tmp/l3-saved-58102.10765.10289	2008-07-09 11:49:50.000000000 +0300
+++ for1	2008-07-09 11:50:38.000000000 +0300
@@ -1,2 +1,5 @@
 #!/usr/local/bin/bash
-f
+for i in Kiev Moscow Lviv
+do
+echo $i
+done
11:50:38
#chmod a+x for1

11:50:44
#./for1
Kiev
Moscow
Lviv
11:50:51
#vim for1
--- /tmp/l3-saved-58102.17699.20421	2008-07-09 11:51:00.000000000 +0300
+++ for1	2008-07-09 11:51:30.000000000 +0300
@@ -1,5 +1,5 @@
 #!/usr/local/bin/bash
-for i in Kiev Moscow Lviv
+for i in "Kiev Moscow Lviv"
 do
 echo $i
 done
11:51:30
#./for1
Kiev Moscow Lviv
11:51:30
#cat /etc/passwd
# $FreeBSD: src/etc/master.passwd,v 1.40 2005/06/06 20:19:56 brooks Exp $
#
root:*:0:0:Charlie &:/root:/usr/local/bin/bash
toor:*:0:0:Bourne-again Superuser:/root:
daemon:*:1:1:Owner of many system processes:/root:/usr/sbin/nologin
operator:*:2:5:System &:/:/usr/sbin/nologin
bin:*:3:7:Binaries Commands and Source:/:/usr/sbin/nologin
tty:*:4:65533:Tty Sandbox:/:/usr/sbin/nologin
kmem:*:5:65533:KMem Sandbox:/:/usr/sbin/nologin
games:*:7:13:Games pseudo-user:/usr/games:/usr/sbin/nologin
...
_dhcp:*:65:65:dhcp programs:/var/empty:/usr/sbin/nologin
uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/local/libexec/uucp/uucico
pop:*:68:6:Post Office Owner:/nonexistent:/usr/sbin/nologin
www:*:80:80:World Wide Web Owner:/nonexistent:/usr/sbin/nologin
nobody:*:65534:65534:Unprivileged user:/nonexistent:/usr/sbin/nologin
messagebus:*:556:556:D-BUS Daemon User:/nonexistent:/sbin/nologin
polkit:*:562:562:PolicyKit Daemon User:/nonexistent:/sbin/nologin
avahi:*:558:558:Avahi Daemon User:/nonexistent:/sbin/nologin
gdm:*:92:92:GNOME Display Manager:/nonexistent:/sbin/nologin
user:*:1001:0:User &:/home/user:/usr/local/bin/bash
11:51:47
#joh
bash: joh: command not found
11:52:07
#man bash
11:53:14
#jot
usage: jot [-cnr] [-b word] [-w word] [-s string] [-p precision]
           [reps [begin [end [s]]]]
11:53:17
#jot 10 15
15
16
17
18
19
20
21
22
23
24
11:53:25
#jot 5 15
15
16
17
18
19
11:53:30
#jot 5 10
10
11
12
13
14
11:53:34
#jot 6 10
10
11
12
13
14
15
11:53:37
#chpass
Gid [# or name]: 0
Change [month day year]:
Expire [month day year]:
Class: russian
Home directory: /root
Shell: /usr/local/bin/bash
Full Name: Charlie &
Office Location:
Office Phone:
Home Phone:
Other information:
~
~
~
~
~
~
~
~
:q!
chpass: user information unchanged
11:54:17
#chpass
Gid [# or name]: 0
Change [month day year]:
Expire [month day year]:
Class: russian
Home directory: /root
Shell: /usr/local/bin/bash
Full Name: Charlie &
Office Location:
Office Phone:
Home Phone:
Other information:
~
~
~
~
~
~
~
~
:q!
chpass: user information unchanged
11:54:58
#vim for2
--- /dev/null	2008-07-09 11:55:27.000000000 +0300
+++ for2	2008-07-09 11:55:35.000000000 +0300
@@ -0,0 +1 @@
+#!/usr/local/bin/bash
11:55:35
#vim for2
--- /tmp/l3-saved-58102.5072.30287	2008-07-09 11:55:36.000000000 +0300
+++ for2	2008-07-09 11:57:40.000000000 +0300
@@ -1 +1,5 @@
 #!/usr/local/bin/bash
+set -x
+for i in `jot 100 0`
+do pw user add user$i -s /usr/local/bin/bash -L russian -m -d /home/user$i ; chpass -p "\$1\$gi4.dgMH$Ifm9bzNLOTcLwJ8SAGEtV." user$i
+done
11:57:40
#chpass
Gid [# or name]: 0
Change [month day year]:
Expire [month day year]:
Class: russian
Home directory: /root
Shell: /usr/local/bin/bash
Full Name: Charlie &
Office Location:
Office Phone:
Home Phone:
Other information:
~
~
~
~
~
~
~
~
:q!
chpass: user information unchanged
11:58:10
#vim for2
--- /tmp/l3-saved-58102.17666.19611	2008-07-09 11:58:15.000000000 +0300
+++ for2	2008-07-09 11:58:40.000000000 +0300
@@ -1,5 +1,7 @@
 #!/usr/local/bin/bash
 set -x
 for i in `jot 100 0`
-do pw user add user$i -s /usr/local/bin/bash -L russian -m -d /home/user$i ; chpass -p "\$1\$gi4.dgMH$Ifm9bzNLOTcLwJ8SAGEtV." user$i
+do pw user add user$i -s /usr/local/bin/bash \
+-L russian -m -d /home/user$i ;\
+chpass -p "\$1\$gi4.dgMH$Ifm9bzNLOTcLwJ8SAGEtV." user$i
 done
11:58:40
#chmod +x for2

12:00:17
#./for2
chpass: user information updated
+ for i in '`jot 100 0`'
+ pw user add user63 -s /usr/local/bin/bash -L russian -m -d /home/user63
+ chpass -p '$1$gi4.dgMH.' user63
chpass: user information updated
+ for i in '`jot 100 0`'
+ pw user add user64 -s /usr/local/bin/bash -L russian -m -d /home/user64
+ chpass -p '$1$gi4.dgMH.' user64
chpass: user information updated
+ for i in '`jot 100 0`'
...
+ chpass -p '$1$gi4.dgMH.' user97
chpass: user information updated
+ for i in '`jot 100 0`'
+ pw user add user98 -s /usr/local/bin/bash -L russian -m -d /home/user98
+ chpass -p '$1$gi4.dgMH.' user98
chpass: user information updated
+ for i in '`jot 100 0`'
+ pw user add user99 -s /usr/local/bin/bash -L russian -m -d /home/user99
+ chpass -p '$1$gi4.dgMH.' user99
chpass: user information updated
12:02:04
#chpass
Gid [# or name]: 0
Change [month day year]:
Expire [month day year]:
Class: russian
Home directory: /root
Shell: /usr/local/bin/bash
Full Name: Charlie &
Office Location:
Office Phone:
Home Phone:
Other information:
~
~
~
~
~
~
~
~
:q!
chpass: user information unchanged
12:02:17
#vim for2
--- /tmp/l3-saved-58102.859.4729	2008-07-09 12:02:20.000000000 +0300
+++ for2	2008-07-09 12:02:27.000000000 +0300
@@ -3,5 +3,5 @@
 for i in `jot 100 0`
 do pw user add user$i -s /usr/local/bin/bash \
 -L russian -m -d /home/user$i ;\
-chpass -p "\$1\$gi4.dgMH$Ifm9bzNLOTcLwJ8SAGEtV." user$i
+chpass -p "\$1\$gi4.dgMH\$Ifm9bzNLOTcLwJ8SAGEtV." user$i
 done

Файлы

  • /etc/passwd
  • /etc/passwd
    >
    # $FreeBSD: src/etc/master.passwd,v 1.40 2005/06/06 20:19:56 brooks Exp $
    #
    root:*:0:0:Charlie &:/root:/usr/local/bin/bash
    toor:*:0:0:Bourne-again Superuser:/root:
    daemon:*:1:1:Owner of many system processes:/root:/usr/sbin/nologin
    operator:*:2:5:System &:/:/usr/sbin/nologin
    bin:*:3:7:Binaries Commands and Source:/:/usr/sbin/nologin
    tty:*:4:65533:Tty Sandbox:/:/usr/sbin/nologin
    kmem:*:5:65533:KMem Sandbox:/:/usr/sbin/nologin
    games:*:7:13:Games pseudo-user:/usr/games:/usr/sbin/nologin
    news:*:8:8:News Subsystem:/:/usr/sbin/nologin
    man:*:9:9:Mister Man Pages:/usr/share/man:/usr/sbin/nologin
    sshd:*:22:22:Secure Shell Daemon:/var/empty:/usr/sbin/nologin
    smmsp:*:25:25:Sendmail Submission User:/var/spool/clientmqueue:/usr/sbin/nologin
    mailnull:*:26:26:Sendmail Default User:/var/spool/mqueue:/usr/sbin/nologin
    bind:*:53:53:Bind Sandbox:/:/usr/sbin/nologin
    proxy:*:62:62:Packet Filter pseudo-user:/nonexistent:/usr/sbin/nologin
    _pflogd:*:64:64:pflogd privsep user:/var/empty:/usr/sbin/nologin
    _dhcp:*:65:65:dhcp programs:/var/empty:/usr/sbin/nologin
    uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/local/libexec/uucp/uucico
    pop:*:68:6:Post Office Owner:/nonexistent:/usr/sbin/nologin
    www:*:80:80:World Wide Web Owner:/nonexistent:/usr/sbin/nologin
    nobody:*:65534:65534:Unprivileged user:/nonexistent:/usr/sbin/nologin
    messagebus:*:556:556:D-BUS Daemon User:/nonexistent:/sbin/nologin
    polkit:*:562:562:PolicyKit Daemon User:/nonexistent:/sbin/nologin
    avahi:*:558:558:Avahi Daemon User:/nonexistent:/sbin/nologin
    gdm:*:92:92:GNOME Display Manager:/nonexistent:/sbin/nologin
    user:*:1001:0:User &:/home/user:/usr/local/bin/bash
    

    Статистика

    Время первой команды журнала10:33:39 2008- 7- 9
    Время последней команды журнала12:02:17 2008- 7- 9
    Количество командных строк в журнале100
    Процент команд с ненулевым кодом завершения, %11.00
    Процент синтаксически неверно набранных команд, % 4.00
    Суммарное время работы с терминалом *, час 1.48
    Количество командных строк в единицу времени, команда/мин 1.13
    Частота использования команд
    echo40|===============================| 31.01%
    test16|============| 12.40%
    vim10|=======| 7.75%
    while6|====| 4.65%
    do5|===| 3.88%
    jot5|===| 3.88%
    done5|===| 3.88%
    unset4|===| 3.10%
    chpass4|===| 3.10%
    lynx4|===| 3.10%
    man2|=| 1.55%
    for12|=| 1.55%
    chmod2|=| 1.55%
    cd2|=| 1.55%
    A=02|=| 1.55%
    ~2|=| 1.55%
    exit2|=| 1.55%
    su2|=| 1.55%
    ps1|| 0.78%
    PS2=21|| 0.78%
    exho1|| 0.78%
    for21|| 0.78%
    declare1|| 0.78%
    &1|| 0.78%
    D=21|| 0.78%
    cat1|| 0.78%
    grep1|| 0.78%
    pkg_add1|| 0.78%
    Test_(Unix)1|| 0.78%
    w3m1|| 0.78%
    joh1|| 0.78%
    ls1|| 0.78%
    ____
    *) Интервалы неактивности длительностью 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$