/l3/users/dolgov/nt-bsdadm/fbsd1.unix.nt/root :1 :2 :3 :4 :5 :6 :7 :8 :9 |
|
#echo adminroot | pw useramo user2 -h 0 L russian -c 'Vasilii Bu
|
#echo adminroot | pw useramod user2 -h 0 L russian -c 'Vasilii B
|
#echo adminroot | pw usermod user2 -h 0 L russian -c 'Vasilii Bu
|
#echo adminroot | pw usermod user2 -h 0 L russian -c 'Vasilii B
kovic' -s /usr/local/bin/bash -m |
#ls /home/user
user/ user1/ |
#ls /home/
.snap user user1 |
#echo adminroot | pw usermod user2 -h 0 L russian -c 'Vasilii Bu
ls /home/ kovic' -s /usr/local/bin/bash -m |
#pw userdel user2
|
#echo adminroot | pw usermod user2 -h 0 L russian -c 'Vasilii Bu
ot | pw userad kovic' -s /usr/local/bin/bash -m kovic' -s /usr/local/bin/bash -m |
#ls /home/
.snap/ user/ user1/ |
#echo adminroot | pw useradd user2 -h 0 L russian -c 'Vasilii Bu
|
#echo adminroot | pw useradd user2 -h 0 -L russian -c 'Vasilii B
|
#pw userdel user2
|
#pw userdel user2
|
#echo adminroot | pw useradd user2 -h 0 -L russian -c 'Vasilii B
ukovic' -s /usr/local/bin/bash -m |
#echo adminroot | pw useradd user2 -h 0 -L russian -c 'Vasilii B
pw userdel user2 ukovic' -s /usr/local/bin/bash -m |
#echo adminroot | pw useradd user2 -h 0 L russian -c 'Vasilii Bu
pw userdel user2 kovic' -s /usr/local/bin/bash -m |
#ls /home/
.snap user user1 user2 |
#pw userdel -r user2
pw: user name or id required |
#pw -r userdel user2
usage: pw [user|group|lock|unlock] [add|del|mod|show|next] [help|switches/values] |
#man pw
|
#pw userdel user2 -r
|
#ls /home/
.snap user user1 |
#cd /home/user
|
#ls
.Xauthority .cshrc .login .profile .bash_history .hushlogin .login_conf .rhosts .bash_profile .l3rc .mail_aliases .shrc .bashrc .lilalo .mailrc install |
#ls -l
total 32 -rw------- 1 user wheel 59 Aug 30 15:28 .Xauthority -rw------- 1 user wheel 288 Aug 30 17:51 .bash_history -rw-r--r-- 1 user wheel 22 Aug 30 15:03 .bash_profile -rw-r--r-- 1 user wheel 43 Aug 30 15:01 .bashrc -rw-r--r-- 1 user wheel 767 Aug 30 17:49 .cshrc -rw-r--r-- 1 root wheel 0 Aug 30 17:22 .hushlogin -rw-r--r-- 1 user wheel 48 Aug 30 15:01 .l3rc drwxr-xr-x 2 user wheel 2048 Aug 30 17:35 .lilalo -rw-r--r-- 1 user wheel 248 Aug 30 17:49 .login -rw-r--r-- 1 user wheel 158 Aug 30 17:49 .login_conf -rw------- 1 user wheel 373 Aug 30 17:49 .mail_aliases -rw-r--r-- 1 user wheel 331 Aug 30 17:49 .mailrc -rw-r--r-- 1 user wheel 797 Aug 30 17:49 .profile -rw------- 1 user wheel 276 Aug 30 17:49 .rhosts -rw-r--r-- 1 user wheel 975 Aug 30 17:49 .shrc -rw-r--r-- 1 user wheel 3945 Aug 30 15:00 install |
#touch a
|
#touch b
|
#ls -l
total 32 -rw------- 1 user wheel 59 Aug 30 15:28 .Xauthority -rw------- 1 user wheel 288 Aug 30 17:51 .bash_history -rw-r--r-- 1 user wheel 22 Aug 30 15:03 .bash_profile -rw-r--r-- 1 user wheel 43 Aug 30 15:01 .bashrc -rw-r--r-- 1 user wheel 767 Aug 30 17:49 .cshrc -rw-r--r-- 1 root wheel 0 Aug 30 17:22 .hushlogin -rw-r--r-- 1 user wheel 48 Aug 30 15:01 .l3rc drwxr-xr-x 2 user wheel 2048 Aug 30 17:35 .lilalo -rw-r--r-- 1 user wheel 248 Aug 30 17:49 .login -rw-r--r-- 1 user wheel 158 Aug 30 17:49 .login_conf -rw------- 1 user wheel 373 Aug 30 17:49 .mail_aliases -rw-r--r-- 1 user wheel 331 Aug 30 17:49 .mailrc -rw-r--r-- 1 user wheel 797 Aug 30 17:49 .profile -rw------- 1 user wheel 276 Aug 30 17:49 .rhosts -rw-r--r-- 1 user wheel 975 Aug 30 17:49 .shrc -rw-r--r-- 1 root wheel 0 Aug 30 17:55 a -rw-r--r-- 1 root wheel 0 Aug 30 17:55 b -rw-r--r-- 1 user wheel 3945 Aug 30 15:00 install |
#chown root a
|
#chgrp wheel a
|
#chown user b
|
#chgrp wheel b
|
#chown user:wheel b
|
#ls
.Xauthority .cshrc .login .profile b .bash_history .hushlogin .login_conf .rhosts install .bash_profile .l3rc .mail_aliases .shrc .bashrc .lilalo .mailrc a |
#mkdir files
|
#cp /home/user/a /home/user/files/a
|
#cp /home/user/b /home/user/files/b
|
#ls
.Xauthority .cshrc .login .profile b .bash_history .hushlogin .login_conf .rhosts files .bash_profile .l3rc .mail_aliases .shrc install .bashrc .lilalo .mailrc a |
#cd /home/user/files/
|
#ls
a b |
#touch file1
|
#touch file2
|
#touch file3
|
#touch file4
|
#ls
a b file1 file2 file3 file4 |
#chmod a
usage: chmod [-fhv] [-R [-H | -L | -P]] mode file ... |
#chmod a=rx
usage: chmod [-fhv] [-R [-H | -L | -P]] mode file ... |
#chmod a=rx file1
|
#ls -l
total 0 -rw-r--r-- 1 root wheel 0 Aug 30 17:57 a -rw-r--r-- 1 root wheel 0 Aug 30 17:57 b -r-xr-xr-x 1 root wheel 0 Aug 30 17:58 file1 -rw-r--r-- 1 root wheel 0 Aug 30 17:58 file2 -rw-r--r-- 1 root wheel 0 Aug 30 17:58 file3 -rw-r--r-- 1 root wheel 0 Aug 30 17:58 file4 |
#chmod u=rx, g=, o= file1
chmod: invalid file mode: u=rx, |
#chmod u=rx,g=,o= file1
|
#ls -l
total 0 -rw-r--r-- 1 root wheel 0 Aug 30 17:57 a -rw-r--r-- 1 root wheel 0 Aug 30 17:57 b -r-x------ 1 root wheel 0 Aug 30 17:58 file1 -rw-r--r-- 1 root wheel 0 Aug 30 17:58 file2 -rw-r--r-- 1 root wheel 0 Aug 30 17:58 file3 -rw-r--r-- 1 root wheel 0 Aug 30 17:58 file4 |
#chmod a=rx file2
|
#chmod 600 file3
|
#ls -l
total 0 -rw-r--r-- 1 root wheel 0 Aug 30 17:57 a -rw-r--r-- 1 root wheel 0 Aug 30 17:57 b -r-x------ 1 root wheel 0 Aug 30 17:58 file1 -r-xr-xr-x 1 root wheel 0 Aug 30 17:58 file2 -rw------- 1 root wheel 0 Aug 30 17:58 file3 -rw-r--r-- 1 root wheel 0 Aug 30 17:58 file4 |
#cd /tmp/
|
#ls
.ICE-unix .XIM-unix .snap day3 screens .X11-unix .font-unix cat ghghghghgh |
#mkdir /tmp/mytmp
|
#ls
.ICE-unix .XIM-unix .snap day3 mytmp .X11-unix .font-unix cat ghghghghgh screens |
#ls -l
total 328 drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .ICE-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .X11-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .XIM-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .font-unix drwxrwxr-x 2 root operator 512 Aug 30 17:34 .snap -r-sr-xr-x 1 root wheel 8036 Aug 30 16:48 cat drwxr-xr-x 3 user wheel 512 Aug 30 16:17 day3 -r-Sr-Sr-- 1 root wheel 281372 Aug 30 16:49 ghghghghgh drwxr-xr-x 2 root wheel 512 Aug 30 18:02 mytmp drwxr-xr-x 3 root wheel 512 Aug 30 16:43 screens |
#chmod 777 mytmp
|
#ls -l
total 328 drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .ICE-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .X11-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .XIM-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .font-unix drwxrwxr-x 2 root operator 512 Aug 30 17:34 .snap -r-sr-xr-x 1 root wheel 8036 Aug 30 16:48 cat drwxr-xr-x 3 user wheel 512 Aug 30 16:17 day3 -r-Sr-Sr-- 1 root wheel 281372 Aug 30 16:49 ghghghghgh drwxrwxrwx 2 root wheel 512 Aug 30 18:02 mytmp drwxr-xr-x 3 root wheel 512 Aug 30 16:43 screens |
#chmod +t mytmp
|
#cp /home/user/files/file[1234] /tmp/mytmp/
|
#ls -l
total 328 drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .ICE-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .X11-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .XIM-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .font-unix drwxrwxr-x 2 root operator 512 Aug 30 17:34 .snap -r-sr-xr-x 1 root wheel 8036 Aug 30 16:48 cat drwxr-xr-x 3 user wheel 512 Aug 30 16:17 day3 -r-Sr-Sr-- 1 root wheel 281372 Aug 30 16:49 ghghghghgh drwxrwxrwt 2 root wheel 512 Aug 30 18:05 mytmp drwxr-xr-x 3 root wheel 512 Aug 30 16:43 screens |
#cd mytmp/
|
#ls -l
total 0 -r-x------ 1 root wheel 0 Aug 30 18:05 file1 -r-xr-xr-x 1 root wheel 0 Aug 30 18:05 file2 -rw------- 1 root wheel 0 Aug 30 18:05 file3 -rw-r--r-- 1 root wheel 0 Aug 30 18:05 file4 |
#cd ..
|
#pwd
/tmp |
#ls -l
total 328 drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .ICE-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .X11-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .XIM-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .font-unix drwxrwxr-x 2 root operator 512 Aug 30 17:34 .snap -r-sr-xr-x 1 root wheel 8036 Aug 30 16:48 cat drwxr-xr-x 3 user wheel 512 Aug 30 16:17 day3 -r-Sr-Sr-- 1 root wheel 281372 Aug 30 16:49 ghghghghgh drwxrwxrwt 2 root wheel 512 Aug 30 18:05 mytmp drwxr-xr-x 3 root wheel 512 Aug 30 16:43 screens |
#rmdir -r mytmp/
rmdir: illegal option -- r usage: rmdir [-pv] directory ... |
#rmdir -pv mytmp/
rmdir: mytmp/: Directory not empty |
#rmdir -p mytmp/
rmdir: mytmp/: Directory not empty |
#rm -rf mytmp
|
#ls -l
total 326 drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .ICE-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .X11-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .XIM-unix drwxrwxrwt 2 root wheel 512 Aug 30 14:51 .font-unix drwxrwxr-x 2 root operator 512 Aug 30 17:34 .snap -r-sr-xr-x 1 root wheel 8036 Aug 30 16:48 cat drwxr-xr-x 3 user wheel 512 Aug 30 16:17 day3 -r-Sr-Sr-- 1 root wheel 281372 Aug 30 16:49 ghghghghgh drwxr-xr-x 3 root wheel 512 Aug 30 16:43 screens |
#disklabel -e /dev/ad0s3
# size offset fstype [fsize bsize bps/cpg] b: 4109968 0 swap c: 36997695 0 unused 0 0 # "raw" part, don't edit d: 4151296 4109968 4.2BSD 2048 16384 28536 e: 1048576 8261264 4.2BSD 2048 16384 8 f: 27687855 9309840 4.2BSD 2048 16384 28552 ~ ~ ~ ~ ... ~ ~ ~ ~ ~ ~ ~ ~ ~ :q! |
#disklabel -e /dev/ad0s4
d: 10485760 0 4.2BSD 2048 16384 28552 e: 10000000 * * ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ /tmp/EdDk.3svEZpSMkY: 7 ÓÔÒÏË, 250 ÓÉÍ×ÏÌÏ× . line 6: Warning, unknown file system type * |
#disklabel -e /dev/ad0s4
# size offset fstype [fsize bsize bps/cpg] c: 36997695 0 unused 0 0 # "raw" part, don't edit d: 10485760 0 4.2BSD 2048 16384 28552 e: 10000000 10485760 unused 0 0 ~ ~ ~ ~ ~ ~ ... ~ ~ ~ ~ ~ ~ ~ ~ ~ :q! |
#ls -l /dev/ad0s4e
crw-r----- 1 root operator 0, 123 30 Á×Ç 14:51 /dev/ad0s4e |
#newfs /dev/ad0s4e
/dev/ad0s4e: 4882.8MB (10000000 sectors) block size 16384, fragment size 2048 using 27 cylinder groups of 183.77MB, 11761 blks, 23552 inodes. super-block backups (for fsck -b #) at: 160, 376512, 752864, 1129216, 1505568, 1881920, 2258272, 2634624, 3010976, 3387328, 3763680, 4140032, 4516384, 4892736, 5269088, 5645440, 6021792, 6398144, 6774496, 7150848, 7527200, 7903552, 8279904, 8656256, 9032608, 9408960, 9785312 |
#mount /dev/ad0s4e /mnt
|
#ls /mnt
.snap |
#umount /mnt
|
#mount /dev/ad0s4e /mnt
|
#df -h /mnt
Filesystem Size Used Avail Capacity Mounted on /dev/ad0s4e 4.6G 4.0K 4.2G 0% /mnt |
#disklabel -e /dev/ad0s4
# size offset fstype [fsize bsize bps/cpg] c: 36997695 0 unused 0 0 # "raw" part, don't edit d: 10485760 0 4.2BSD 2048 16384 28552 e: 10000000 10485760 4.2BSD 2048 16384 28552 f: 10000000 * unused ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ /tmp/EdDk.c8KpF5tBLN: 8 ÓÔÒÏË, 310 ÓÉÍ×ÏÌÏ× |
#disklabel -e /dev/ad0s4
# size offset fstype [fsize bsize bps/cpg] c: 36997695 0 unused 0 0 # "raw" part, don't edit d: 10485760 0 4.2BSD 2048 16384 28552 e: 10000000 10485760 4.2BSD 2048 16384 28552 f: 10000000 20485760 unused 0 0 ~ ~ ~ ~ ~ ... ~ ~ ~ ~ ~ ~ ~ ~ ~ :q! |
#mount /dev/ad0s4f /mnt
mount: /dev/ad0s4f on /mnt: incorrect super block |
#file -s /dev/ad0s4f
/dev/ad0s4f: data |
#newfs /dev/ad0s4f
/dev/ad0s4f: 4882.8MB (10000000 sectors) block size 16384, fragment size 2048 using 27 cylinder groups of 183.77MB, 11761 blks, 23552 inodes. super-block backups (for fsck -b #) at: 160, 376512, 752864, 1129216, 1505568, 1881920, 2258272, 2634624, 3010976, 3387328, 3763680, 4140032, 4516384, 4892736, 5269088, 5645440, 6021792, 6398144, 6774496, 7150848, 7527200, 7903552, 8279904, 8656256, 9032608, 9408960, 9785312 |
#file -s /dev/ad0s4f
/dev/ad0s4f: data |
#mount /dev/ad0s4f /mnt
|
#umount /mnt
|
#disklabel -e /dev/ad0s4
# size offset fstype [fsize bsize bps/cpg] c: 36997695 0 unused 0 0 # "raw" part, don't edit d: 10485760 0 4.2BSD 2048 16384 28552 ~ ~ ~ ~ ~ ~ ~ ... ~ ~ ~ ~ ~ ~ ~ ~ ~ /tmp/EdDk.VquiV3ZDrv: 5 ÓÔÒÏË, 221 ÓÉÍ×ÏÌÏ× |
#disklabel -e /dev/ad0s4
# size offset fstype [fsize bsize bps/cpg] c: 36997695 0 unused 0 0 # "raw" part, don't edit d: 10485760 0 4.2BSD 2048 16384 28552 e: 15000000 10485760 4.2BSD 2048 16384 28552 ~ ~ ~ ~ ~ ~ ... ~ ~ ~ ~ ~ ~ ~ ~ ~ /tmp/EdDk.lChfcbyc7h: 6 ÓÔÒÏË, 276 ÓÉÍ×ÏÌÏ× |
#disklabel -e /dev/ad0s4
# size offset fstype [fsize bsize bps/cpg] c: 36997695 0 unused 0 0 # "raw" part, don't edit d: 10485760 0 4.2BSD 2048 16384 28552 e: 15000000 10485760 4.2BSD 2048 16384 28552 ~ ~ ~ ~ ~ ~ ... ~ ~ ~ ~ ~ ~ ~ ~ ~ :q! |
#newfs /dev/ad0s4e
newfs: /dev/ad0s4e: failed to open disk for writing |
#disklabel -e /dev/ad0s4
# size offset fstype [fsize bsize bps/cpg] c: 36997695 0 unused 0 0 # "raw" part, don't edit d: 10485760 0 4.2BSD 2048 16384 28552 e: 15000000 * unused 2048 16384 28552 ~ ~ ~ ~ ~ ~ ... ~ ~ ~ ~ ~ ~ ~ ~ ~ /tmp/EdDk.vYhnLPLQM2: 6 ÓÔÒÏË, 271 ÓÉÍ×ÏÌÏ× |
#disklabel -e /dev/ad0s4
# size offset fstype [fsize bsize bps/cpg] c: 36997695 0 unused 0 0 # "raw" part, don't edit d: 10485760 0 4.2BSD 2048 16384 28552 e: 15000000 10485760 unused 2048 16384 ~ ~ ~ ~ ~ ~ ... ~ ~ ~ ~ ~ ~ ~ ~ ~ :q! |
Время первой команды журнала | 17:49:55 2006- 8-30 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 10:31:01 2006- 8-31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 13.86 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.00 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 0.45 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 3.77 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.
Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
$ l s-l bash: l: command not found |
Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
$ test 5 -lt 4 |
Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
$ 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 |
Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
# id uid=0(root) gid=0(root) Gruppen=0(root) |
Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
$ vi ~/.bashrc
|
Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
$ patch ~/.bashrc |
Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.
Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.
Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.
Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора
Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.
Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.
Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:
$ whoami
user
$ #^ Интересно, кто я?в журнале это будет выглядеть так:
$ whoami
user
Интересно, кто я? |
Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:
$ whoami
user
$ cat > /dev/null #^ Интересно, кто я?
Программа whoami выводит имя пользователя, под которым мы зарегистрировались в системе. - Она не может ответить на вопрос о нашем назначении в этом мире.В журнале это будет выглядеть так:
$ whoami user
|
Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=
1 2 3 4Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.
LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008