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

Содержание

Журнал

Вторник (09/29/15)

/dev/pts/0
09:19:06
#ls b*
bash  busybox
09:19:14
#ls *sh
bash  dash  ksh  rbash  rzsh  sh  zsh
09:19:30
#ls *sh*
bash  dash  ksh  rbash  rzsh  sh  sh.distrib  zsh  zsh4
09:19:38
#ls ??sh
bash  dash  rzsh
09:19:46
#ls ?A*
ls: невозможно получить доступ к ?A*: Нет такого файла или каталога
09:20:14
#ls ?A*
ls: невозможно получить доступ к ?A*: Нет такого файла или каталога
09:20:17
#ls ?a*
bash  cat  dash  date  false  nano  tailf  tar
09:20:23
#ls [bcd]*
bash     cat    chmod  chvt  cpio  date  df   dmesg          domainname
busybox  chgrp  chown  cp    dash  dd    dir  dnsdomainname  dumpkeys
09:20:51
#ls [b-d]*
bash     cat    chmod  chvt  cpio  date  df   dmesg          domainname
busybox  chgrp  chown  cp    dash  dd    dir  dnsdomainname  dumpkeys
09:21:15
#ls [b-h]*
bash     chmod  cpio  df             domainname  false      fuser   gzip
busybox  chown  dash  dir            dumpkeys    fgconsole  grep    hostname
cat      chvt   date  dmesg          echo        fgrep      gunzip
chgrp    cp     dd    dnsdomainname  egrep       findmnt    gzexe
09:21:20
#ls [b-l]*
bash     chvt  df             echo       fuser     ip        lessecho  login
busybox  cp    dir            egrep      grep      kbd_mode  lessfile  ls
cat      cpio  dmesg          false      gunzip    kill      lesskey   lsblk
chgrp    dash  dnsdomainname  fgconsole  gzexe     kmod      lesspipe  lsmod
chmod    date  domainname     fgrep      gzip      ksh       ln
chown    dd    dumpkeys       findmnt    hostname  less      loadkeys
09:21:27
#ls [b-l][a-f]
dd  df
09:21:48
#ls [b-l][a-f]*
bash  dash  dd  echo   kbd_mode  lessecho  lesskey
cat   date  df  false  less      lessfile  lesspipe
09:21:52
#ls [!b-l][a-f]*
nano            netcat   readlink  setupcon  tempfile  zcmp    zfgrep
nc              netstat  sed       tailf     vdir      zdiff   zforce
nc.traditional  rbash    setfont   tar       zcat      zegrep
09:22:45
#ls [!b-l]*
mkdir       nc.traditional  rbash      sh.distrib  umount         zfgrep
mknod       netcat          readlink   sleep       uname          zforce
mktemp      netstat         rm         ss          uncompress     zgrep
more        nisdomainname   rmdir      stty        unicode_start  zless
mount       open            rnano      su          vdir           zmore
mountpoint  openvt          run-parts  sync        which          znew
mt          pidof           rzsh       tailf       ypdomainname   zsh
mt-gnu      ping            sed        tar         zcat           zsh4
mv          ping6           setfont    tempfile    zcmp
nano        ps              setupcon   touch       zdiff
nc          pwd             sh         true        zegrep
09:22:49
#ls [!b-l]*
mkdir       nc.traditional  rbash      sh.distrib  umount         zfgrep
mknod       netcat          readlink   sleep       uname          zforce
mktemp      netstat         rm         ss          uncompress     zgrep
more        nisdomainname   rmdir      stty        unicode_start  zless
mount       open            rnano      su          vdir           zmore
mountpoint  openvt          run-parts  sync        which          znew
mt          pidof           rzsh       tailf       ypdomainname   zsh
mt-gnu      ping            sed        tar         zcat           zsh4
mv          ping6           setfont    tempfile    zcmp
nano        ps              setupcon   touch       zdiff
nc          pwd             sh         true        zegrep
09:29:13
#cd

09:29:17
#cd /b
bin/  boot/
09:29:17
#cd /bI
l3script: cd: /bI: Нет такого файла или каталога
09:32:21
#cd /bin/

09:32:25
#top
top - 10:34:18 up 3 days, 17:11,  4 users,  load average: 0,00, 0,01, 0,05
Tasks:  63 total,   1 running,  62 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0,4 us,  0,0 sy,  0,5 ni, 97,8 id,  0,1 wa,  0,0 hi,  0,0 si,  1,1 st
KiB Mem:    507368 total,   318520 used,   188848 free,    89048 buffers
KiB Swap:        0 total,        0 used,        0 free,   118344 cached
  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
    1 root      20   0 10648  832  696 S   0,0  0,2   0:05.45 init
    2 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kthreadd
    3 root      20   0     0    0    0 S   0,0  0,0   0:00.66 ksoftirqd/0
    5 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kworker/u:0
...
  277 root      20   0 21248 1240  784 S   0,0  0,2   0:00.05 udevd
  376 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 kpsmoused
 1904 root      20   0 52772 1632 1204 S   0,0  0,3   0:00.14 rsyslogd
 1953 root      20   0  4116  656  512 S   0,0  0,1   0:00.00 acpid
 1976 root      20   0 22520 1068  824 S   0,0  0,2   0:00.42 cron
 2249 Debian-e  20   0 46804 1032  584 S   0,0  0,2   0:00.09 exim4
 2282 root      20   0 49932 1248  640 S   0,0  0,2   0:00.01 sshd
 2306 root      20   0 18368  964  812 S   0,0  0,2   0:00.03 getty
 2307 root      20   0 18368  972  812 S   0,0  0,2   0:00.00 getty
 2308 root      20   0 18368  964  812 S   0,0  0,2   0:00.00 getty
09:34:20
#cd

09:34:27
#touch file{1,2,3,4,5,7,9}

09:35:04
#ls
file1  file2  file3  file4  file5  file7  file9  install  report  shadow
09:35:06
#dl
l3script: dl: команда не найдена
09:35:39
#md
l3script: md: команда не найдена
09:35:44
#del
l3script: del: команда не найдена
09:37:43
#ls /etc/profile
/etc/profile
09:38:05
#ls /etc/prof*
/etc/profile  /etc/profile.old
/etc/profile.d:
bash_completion.sh
09:38:14
#ls /etc/profile.d/
bash_completion.sh
09:40:12
#cat /etc/profile.d/bash_completion.sh
# Check for interactive bash and that we haven't already been sourced.
[ -z "$BASH_VERSION" -o -z "$PS1" -o -n "$BASH_COMPLETION_COMPAT_DIR" ] && return
# Check for recent enough version of bash.
bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.}
if [ $bmajor -gt 4 ] || [ $bmajor -eq 4 -a $bminor -ge 1 ]; then
    [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" ] && \
        . "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion"
    if shopt -q progcomp && [ -r /usr/share/bash-completion/bash_completion ]; then
        # Source completion code.
        . /usr/share/bash-completion/bash_completion
    fi
fi
unset bash bmajor bminor
09:40:20
#pidof rsyslogd
1904
09:40:49
#cd /proc/1904

09:41:09
#cd

09:41:17
#cd /proc/`pidof rsyslogd`

09:41:36
#cd

09:41:39
#which chsh
/usr/bin/chsh
09:42:27
#ls -l `which chsh`
-rwsr-xr-x 1 root root 41272 Май 26  2012 /usr/bin/chsh
09:42:42
#ls -l $(which chsh)
-rwsr-xr-x 1 root root 41272 Май 26  2012 /usr/bin/chsh
09:48:35
#vi privet.sh
--- /dev/null	2015-09-25 17:22:51.904000007 +0300
+++ privet.sh	2015-09-29 10:54:29.598496111 +0300
@@ -0,0 +1,2 @@
+#!/bin/bash
+echo "Privet ${1}!"
09:54:29
#privet.sh
l3script: privet.sh: команда не найдена
09:54:36
#echo @PATH
@PATH
09:54:47
#echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
09:55:00
#/root/privet.sh
l3script: /root/privet.sh: Отказано в доступе
09:55:15
#./privet.sh
l3script: ./privet.sh: Отказано в доступе
09:55:28
#ls -l
итого 16
-rw-r--r-- 1 root root    0 Сен 29 10:35 file1
-rw-r--r-- 1 root root    0 Сен 29 10:35 file2
-rw-r--r-- 1 root root    0 Сен 29 10:35 file3
-rw-r--r-- 1 root root    0 Сен 29 10:35 file4
-rw-r--r-- 1 root root    0 Сен 29 10:35 file5
-rw-r--r-- 1 root root    0 Сен 29 10:35 file7
-rw-r--r-- 1 root root    0 Сен 29 10:35 file9
-rw-r--r-- 1 root root 5268 Окт 13  2014 install
-rw-r--r-- 1 root root   32 Сен 29 10:54 privet.sh
-rw-r--r-- 1 root root    0 Сен 28 14:25 report
-rw-r----- 1 root root 1029 Сен 28 14:23 shadow
09:55:44
#chmod u+x privet.sh

09:56:21
#ls -l --color privet.sh
-rwxr--r-- 1 root root 32 Сен 29 10:54 privet.sh
09:56:37
#ls -l --color
итого 16
-rw-r--r-- 1 root root    0 Сен 29 10:35 file1
-rw-r--r-- 1 root root    0 Сен 29 10:35 file2
-rw-r--r-- 1 root root    0 Сен 29 10:35 file3
-rw-r--r-- 1 root root    0 Сен 29 10:35 file4
-rw-r--r-- 1 root root    0 Сен 29 10:35 file5
-rw-r--r-- 1 root root    0 Сен 29 10:35 file7
-rw-r--r-- 1 root root    0 Сен 29 10:35 file9
-rw-r--r-- 1 root root 5268 Окт 13  2014 install
-rwxr--r-- 1 root root   32 Сен 29 10:54 privet.sh
-rw-r--r-- 1 root root    0 Сен 28 14:25 report
-rw-r----- 1 root root 1029 Сен 28 14:23 shadow
09:56:51
#./privet.sh test
Privet test!
09:57:00
#./privet.sh
Privet !
09:58:39
#vi privet.sh
09:58:46
#./privet.sh
Privet Noname!
09:58:48
#./privet.sh test
Privet test!
09:58:53
#vi privet.sh
09:59:45
#vi privet.sh
10:00:21
#vi privet.sh
--- /tmp/l3-saved-8699.17272.4336	2015-09-29 11:00:26.654473235 +0300
+++ privet.sh	2015-09-29 11:00:54.694497048 +0300
@@ -1,2 +1,2 @@
 #!/bin/bash
-echo "Privet ${1:-Noname}!"
+echo "Privet ${1:+Noname}!"
10:00:54
#echo $((7+5))
12
10:01:11
#./privet.sh test
Privet Noname!
10:01:17
#./privet.sh
Privet !
10:01:19
#echo $[7+5]
12
10:01:33
#echo [7+5]
[7+5]
10:01:51
#echo ((7+5))
l3script: syntax error near unexpected token `('
10:01:59
#echo $[7+5]
12
10:02:02
#i=1

10:02:35
#echo $i
1
10:02:51
#i=$[$i+1]

10:03:22
#echo $i
2
10:03:25
#echo `i=$[$i+1]`

10:03:37
#echo `i=$[$i+1]`

10:03:39
#echo $i
2
10:03:42
#echo $i
2
10:03:47
#echo $i
2
10:03:48
#i=$[$i+1]

10:03:52
#echo $i
3
10:03:54
#echo $i
3
10:03:56
#i=$[$i+1]

10:03:58
#echo $i
4
10:03:59
#top
top - 11:05:03 up 3 days, 17:42,  4 users,  load average: 0,02, 0,05, 0,05
Tasks:  65 total,   1 running,  62 sleeping,   2 stopped,   0 zombie
%Cpu(s):  0,0 us,  0,3 sy,  0,0 ni, 99,0 id,  0,7 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:    507368 total,   322884 used,   184484 free,    90160 buffers
KiB Swap:        0 total,        0 used,        0 free,   118464 cached
  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
10087 root      20   0 25288 1548 1128 R   0,3  0,3   0:00.02 top
    1 root      20   0 10648  832  696 S   0,0  0,2   0:05.47 init
    2 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kthreadd
    3 root      20   0     0    0    0 S   0,0  0,0   0:00.68 ksoftirqd/0
...
  134 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 ext4-dio-unwrit
  277 root      20   0 21248 1240  784 S   0,0  0,2   0:00.05 udevd
  376 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 kpsmoused
 1904 root      20   0 52772 1632 1204 S   0,0  0,3   0:00.14 rsyslogd
 1953 root      20   0  4116  656  512 S   0,0  0,1   0:00.00 acpid
 1976 root      20   0 22520 1068  824 S   0,0  0,2   0:00.42 cron
 2249 Debian-e  20   0 46804 1032  584 S   0,0  0,2   0:00.09 exim4
 2282 root      20   0 49932 1248  640 S   0,0  0,2   0:00.01 sshd
 2306 root      20   0 18368  964  812 S   0,0  0,2   0:00.03 getty
 2307 root      20   0 18368  972  812 S   0,0  0,2   0:00.00 getty
10:05:20
#ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:05 init [2]
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:00 [ksoftirqd/0]
    5 ?        S      0:00 [kworker/u:0]
    6 ?        S      0:00 [migration/0]
    7 ?        S      0:03 [watchdog/0]
    8 ?        S<     0:00 [cpuset]
    9 ?        S<     0:00 [khelper]
   10 ?        S      0:00 [kdevtmpfs]
...
 8840 pts/3    Ss+    0:00 l3script
 8901 ?        Ss     0:00 sshd: ivan [priv]
 8903 ?        S      0:00 sshd: ivan@pts/4
 8904 pts/4    Ss+    0:00 -bash
 8985 ?        Ss     0:00 sshd: petr [priv]
 8987 ?        S      0:00 sshd: petr@pts/5
 8988 pts/5    Ss+    0:00 -bash
 9855 pts/1    T      0:00 /usr/bin/vi privet.sh
 9903 pts/1    T      0:00 /usr/bin/vi privet.sh
10095 pts/1    R+     0:00 ps ax
10:05:37
#ps ax |more
10:05:44
#ps ax | wc -l
68
10:06:04
#top
top - 11:06:14 up 3 days, 17:43,  4 users,  load average: 0,08, 0,07, 0,05
Tasks:  66 total,   1 running,  62 sleeping,   3 stopped,   0 zombie
%Cpu(s): 11,7 us,  0,3 sy,  0,0 ni, 74,7 id,  0,0 wa,  0,0 hi,  0,0 si, 13,3 st
KiB Mem:    507368 total,   323280 used,   184088 free,    90188 buffers
KiB Swap:        0 total,        0 used,        0 free,   118540 cached
  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
 3398 root      20   0 50740  13m 1644 S  21,6  2,6  40:12.68 l3-agent
    1 root      20   0 10648  832  696 S   0,0  0,2   0:05.47 init
    2 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kthreadd
    3 root      20   0     0    0    0 S   0,0  0,0   0:00.68 ksoftirqd/0
...
  134 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 ext4-dio-unwrit
  277 root      20   0 21248 1240  784 S   0,0  0,2   0:00.05 udevd
  376 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 kpsmoused
 1904 root      20   0 52772 1632 1204 S   0,0  0,3   0:00.14 rsyslogd
 1953 root      20   0  4116  656  512 S   0,0  0,1   0:00.00 acpid
 1976 root      20   0 22520 1068  824 S   0,0  0,2   0:00.42 cron
 2249 Debian-e  20   0 46804 1032  584 S   0,0  0,2   0:00.09 exim4
 2282 root      20   0 49932 1248  640 S   0,0  0,2   0:00.01 sshd
 2306 root      20   0 18368  964  812 S   0,0  0,2   0:00.03 getty
 2307 root      20   0 18368  972  812 S   0,0  0,2   0:00.00 getty
10:06:15
#ps ax | wc -l
68
10:06:24
#echo [$(ps ax | wc -l)-4]
[69-4]
10:07:20
#echo $[$(ps ax | wc -l)-4]
65
10:07:45
#echo $[$(ps ax | wc -l)-4]
65
10:07:47
#ps
  PID TTY          TIME CMD
 8699 pts/1    00:00:00 l3script
 9855 pts/1    00:00:00 vi
 9903 pts/1    00:00:00 vi
10104 pts/1    00:00:00 more
10183 pts/1    00:00:00 ps
10:07:57
#ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:05 init [2]
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:00 [ksoftirqd/0]
    5 ?        S      0:00 [kworker/u:0]
    6 ?        S      0:00 [migration/0]
    7 ?        S      0:03 [watchdog/0]
    8 ?        S<     0:00 [cpuset]
    9 ?        S<     0:00 [khelper]
   10 ?        S      0:00 [kdevtmpfs]
...
 8901 ?        Ss     0:00 sshd: ivan [priv]
 8903 ?        S      0:00 sshd: ivan@pts/4
 8904 pts/4    Ss+    0:00 -bash
 8985 ?        Ss     0:00 sshd: petr [priv]
 8987 ?        S      0:00 sshd: petr@pts/5
 8988 pts/5    Ss+    0:00 -bash
 9855 pts/1    T      0:00 /usr/bin/vi privet.sh
 9903 pts/1    T      0:00 /usr/bin/vi privet.sh
10104 pts/1    T      0:00 more
10191 pts/1    R+     0:00 ps ax
10:08:07
#wc
^C
10:08:52
#wc --help
iles0-from=Ф·Ð¾Ð²Ð°Ð½Ð¸Ðµ: wc [КÐФАЙÐ
Печатает количество новых строк, слов и байт для каждого ФАЙÐ
¾ несколько ФАЙÐ
, читает стандартный ввод. Словом считается
последовательность символов ненулевой длины, отделённая пробельным символом.
Показанными ниже параметрами можно задать выводимый счётчик; они должны
всегда указываться в следующем порядке: новых строк, слов, символов, байт,
максимальная длина строки.
  -c, --bytes            напечатать количество байт
  -m, --chars            напечатать количество символов
...
                         стандартного ввода
  -L, --max-line-length  напечатать длину наибольшей строки
  -w, --words            напечатать количество слов
      --help     показать эту справку и выйти
      --version  показать информацию о версии и выйти
Об ошибках в wc сообщайте по адресу bug-coreutils@gnu.org.
Домашняя страница GNU coreutils: <http://www.gnu.org/software/coreutils/>
Справка по работе с программами GNU: <http://www.gnu.org/gethelp/>
Об ошибках в переводе сообщений «wc» сообщайте по адресу <gnu@mx.ru>
Полная документация доступна по команде: info coreutils 'wc invocation'
10:08:57
#echo $[$(ps ax | wc -l)-4]
65
10:09:40
#echo p
p
10:09:44
#echo $p
65
10:09:52
#who
root     pts/0        2015-09-29 09:37 (192.168.16.107)
user     pts/2        2015-09-29 09:37 (192.168.16.107)
ivan     pts/4        2015-09-29 09:37 (192.168.16.107)
petr     pts/5        2015-09-29 09:37 (192.168.16.107)
10:12:46
#cat
^C
10:13:47
#cat report

10:13:51
#cat
bcv
bcv
vcbvc
vcbvc
eee
eee
adfs\ffsdgv
adfs\ffsdgv
10:14:51
#echo $&
[4] 10281
$
[4]   Done                    echo $
10:15:07
#echo $?
0
10:15:17
#cat
^C

Файлы

  • /etc/profile.d/bash_completion.sh
  • cat
  • report
  • /etc/profile.d/bash_completion.sh
    >
    # Check for interactive bash and that we haven't already been sourced.
    [ -z "$BASH_VERSION" -o -z "$PS1" -o -n "$BASH_COMPLETION_COMPAT_DIR" ] && return
    # Check for recent enough version of bash.
    bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.}
    if [ $bmajor -gt 4 ] || [ $bmajor -eq 4 -a $bminor -ge 1 ]; then
        [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" ] && \
            . "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion"
        if shopt -q progcomp && [ -r /usr/share/bash-completion/bash_completion ]; then
            # Source completion code.
            . /usr/share/bash-completion/bash_completion
        fi
    fi
    unset bash bmajor bminor
    
    cat
    >
    bcv
    bcv
    vcbvc
    vcbvc
    eee
    eee
    adfs\ffsdgv
    adfs\ffsdgv
    
    report
    >

    Статистика

    Время первой команды журнала09:19:06 2015- 9-29
    Время последней команды журнала10:15:17 2015- 9-29
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %11.88
    Процент синтаксически неверно набранных команд, % 3.96
    Суммарное время работы с терминалом *, час 0.94
    Количество командных строк в единицу времени, команда/мин 1.80
    Частота использования команд
    echo25|=======================| 23.15%
    ls25|=======================| 23.15%
    cd9|========| 8.33%
    privet.sh9|========| 8.33%
    wc8|=======| 7.41%
    ps6|=====| 5.56%
    vi5|====| 4.63%
    cat5|====| 4.63%
    i=$[$i+1]3|==| 2.78%
    top3|==| 2.78%
    dl1|| 0.93%
    more1|| 0.93%
    touch1|| 0.93%
    chmod1|| 0.93%
    pidof1|| 0.93%
    del1|| 0.93%
    who1|| 0.93%
    which1|| 0.93%
    i=11|| 0.93%
    md1|| 0.93%
    ____
    *) Интервалы неактивности длительностью 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$