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

Содержание

Журнал

Пятница (10/02/15)

/dev/pts/2
13:12:38
#less /etc/rsyslog.d
13:13:44
#less /etc/rsyslog
13:13:47
#less /etc/rsyslog.conf
13:17:34
#^C

13:17:39
#less /etc/rsyslog.conf
13:18:46
#less /etc/rsyslog.conf less /var/lo
13:18:46
#less /etc/rsyslog.conf less /var/log/auth.log
13:24:04
#vi /etc/rsyslog.d
13:27:14
#less /etc/syslogd.conf
13:27:21
#vi /etc/rsyslog.conf
--- /tmp/l3-saved-26082.27306.24302	2015-10-02 14:27:57.002502612 +0300
+++ /etc/rsyslog.conf	2015-10-02 14:29:33.714492107 +0300
@@ -59,7 +59,7 @@
 # First some standard log files.  Log by facility.
 #
 auth,authpriv.*			/var/log/auth.log
-*.*;auth,authpriv.none		-/var/log/syslog
+*.*;auth,authpriv.none;local5.none		-/var/log/syslog
 #cron.*				/var/log/cron.log
 daemon.*			-/var/log/daemon.log
 kern.*				-/var/log/kern.log
@@ -91,7 +91,7 @@
 *.=info;*.=notice;*.=warn;\
 	auth,authpriv.none;\
 	cron,daemon.none;\
-	mail,news.none		-/var/log/messages
+	mail,news.none;local5.none		-/var/log/messages
 
 #
 # Emergencies are sent to everybody logged in.
13:29:33
#service syslog
syslog: unrecognized service
13:29:42
#service rsyslog
Usage: /etc/init.d/rsyslog {start|stop|rotate|restart|force-reload|status}
13:29:51
#service rsyslog reload
Usage: /etc/init.d/rsyslog {start|stop|rotate|restart|force-reload|status}
13:29:56
#service rsyslog force-reload
[ ok ] Stopping enhanced syslogd: rsyslogd.
[ ok ] Starting enhanced syslogd: rsyslogd.
13:30:14
#logger -p local5/war "Test messasge"
logger: unknown priority name: local5/war.
13:30:41
#logger -p local5.war "Test messasge"
logger: unknown priority name: local5.war.
13:30:49
#tail /var/log/syslog
Oct  2 07:17:01 debian3 /USR/SBIN/CRON[25990]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Oct  2 08:17:01 debian3 /USR/SBIN/CRON[25997]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Oct  2 09:17:01 debian3 /USR/SBIN/CRON[26418]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Oct  2 10:17:01 debian3 /USR/SBIN/CRON[26479]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Oct  2 11:17:01 debian3 /USR/SBIN/CRON[26487]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Oct  2 12:17:01 debian3 /USR/SBIN/CRON[26494]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Oct  2 13:17:01 debian3 /USR/SBIN/CRON[26501]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Oct  2 14:17:01 debian3 /USR/SBIN/CRON[26563]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Oct  2 14:30:14 debian3 kernel: imklog 5.8.11, log source = /proc/kmsg started.
Oct  2 14:30:14 debian3 rsyslogd: [origin software="rsyslogd" swVersion="5.8.11" x-pid="26764" x-info="http://www.rsyslog.com"] start
13:31:06
#tail /var/log/ssh
tail: невозможно открыть «/var/log/ssh» для чтения: Нет такого файла или каталога
13:31:16
#cat /etc/sys
cat: /etc/sys: Нет такого файла или каталога
13:36:06
#vi /etc/rsyslog.conf
--- /tmp/l3-saved-26082.3783.19225	2015-10-02 14:36:12.050502092 +0300
+++ /etc/rsyslog.conf	2015-10-02 14:37:37.602496876 +0300
@@ -66,7 +66,9 @@
 lpr.*				-/var/log/lpr.log
 mail.*				-/var/log/mail.log
 user.*				-/var/log/user.log
-
+local5.info			/var/log/ssh	
+local5.info			@192.168.13.5
+#
 #
 # Logging for the mail system.  Split it up so that
 # it is easy to write scripts to parse these files.
13:37:42
#logger -p local5.warn "Test messasge"

13:38:01
#tail /var/log/ssh

13:38:10
#logger -p local5.warn "Test messasge 2"

13:46:16
#less /etc/logrotate.conf
13:46:37
#less /etc/logrotate.conf
13:46:54
#ls
apt  aptitude  dpkg  exim4-base  exim4-paniclog  iptraf  rsyslog
13:47:00
#ls -sh
итого 28K
4,0K apt  4,0K aptitude  4,0K dpkg  4,0K exim4-base  4,0K exim4-paniclog  4,0K iptraf  4,0K rsyslog
13:47:06
#ls -a
.  ..  apt  aptitude  dpkg  exim4-base  exim4-paniclog  iptraf  rsyslog
13:47:08
#ls -ah
.  ..  apt  aptitude  dpkg  exim4-base  exim4-paniclog  iptraf  rsyslog
13:47:12
#ls -lh
итого 28K
-rw-r--r-- 1 root root 173 Ноя 16  2013 apt
-rw-r--r-- 1 root root  79 Ноя  7  2012 aptitude
-rw-r--r-- 1 root root 232 Окт  1  2013 dpkg
-rw-r--r-- 1 root root 146 Янв  2  2013 exim4-base
-rw-r--r-- 1 root root 126 Янв  2  2013 exim4-paniclog
-rw-r--r-- 1 root root 151 Окт  5  2012 iptraf
-rw-r--r-- 1 root root 515 Мар  6  2013 rsyslog
13:47:15
#ls iptraf
iptraf
13:48:17
#cat iptraf
/var/log/iptraf/*.log {
        rotate 7
        daily
        compress
        missingok
        notifempty
        postrotate
                /usr/bin/killall -USR1 iptraf 2> /dev/null || :
        endscript
}
13:48:30
#cat rsyslog
/var/log/syslog
{
        rotate 7
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
                invoke-rc.d rsyslog rotate > /dev/null
...
        weekly
        missingok
        notifempty
        compress
        delaycompress
        sharedscripts
        postrotate
                invoke-rc.d rsyslog rotate > /dev/null
        endscript
}
13:48:35
#cd /etc/cron.d
cron.d/     cron.daily/
13:48:35
#cd /etc/cron.daily/

13:51:18
#ls -l
итого 52
-rwxr-xr-x 1 root root 14985 Ноя 16  2013 apt
-rwxr-xr-x 1 root root   314 Ноя  7  2012 aptitude
-rwxr-xr-x 1 root root   355 Июн 11  2012 bsdmainutils
-rwxr-xr-x 1 root root   256 Окт  1  2013 dpkg
-rwxr-xr-x 1 root root  4125 Янв  2  2013 exim4-base
-rwxr-xr-x 1 root root  2211 Янв  6  2012 locate
-rwxr-xr-x 1 root root    89 Май 17  2012 logrotate
-rwxr-xr-x 1 root root  1365 Июн 19  2012 man-db
-rwxr-xr-x 1 root root   249 Май 26  2012 passwd
13:51:25
#ls
apt  aptitude  bsdmainutils  dpkg  exim4-base  locate  logrotate  man-db  passwd
13:51:32
#cst logrotate
l3script: cst: команда не найдена
13:51:45
#cat logrotate
#!/bin/sh
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
13:51:49
#test -x

13:51:58
#^C

13:52:06
#test -x /usr/sbin/logrotate

13:52:08
#cd /etc/cron
l3script: cd: /etc/cron: Нет такого файла или каталога
13:53:53
#cd /etc

13:53:56
#cat /etc/cron.tab
cat: /etc/cron.tab: Нет такого файла или каталога
13:54:13
#cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
13:54:16
#which run-parts
/bin/run-parts
13:54:35
#less `which run-parts`
13:55:10
#ls cro*
crontab
cron.d:
john
cron.daily:
apt  aptitude  bsdmainutils  dpkg  exim4-base  locate  logrotate  man-db  passwd
cron.hourly:
cron.monthly:
cron.weekly:
man-db
13:55:55
#ls l
ls: невозможно получить доступ к l: Нет такого файла или каталога
13:56:11
#ls -l
итого 688
drwxr-xr-x 3 root root    4096 Окт 13  2014 acpi
-rw-r--r-- 1 root root    2981 Июн 27  2014 adduser.conf
-rw-r--r-- 1 root root      44 Окт 15  2014 adjtime
-rw-r--r-- 1 root root     196 Июн 27  2014 aliases
drwxr-xr-x 2 root root    4096 Сен 28 17:33 alternatives
drwxr-xr-x 6 root root    4096 Окт 13  2014 apt
-rw-r--r-- 1 root root    1895 Дек 30  2012 bash.bashrc
-rw-r--r-- 1 root root      45 Июн 17  2012 bash_completion
drwxr-xr-x 2 root root    4096 Июн 27  2014 bash_completion.d
...
-rw-r--r-- 1 root root    1552 Окт 19  2012 trafshow
-rw-r--r-- 1 root root    1260 Май 30  2008 ucf.conf
drwxr-xr-x 4 root root    4096 Июн 27  2014 udev
drwxr-xr-x 3 root root    4096 Июн 27  2014 ufw
drwxr-xr-x 2 root root    4096 Июн 27  2014 vim
drwxr-xr-x 2 root root    4096 Июн 27  2014 w3m
-rw-r--r-- 1 root root    4496 Фев  1  2014 wgetrc
drwxr-xr-x 3 root root    4096 Июн 27  2014 X11
drwxr-xr-x 2 root root    4096 Июн 27  2014 xml
drwxr-xr-x 2 root root    4096 Сен 28 17:32 zsh
13:56:28
#man 5 crontab
13:57:31
#cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
13:57:34
#which anacron

13:58:15
#apt-get install anacron
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Предлагаемые пакеты:
  powermgmt-base
НОВЫЕ пакеты, которые будут установлены:
  anacron
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 66 пакетов не обновлено.
Необходимо скачать 35,2 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 167 kB.
Получено:1 http://ftp.ua.debian.org/debian/ wheezy/main anacron amd64 2.3-19 [35,2 kB]
Получено 35,2 kБ за 0с (416 kБ/c)
Выбор ранее не выбранного пакета anacron.
(Чтение базы данных … на данный момент установлено 30750 файлов и каталогов.)
Распаковывается пакет anacron (из файла …/anacron_2.3-19_amd64.deb) …
Обрабатываются триггеры для man-db …
Настраивается пакет anacron (2.3-19) …
14:05:38
#less /etc/crontab
14:05:47
#cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
00 16   2,19-23 10 * wall "Tea Time"
#
14:09:04
#crontab -l -u ivan
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
...
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
0 17 2 10 * wall "End of Cource"
14:09:13
#ls /var/spool/cron
crontabs
14:09:28
#ls /var/spool/cron/crontabs/
ivan
14:09:45
#ls /var/spool/cron/crontabs/ivan
/var/spool/cron/crontabs/ivan
14:09:49
#ls /var/spool/cron/crontabs/ivan/
ls: невозможно получить доступ к /var/spool/cron/crontabs/ivan/: Это не каталог
14:10:17
#1
l3script: 1: команда не найдена
14:11:20
#at
l3script: at: команда не найдена
14:12:03
#at /?
l3script: at: команда не найдена
14:12:07
#at now + 9 hours
l3script: at: команда не найдена
14:12:47
#apt-get instal at
E: Неверная операция instal
14:12:58
#apt-get install at
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
НОВЫЕ пакеты, которые будут установлены:
  at
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 66 пакетов не обновлено.
Необходимо скачать 45,1 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 103 kB.
Получено:1 http://ftp.ua.debian.org/debian/ wheezy/main at amd64 3.1.13-2+deb7u1 [45,1 kB]
Получено 45,1 kБ за 0с (540 kБ/c)
Выбор ранее не выбранного пакета at.
(Чтение базы данных … на данный момент установлено 30777 файлов и каталогов.)
Распаковывается пакет at (из файла …/at_3.1.13-2+deb7u1_amd64.deb) …
Обрабатываются триггеры для man-db …
Настраивается пакет at (3.1.13-2+deb7u1) …
[ ok ] Starting deferred execution scheduler: atd.
14:13:11
#at now + 9 hours
warning: commands will be executed using /bin/sh
at> cd /usr/scr/kerners/2.6.39
at> make && make modules_install && make install
at> <EOT>
job 1 at Sat Oct  3 00:13:00 2015
14:15:17
#jobs
[1]   Stopped                 /usr/bin/vi "$@"  (wd: ~)
[2]-  Stopped                 /usr/bin/vi "$1"  (wd: ~)
[3]+  Stopped                 /usr/bin/vi "$@"  (wd: ~)
14:15:23
#job
l3script: job: команда не найдена
14:15:27
#atq
1       Sat Oct  3 00:13:00 2015 a root
14:15:34
#jobs kill
l3script: jobs: kill: не такой задачи
14:15:55
#jobs --help
l3script: jobs: --: неправильная опция
jobs: usage: jobs [-lnprs] [jobspec ...] or jobs -x command [args]
14:16:01
#jobs -x

14:16:13
#jobs
[1]   Stopped                 /usr/bin/vi "$@"  (wd: ~)
[2]-  Stopped                 /usr/bin/vi "$1"  (wd: ~)
[3]+  Stopped                 /usr/bin/vi "$@"  (wd: ~)
прошло 19 минут
14:36:07
#atr 1
l3script: atr: команда не найдена
прошло 14 минут
14:50:13
#atrm 1

14:50:16
#jobs --help
l3script: jobs: --: неправильная опция
jobs: usage: jobs [-lnprs] [jobspec ...] or jobs -x command [args]
14:50:24
#job --help
l3script: job: команда не найдена
14:50:28
#man jobs
14:53:14
#man jobs
14:53:16
#jobs -r

14:54:11
#jobs
[1]   Stopped                 /usr/bin/vi "$@"  (wd: ~)
[2]-  Stopped                 /usr/bin/vi "$1"  (wd: ~)
[3]+  Stopped                 /usr/bin/vi "$@"  (wd: ~)
14:54:17
#jobs 1
[1]   Stopped                 /usr/bin/vi "$@"  (wd: ~)
14:54:21
#jobs 1 r
[1]   Stopped                 /usr/bin/vi "$@"  (wd: ~)
l3script: jobs: r: не такой задачи
14:54:24
#jobs -r 1
[1]   Stopped                 /usr/bin/vi "$@"  (wd: ~)
14:54:29
#jobs -d 1
l3script: jobs: -d: неправильная опция
jobs: usage: jobs [-lnprs] [jobspec ...] or jobs -x command [args]
14:54:32
#jobs -x 1
l3script: 1: команда не найдена
14:54:37
#jobs
[1]   Stopped                 /usr/bin/vi "$@"  (wd: ~)
[2]-  Stopped                 /usr/bin/vi "$1"  (wd: ~)
[3]+  Stopped                 /usr/bin/vi "$@"  (wd: ~)

Файлы

  • /etc/crontab
  • iptraf
  • logrotate
  • rsyslog
  • /etc/crontab
    >
    # /etc/crontab: system-wide crontab
    # Unlike any other crontab you don't have to run the `crontab'
    # command to install the new version when you edit this file
    # and files in /etc/cron.d. These files also have username fields,
    # that none of the other crontabs do.
    SHELL=/bin/sh
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    # m h dom mon dow user  command
    17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
    25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
    47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
    52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
    00 16   2,19-23 10 * wall "Tea Time"
    #
    
    iptraf
    >
    /var/log/iptraf/*.log {
            rotate 7
            daily
            compress
            missingok
            notifempty
            postrotate
                    /usr/bin/killall -USR1 iptraf 2> /dev/null || :
            endscript
    }
    
    logrotate
    >
    #!/bin/sh
    test -x /usr/sbin/logrotate || exit 0
    /usr/sbin/logrotate /etc/logrotate.conf
    
    rsyslog
    >
    /var/log/syslog
    {
            rotate 7
            daily
            missingok
            notifempty
            delaycompress
            compress
            postrotate
                    invoke-rc.d rsyslog rotate > /dev/null
            endscript
    }
    /var/log/mail.info
    /var/log/mail.warn
    /var/log/mail.err
    /var/log/mail.log
    /var/log/daemon.log
    /var/log/kern.log
    /var/log/auth.log
    /var/log/user.log
    /var/log/lpr.log
    /var/log/cron.log
    /var/log/debug
    /var/log/messages
    {
            rotate 4
            weekly
            missingok
            notifempty
            compress
            delaycompress
            sharedscripts
            postrotate
                    invoke-rc.d rsyslog rotate > /dev/null
            endscript
    }
    

    Статистика

    Время первой команды журнала13:12:38 2015-10- 2
    Время последней команды журнала14:54:37 2015-10- 2
    Количество командных строк в журнале90
    Процент команд с ненулевым кодом завершения, %27.78
    Процент синтаксически неверно набранных команд, %10.00
    Суммарное время работы с терминалом *, час 1.70
    Количество командных строк в единицу времени, команда/мин 0.88
    Частота использования команд
    ls15|================| 16.67%
    jobs14|===============| 15.56%
    less11|============| 12.22%
    cat8|========| 8.89%
    service4|====| 4.44%
    cd4|====| 4.44%
    logger4|====| 4.44%
    at4|====| 4.44%
    man3|===| 3.33%
    tail3|===| 3.33%
    vi3|===| 3.33%
    apt-get3|===| 3.33%
    job2|==| 2.22%
    ^C2|==| 2.22%
    which2|==| 2.22%
    test2|==| 2.22%
    crontab1|=| 1.11%
    cst1|=| 1.11%
    atq1|=| 1.11%
    atrm1|=| 1.11%
    atr1|=| 1.11%
    11|=| 1.11%
    ____
    *) Интервалы неактивности длительностью 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$