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

Содержание

Журнал

Среда (05/27/09)

/dev/pts/2
16:43:20
#pg
pg     pgrep
16:43:20
#pg
pg     pgrep
16:43:20
#pgrep --help
pgrep: invalid option -- '-'
Usage: pgrep [-cflvx] [-d DELIM] [-n|-o] [-P PPIDLIST] [-g PGRPLIST] [-s SIDLIST]
        [-u EUIDLIST] [-U UIDLIST] [-G GIDLIST] [-t TERMLIST] [PATTERN]
16:51:59
#pgrep -h
pgrep: invalid option -- 'h'
Usage: pgrep [-cflvx] [-d DELIM] [-n|-o] [-P PPIDLIST] [-g PGRPLIST] [-s SIDLIST]
        [-u EUIDLIST] [-U UIDLIST] [-G GIDLIST] [-t TERMLIST] [PATTERN]
16:52:04
#pgrep
pgrep: No matching criteria specified
Usage: pgrep [-cflvx] [-d DELIM] [-n|-o] [-P PPIDLIST] [-g PGRPLIST] [-s SIDLIST]
        [-u EUIDLIST] [-U UIDLIST] [-G GIDLIST] [-t TERMLIST] [PATTERN]
16:52:07
#pgrep cron
2531
16:52:15
#мapt-get install monit t
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Не удалось найти пакет t
прошло 15 минут
17:07:17
#apt-get install monit
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  update-inetd portmap
Для их удаления используйте 'apt-get autoremove'.
НОВЫЕ пакеты, которые будут установлены:
  monit
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 267kБ архивов.
...
Выбор ранее не выбранного пакета monit.
(Чтение базы данных ... на данный момент установлено 44664 файлов и каталогов.)
Распаковывается пакет monit (из файла .../monit_1%3a4.10.1-4_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет monit (1:4.10.1-4) ...
Starting daemon monitor: monit won't be started/stopped
        unless it it's configured
        please configure monit and then edit /etc/default/monit
        and set the "startup" variable to 1 in order to allow
        monit to start
17:07:21
#vi /etc/monit/monitrc
17:14:21
#vi /etc/default/monit
17:14:37
#/etc/init.d/monit restart
Stopping daemon monitor: monit.
Starting daemon monitor: monit.
17:15:28
#ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:01 init [2]
    2 ?        S<     0:00 [kthreadd]
    3 ?        S<     0:00 [migration/0]
    4 ?        S<     0:00 [ksoftirqd/0]
    5 ?        S<     0:00 [watchdog/0]
    6 ?        S<     0:00 [migration/1]
    7 ?        S<     0:00 [ksoftirqd/1]
    8 ?        S<     0:00 [watchdog/1]
    9 ?        S<     0:00 [cpuset]
...
24197 ?        Ss     0:00 /usr/sbin/atd
25462 ?        SNs    0:00 /usr/sbin/lpd -s
27184 pts/10   S+     0:00 tail -f /tmp/date.log /tmp/date2.log /tmp/date05.log
29862 pts/4    T      0:00 /bin/sh /usr/local/bin/syslog2jabber
29870 pts/4    T      0:00 /bin/sh /usr/local/bin/syslog2jabber
31678 ?        Ss     0:00 xterm -class UXTerm -title uxterm -u8
31682 pts/11   Ss+    0:00 script -f -c bash -q /home/user/.lilalo//1967118357145907653-1243427084.script
31735 pts/11   S+     0:00 script -f -c bash -q /home/user/.lilalo//1967118357145907653-1243427084.script
31736 pts/12   Ss+    0:00 bash
32596 ?        Ss     1:21 l3-agent
17:15:37
#ps ax | grep cron
 2531 ?        Ss     0:00 /usr/sbin/cron
17:15:47
#kill 2531

17:15:52
#ps ax | grep cron

17:15:54
#ps ax | grep cron
19144 pts/4    S+     0:00 grep cron
17:15:54
#ps ax | grep cron

17:15:55
#ps ax | grep cron
19162 pts/4    R+     0:00 grep cron
17:15:57
#ps ax | grep cron
19171 pts/4    R+     0:00 grep cron
17:15:58
#ps ax | grep cron

17:15:59
#ps ax | grep cron
19189 pts/4    S+     0:00 grep cron
17:15:59
#ps ax | grep cron
19198 pts/4    S+     0:00 grep cron
17:16:00
#ps ax | grep cron
19207 pts/4    R+     0:00 grep cron
17:16:00
#ps ax | grep cron

17:16:00
#ps ax | grep cron
19225 pts/4    S+     0:00 grep cron
17:16:00
#ps ax | grep cron
19234 pts/4    R+     0:00 grep cron
17:16:02
#ps ax | grep cron
19303 ?        Ss     0:00 /usr/sbin/cron
19305 pts/4    R+     0:00 grep cron
17:17:54
#мvi /etc/syslog-ng/syslog-ng.conf
filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); };
        level(info,notice,warn)
# all messa and not facility(auth,authpriv,cron,daemon,mail,news);he auth,
};authpriv, cron, daemon, mail, and news facilities
filter f_messages {
# messages with priority emerg
filter f_emerg { level(emerg); };
        or level(debug,info,notice,warn)
        or (facility(news)
                and level(crit,err,notice));
...
                 ('.cron. start: /etc/init.d/cron');} ;
######
# logs
# order matters if you use "flags(final);" to mark the end of processing in a
# "log" source(s_all);
        filter(f_ssh_auth);
        destination(dp_jabber);
log {
};
"/etc/syslog-ng/syslog-ng.conf" 364L, 10157C записано
прошло 10 минут
17:28:33
#/etc/init.d/monit restart
Stopping daemon monitor: monit.
Starting daemon monitor: monit.
17:28:37
#/etc/init.d/syslog-ng restart
Stopping system logging: syslog-ng.
Starting system logging: syslog-ngsyntax error at 195
 failed!
17:30:44
#log {
};
# messages with priority emerg
filter f_emerg { level(emerg); };
        or level(debug,info,notice,warn)
        or (facility(news)
                and level(crit,err,notice));
# complex filter for messages usually sent to the xconsole
};
filter f_xconsole {
        match ('Failed password');
...
# order matters if you use "flags(final);" to mark the end of processing in a
# "log" source(s_all);
        filter(f_ssh_auth);
        destination(dp_jabber);
log {
};
# these rules provide the same behavior as the commented original syslogd rules
# auth,authpriv.*                 /var/log/auth.log
        source(s_all);
"/etc/syslog-ng/syslog-ng.conf" 365L, 10159C записано
17:31:03
#/etc/init.d/syslog-ng restart
Stopping system logging: syslog-ng.
Starting system logging: syslog-ng.
17:31:06
#pkill cron

17:31:10
#pkill cron

17:34:14
#/etc/init.d/syslog-ng restart
Stopping system logging: syslog-ng.
Starting system logging: syslog-ng.
17:34:20
#/etc/init.d/monit restart
Stopping daemon monitor: monit.
Starting daemon monitor: monit.
17:34:23
#touch -rf
touch: ошибка получения атрибутов `f': Нет такого файла или каталога
17:42:31
#touch -rf
touch: ошибка получения атрибутов `f': Нет такого файла или каталога
17:43:21
#ls
Desktop  dfdf  Documents  Download  file  Music  Pictures  Public  -rf  Templates  Videos  ~.vimrc
17:43:22
#rm ./
.bash_history     .dbus/            Download/         .gstreamer-0.10/  .lilalo/          Public/           Templates/
.bash_logout      .ddd.swp          file              .gtk-bookmarks    .local/           .purple/          Videos/
.bash_profile     Desktop/          .gajim/           .gvfs/            .mozilla/         -rf               .viminfo
.bashrc           dfdf              .gconf/           .htoprc           Music/            .screenrc         ~.vimrc
.cache/           .dmrc             .gconfd/          .ICEauthority     Pictures/         .sendxmpprc       .Xauthority
.config/          Documents/        .gnome2/          .l3rc             .profile          .ssh/             .xsession-errors
17:43:22
#rm ./-rf

17:43:32
#ls
Desktop  dfdf  Documents  Download  file  Music  Pictures  Public  Templates  Videos  ~.vimrc
17:43:33
#man pas
17:43:33
#mna file
.bash_history     .dbus/            Download/         .gstreamer-0.10/  .lilalo/          Public/           Videos/
.bash_logout      .ddd.swp          file              .gtk-bookmarks    .local/           .purple/          .viminfo
.bash_profile     Desktop/          .gajim/           .gvfs/            .mozilla/         .screenrc         ~.vimrc
.bashrc           dfdf              .gconf/           .htoprc           Music/            .sendxmpprc       .Xauthority
.cache/           .dmrc             .gconfd/          .ICEauthority     Pictures/         .ssh/             .xsession-errors
.config/          Documents/        .gnome2/          .l3rc             .profile          Templates/
17:43:33
#man passwd
17:47:59
#man 5 passwd
17:48:08
#man passwd
17:48:10
#man -s copy
17:50:32
#ашfind
find       find2perl  findfs
17:50:32
#find
find       find2perl  findfs
17:50:32
#find copy
find: `copy': Нет такого файла или каталога
прошла 41 минута
18:32:13
#exit
Есть приостановленные задачи.
18:32:14
#exit

Четверг (05/28/09)

/dev/pts/0
09:33:02
$ssh root@10.0.35.100
root@10.0.35.100's password:
Linux linux0 2.6.18-6-xen-686 #1 SMP Sun Feb 10 22:43:13 UTC 2008 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu May 28 09:47:58 2009 from linux7.unix.nt
/dev/pts/2
09:33:07
$Ðl3
l3                 l3_close_session   l3mass_upload      l3script
l3-agent           l3-config          l3pwd              l3shot
l3cd               l3_fix_prompt      l3_save_last_line  l3upload
09:33:07
$l3-agent
Removing stale pidfile
/dev/pts/4
09:33:09
$setxkbmap -layout "us,ru"gor@chub.in

09:33:34
$sudo -s
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
[sudo] password for user:
09:33:38
$su
Пароль:
09:33:51
#setxkbmap -option "compose:ralt"

09:34:09
#l3-agent

прошло 11 минут
/dev/pts/2
09:45:36
$l3-agent
l3-agent is already running: pid=5063; pidfile=/home/user/.lilalo/l3-agent.pid
/dev/pts/4
09:45:46
#apt-get install strace
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  update-inetd portmap
Для их удаления используйте 'apt-get autoremove'.
НОВЫЕ пакеты, которые будут установлены:
  strace
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 161kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 336kB.
Получено:1 http://10.0.35.1 sid/main strace 4.5.18-1 [161kB]
Получено 161kБ за 0s (9511kБ/c)
Выбор ранее не выбранного пакета strace.
(Чтение базы данных ... на данный момент установлено 44681 файлов и каталогов.)
Распаковывается пакет strace (из файла .../strace_4.5.18-1_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет strace (4.5.18-1) ...
/dev/pts/2
09:45:48
$date
Чтв Май 28 09:45:57 EEST 2009
/dev/pts/0
09:48:30
#screen -ls
09:48:35
#screen -ls
09:51:27
#screen -ч
09:51:30
#screen -Ñx
прошло 12 минут
/dev/pts/2
10:04:03
$date
Чтв Май 28 10:04:07 EEST 2009
10:04:07
$чÑÐl3-agent
l3-agent is already running: pid=5063; pidfile=/home/user/.lilalo/l3-agent.pid
прошла 41 минута
10:45:37
$id
uid=1000(user) gid=1000(user) группы=1000(user)
10:45:44
$umask
0022
10:47:12
$id
uid=1000(user) gid=1000(user) группы=1000(user)
10:50:58
$тoclock
^C
прошло 70 минут
/dev/pts/4
12:01:24
#str
strace   strfile  strings  strip
12:01:24
#strace
usage: strace [-dffhiqrtttTvVxx] [-a column] [-e expr] ... [-o file]
              [-p pid] ... [-s strsize] [-u username] [-E var=val] ...
              [command [arg ...]]
   or: strace -c [-e expr] ... [-O overhead] [-S sortby] [-E var=val] ...
              [command [arg ...]]
-c -- count time, calls, and errors for each syscall and report summary
-f -- follow forks, -ff -- with output into separate files
-F -- attempt to follow vforks, -h -- print help message
-i -- print instruction pointer at time of syscall
-q -- suppress messages about attaching, detaching, etc.
...
-e expr -- a qualifying expression: option=[!]all or option=[!]val1[,val2]...
   options: trace, abbrev, verbose, raw, signal, read, or write
-o file -- send trace output to FILE instead of stderr
-O overhead -- set overhead for tracing syscalls to OVERHEAD usecs
-p pid -- trace process with process id PID, may be repeated
-s strsize -- limit length of print strings to STRSIZE chars (default 32)
-S sortby -- sort syscall counts by: time, calls, name, nothing (default time)
-u username -- run command as username handling setuid and/or setgid
-E var=val -- put var=val in the environment for command
-E var -- remove var from the environment for command
12:01:49
#ntpdate
ntpdate         ntpdate-debian
12:01:49
#ntpdate -q
28 May 12:14:42 ntpdate[28167]: no servers can be used, exiting
прошло 12 минут
12:14:42
#apt-get install pwgen n
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
E: Не удалось найти пакет n
прошло 17 минут
12:32:24
#apt-get install pwgen
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  update-inetd portmap
Для их удаления используйте 'apt-get autoremove'.
НОВЫЕ пакеты, которые будут установлены:
  pwgen
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 19,2kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 77,8kB.
Получено:1 http://10.0.35.1 sid/main pwgen 2.06-1 [19,2kB]
Получено 19,2kБ за 0s (27,8kБ/c)
Выбор ранее не выбранного пакета pwgen.
(Чтение базы данных ... на данный момент установлено 44691 файлов и каталогов.)
Распаковывается пакет pwgen (из файла .../archives/pwgen_2.06-1_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет pwgen (2.06-1) ...
12:32:28
#pwgen
eChu1esh iMues1oe zeiNg9ah ki3Ohwu4 Geez1ie7 Ous6choo ku9Aipho Eu1Chuo4
qui5eB0e ush3Phoo tuiGh3oo Eel1Poh5 ue7eePh2 To2yoWoh Reephaa9 Eihee9ma
aen5iuZo Mee9Eiki aiPhom5s chooTh3E thoTh8Ai adia1Ahf eed7eeMu laigh1Ot
Ahf7nuji Voom4evu Aeh0Aet5 goa6Xoon aahuB5wu aiGha8Ri dee9Ver8 Ohph4ahY
gigh5Di9 ho5Falie Eed3shae osoZae9S Irel5oeB que9paiB aeRutae2 doqu1XaN
acoT2gah kohSh9oo Oruifah2 Ochae5ge aigh7Tu1 Neidohm6 aeroF4ae oLee5sie
iT6emaer ieNai0ye gooXooh2 Ukei1uQu Thoo6aht she7Eech euQu5bio giQuiem3
Aid1uato Thae1Eef eiM7cha4 haiTahl8 Aech4see cuav8eeK eiDee7pa aeZef3sh
ooW8Yo8a maen3aPa good4Yae koGeej1i aCh6aco9 tohWei6K EizeiD5y wah7aeLe
Ohheid7r thaub9Ee Iesh6aef eeB1poof Leish6Xa ohthai5O ieSh3eef Shief8oh
Eic0eiTh queigh4E eer6Shui ahqu6OoG eix1Qui2 Ahzai8La epeiJee8 aeHie2au
shiqu0Ie aiw0Yaga oos3yi2A Liesul5w ahGhij6O ahBe8yi3 loQu3ohk pah5Kegh
thi0oWit Uakidi2G guSho4ei Fae2Chei ooQu5sho eM5ea7ke aap9Iqua hae3Ahj3
iG8phaNg boat5iJ4 Aigoe7ae ieHoew7i Eid4ahth Be7Ma9ae baLohY8t Goo1vai4
haeX7Pie eith1ohB Zi7Ang4j Ahwah9zo oN7eich9 eboh2eiP aeNe3oNg beiJ2Oor
so5Nae1u eeCeib2o Ooshee2i Yie0ooza saec8riR Phook7pu aewa2Aid ohphao2Z
xaiJ3aib KaiKeak9 eeginiL8 Meiwau3i jahKo6Mu Och7tha3 co7Ruipe aeThai0k
iaf8fiWa cahzoo2P ith7Kai5 shiCh8ei ewahSh7i IeDonee1 kahPh1co Aetoong9
quooX4Tu Yei2shae Ahj3Haiv eeNg9euf YohC3ve7 Phaevi0B Pon9ohm9 uNgie1Po
wo5phieT erae6Agh Axa4eeZ4 fe1zieHi Bai8IeNu shooCh2I oLi7laeh uC1oghai
12:32:38
#apt-get install miscfiles
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Уже установлена самая новая версия miscfiles.
miscfiles установлен вручную.
Следующие пакеты устанавливались автоматически и больше не требуются:
  update-inetd portmap
Для их удаления используйте 'apt-get autoremove'.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
12:36:11
#pro
probes       propertyTag  prove
12:36:11
#which propernames

12:36:44
#zcat /usr/share/doc
doc/      doc-base/
12:36:44
#zcat /usr/share/doc/m
mailx/             man-db/            mawk/              miscfiles/         monit/
make/              manpages/          menu/              mktemp/            mount/
makedev/           manpages-ru/       mime-support/      module-init-tools/
12:36:44
#zcat /usr/share/doc/miscfiles/
abbrevs.gen.gz       changelog.Debian.gz  dict-README.gz       na.phone.gz          README.debian.gz
abbrevs.talk.gz      changelog.gz         inter.phone.gz       na.postalcodes.gz    README.gz
airport.gz           cities.dat.gz        languages.gz         NEWS.gz              unicode.gz
ascii.gz             countries.gz         latin1.gz            operator.gz
birthtoken.gz        currency.gz          mailinglists.gz      ORIGIN.gz
12:36:44
#zcat /usr/share/dict
dict/                dictionaries-common/
12:36:44
#zcat /usr/share/dict/
connectives.gz          propernames.gz          README.select-wordlist  web2a.gz
12:36:44
#zcat /usr/share/dict/propernames.gz | head 200
head: невозможно открыть `200' для чтения: Нет такого файла или каталога
12:40:33
#zcat /usr/share/dict/propernames.gz | head -n 200
Angelica
Angus
Anita
Ann
Anna
Annard
Anne
Annie
Anthea
Anthony
...
Chris
Christian
Christie
Christina
Christofer
Christophe
Christopher
Chuck
Cinderella
Cindie
12:40:42
#zcat /usr/share/dict/propernames.gz | head -n 200 | tr A-Z a-z
angelica
angus
anita
ann
anna
annard
anne
annie
anthea
anthony
...
chris
christian
christie
christina
christofer
christophe
christopher
chuck
cinderella
cindie
12:41:06
#zcat /usr/share/dict/propernames.gz | head -n 200 | tr A-Z a-z > /tmp/200users

12:41:25
#less /tmp/200users
12:41:54
#echo $RANDOM
6127
12:42:21
#cat /dev/urandom | tr -cd 0-9a-zA-Z`\n`| grep -x ........
bash: n: команда не найдена
^C
12:43:20
#cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........
ZA3X7RNz
exx4tjHg
1ePbMlsZ
sJOx5ttB
G58PCeir
UHTbreyf
RhDJvZZo
GSbE75io
7BtwWGHz
qX33KOE3
...
VIzTECGU
BEspDPNV
1K20zPXX
bpWRDaOM
6mlPLp7y
LN6Ilo8W
4Lt4k9h7
Z5lD1Zzk
5Pi5BvmL
^C
12:43:33
#cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 200
LQeXR5Wj
UQctR76Q
Je5efcV7
BVvTcKCu
eFOtt1ck
MScPZGR5
RffGRgeO
PMmL3szX
9oisGmBn
HPu3apyn
...
oxAhyaSC
OzRCbTdL
HDWDcLVw
lL1yAbaR
s6PDySrm
pfZ7Ud20
f8CRXNSb
cwzhE30f
8X6CAScH
^C
12:43:47
#cat /dev/urandom | tr -cd 0-9a-zA-Z'\n'| grep -x ........ | head -n 200 > 200passw

12:43:59
#cd /tmp/

12:44:03
#ls
200users  date2.log  date.log  keyring-OOzMLB  orbit-user  ssh-HBFJwm2864

Статистика

Время первой команды журнала16:43:20 2009- 5-27
Время последней команды журнала12:44:03 2009- 5-28
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %29.70
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 2.44
Количество командных строк в единицу времени, команда/мин 0.69
Частота использования команд
grep18|=============| 13.43%
ps15|===========| 11.19%
zcat9|======| 6.72%
head6|====| 4.48%
tr6|====| 4.48%
man5|===| 3.73%
apt-get5|===| 3.73%
screen4|==| 2.99%
cat4|==| 2.99%
pgrep4|==| 2.99%
ls3|==| 2.24%
/etc/init.d/syslog-ng3|==| 2.24%
l3-agent3|==| 2.24%
/etc/init.d/monit3|==| 2.24%
ntpdate2|=| 1.49%
pkill2|=| 1.49%
rm2|=| 1.49%
pg2|=| 1.49%
find2|=| 1.49%
touch2|=| 1.49%
id2|=| 1.49%
vi2|=| 1.49%
exit2|=| 1.49%
date2|=| 1.49%
setxkbmap2|=| 1.49%
pwgen1|| 0.75%
200users1|| 0.75%
umask1|| 0.75%
cd1|| 0.75%
мvi1|| 0.75%
echo1|| 0.75%
log1|| 0.75%
-s1|| 0.75%
strace1|| 0.75%
pro1|| 0.75%
sudo1|| 0.75%
200passw1|| 0.75%
mna1|| 0.75%
str1|| 0.75%
ашfind1|| 0.75%
чÑÐl3-agent1|| 0.75%
мapt-get1|| 0.75%
less1|| 0.75%
kill1|| 0.75%
ssh1|| 0.75%
Ðl31|| 0.75%
which1|| 0.75%
тoclock1|| 0.75%
su1|| 0.75%
____
*) Интервалы неактивности длительностью 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$