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

Содержание

Журнал

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

/dev/ttyp2
19:17:57
#lynx -dump nt.ua/doc/ip
19:18:15
#vim /tmp/ssh_port_forwarding
19:21:48
#vim for1
--- /tmp/l3-saved-12370.6516.1131	2009-07-06 20:21:49.000000000 +0300
+++ for1	2009-07-06 20:22:21.000000000 +0300
@@ -1,2 +1,6 @@
 #!/bin/bash
+for planet in Earth Sun Moon
+do 
+echo $planet
+done
 
19:22:28
#./for1
[root@debian4:tmp]# chmod +x for1
Earth
Sun
Moon
19:22:39
#./for1
~
~
~
~
~
~
~
~
~
~
...
"for1" 7L, 72C written
+ for planet in Earth Sun Moon
+ echo Earth
Earth
+ for planet in Earth Sun Moon
+ echo Sun
Sun
+ for planet in Earth Sun Moon
+ echo Moon
Moon
19:22:56
#./for1
~
~
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
"for1" 7L, 74C written
+ for planet in '"Earth Sun Moon"'
+ echo Earth Sun Moon
Earth Sun Moon
19:23:25
#cat for1
#!/bin/bash
set -x
for planet in Earth Sun Moon
do
echo $planet
done
exit 0
19:24:39
#vim for2
--- /tmp/l3-saved-12370.15.29056	2009-07-06 20:24:40.000000000 +0300
+++ for2	2009-07-06 20:29:29.000000000 +0300
@@ -1,3 +1,7 @@
 #!/bin/bash
 #/usr/local/bin/bash
-
+set -x
+for i in `seq 400 500`
+do 
+useradd -m user$i; echo user$i:password$i | chpasswd
+done
19:29:29
#chmod +x for2

19:29:46
#vipw
286 user461:x:1265:1265::/home/user461:/bin/sh$
287 user462:x:1266:1266::/home/user462:/bin/sh$
288 user463:x:1267:1267::/home/user463:/bin/sh$
289 user464:x:1268:1268::/home/user464:/bin/sh$
290 user465:x:1269:1269::/home/user465:/bin/sh$
291 user466:x:1270:1270::/home/user466:/bin/sh$
292 user467:x:1271:1271::/home/user467:/bin/sh$
293 user468:x:1272:1272::/home/user468:/bin/sh$
294 user469:x:1273:1273::/home/user469:/bin/sh$
295 user470:x:1274:1274::/home/user470:/bin/sh$
...
+ echo user498:password498
+ chpasswd
+ for i in '`seq 400 500`'
+ useradd -m user499
+ echo user499:password499
+ chpasswd
+ for i in '`seq 400 500`'
+ useradd -m user500
+ echo user500:password500
+ chpasswd
19:32:26
#vim for3
19:37:47
#./for3
[root@debian4:tmp]# chmod +x for3
+ FILES='/usr/bin/passwd
/usr/bin/X
/bin/bunzip2
/sbin/sergey
/sbin/ifconfig'
+ for i in '$FILES'
+ '[' '!' -e /usr/bin/passwd ']'
+ ls -lh /usr/bin/passwd
+ awk '{print$9" has size: "$5}'
...
+ whatis sergey
sergey: nothing appropriate.
+ for i in '$FILES'
+ '[' '!' -e /sbin/ifconfig ']'
+ ls -lh /sbin/ifconfig
+ awk '{print$9" has size: "$5}'
/sbin/ifconfig has size: 58K
++ basename /sbin/ifconfig
+ whatis ifconfig
ifconfig (8)         - configure a network interface
19:37:59
#./for3
~
~
~
~
~
~
~
~
~
~
...
passwd (1ssl)        - compute password hashes
/usr/bin/X has size: 7.5K
X: nothing appropriate.
/bin/bunzip2 has size: 25K
bunzip2 (1)          - a block-sorting file compressor, v1.0.3
File /sbin/sergey not found
ls: /sbin/sergey: No such file or directory
sergey: nothing appropriate.
/sbin/ifconfig has size: 58K
ifconfig (8)         - configure a network interface
19:38:52
#./for3
~
~
~
~
~
~
~
~
~
~
...
passwd (1)           - change user password
passwd (5)           - the password file
passwd (1ssl)        - compute password hashes
/usr/bin/X has size: 7.5K
X: nothing appropriate.
/bin/bunzip2 has size: 25K
bunzip2 (1)          - a block-sorting file compressor, v1.0.3
File /sbin/sergey not found
/sbin/ifconfig has size: 58K
ifconfig (8)         - configure a network interface
19:39:20
#./for3
~
~
~
~
~
~
~
~
~
~
...
"for3" 15L, 234C written
/usr/bin/passwd has size: 28K
passwd (1)           - change user password
passwd (5)           - the password file
passwd (1ssl)        - compute password hashes
/bin/bunzip2 has size: 25K
bunzip2 (1)          - a block-sorting file compressor, v1.0.3
File /sbin/sergey not found
/sbin/ifconfig has size: 58K
ifconfig (8)         - configure a network interface
19:39:32
#cat ./for2
[root@debian4:tmp]# cat ./for3
#!/bin/bash
#set -x
FILES="/usr/bin/passwd
/bin/bunzip2
/sbin/sergey
/sbin/ifconfig"
for i in $FILES
do
if [ ! -e "$i"  ]
...
ls -lh $i | awk '{print$9" has size: "$5}'
whatis `basename $i`
done
#!/bin/bash
#/usr/local/bin/bash
set -x
for i in `seq 400 500`
do
useradd -m user$i; echo user$i:password$i | chpasswd
done
19:39:35
#cat ./for1
#!/bin/bash
set -x
for planet in Earth Sun Moon
do
echo $planet
done
exit 0
19:42:38
#vim select1
--- /tmp/l3-saved-12370.21181.15877	2009-07-06 20:42:39.000000000 +0300
+++ select1	2009-07-06 20:43:41.000000000 +0300
@@ -1,3 +1,6 @@
 #!/bin/bash
 PS3='Please, choise your lovely OS: '
-s
+select os in "Mac OSx" Windows Linux FreeBSD
+do
+echo "You lovely OS is $os."
+done
19:43:42
#chmod +x select1

19:44:00
#vim select1
--- /tmp/l3-saved-12370.15540.21319	2009-07-06 20:44:03.000000000 +0300
+++ select1	2009-07-06 20:44:10.000000000 +0300
@@ -3,4 +3,5 @@
 select os in "Mac OSx" Windows Linux FreeBSD
 do
 echo "You lovely OS is $os."
+break
 done
19:44:10
#./select1
1) Mac OSx
2) Windows
3) Linux
4) FreeBSD
Please, choise your lovely OS: 1
You lovely OS is Mac OSx.
19:44:57
#vim case1
--- /dev/null	2009-06-25 12:01:05.780684212 +0300
+++ case1	2009-07-06 20:45:14.000000000 +0300
@@ -0,0 +1,2 @@
+#!/bin/bash
+
19:47:58
#chmod +x case1
~   read Keypress$
  3 case "Keypress" in$
  4 [a-z] ) echo "This is a latter";;$
  5 [0-9] ) echo "This is a digit" ;;$
  6 * ) echo "This is a punct";;$
  7 esac$
  8 esac
  8 esac
~
~
...
~
~
~
~
~
~
~
~
~
"case1" 8L, 183C written
19:48:03
#./case1
Press any key and then Enter
3
This is a punct
19:48:42
#./case1
~
~
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
"case1" 8L, 186C written
Press any key and then Enter
2
This is a digit
19:48:45
#./case1
Press any key and then Enter
f
This is a latter
19:48:54
#arch
[root@debian4:tmp]# ./case1
Press any key and then Enter
t
This is a latter
i686
19:49:15
#vim case2
19:50:58
#vim ./case1
--- /tmp/l3-saved-12370.11651.16948	2009-07-06 20:51:01.000000000 +0300
+++ ./case1	2009-07-06 20:51:54.000000000 +0300
@@ -1,4 +1,6 @@
 #!/bin/bash
+while [ "$Keypress" != "X" ]
+do
 echo "Press any key and then Enter"
 read Keypress
 case "$Keypress" in
@@ -6,3 +8,4 @@
 [0-9] ) echo "This is a digit" ;;
 * ) echo "This is a punct" ;;
 esac
+done
19:51:54
#./case1
Press any key and then Enter
f
This is a latter
Press any key and then Enter
g
This is a latter
Press any key and then Enter
1
This is a digit
Press any key and then Enter
X
This is a punct
19:52:31
#vim ./while1
19:54:14
#./while1
[root@debian4:tmp]# chmod +x ./while1
1
2
3
4
5
19:54:30
#./while1
29
30
31
32
33
34
35
36
37
38
...
41
42
43
44
45
46
47
48
49
50
19:56:01
#lynx -dump nt.ua/doc/ip | grep MY | sed 's/^MY\ IP\://'
[root@debian4:tmp]# lynx -dump nt.ua/doc/ip | grep MY
MY IP:77.123.245.38
77.123.245.38
19:56:33
#ssh clint@`lynx -dump nt.ua/doc/ip | grep MY | sed 's/^MY\ IP\://'`
[root@debian4:tmp]# ssh clint@`lynx -dump nt.ua/doc/ip | grep MY | sed 's/^MY\ IP\://`
>
clint@77.123.245.38's password:
19:57:12
#ssh clint@`mtip`
[root@debian4:tmp]# myip () {
> lynx -dump nt.ua/doc/ip | grep MY | sed 's/^MY\ IP\://'
> }
bash: mtip: command not found
ssh: : Name or service not known
19:57:56
#myip () { lynx -dump nt.ua/doc/ip | grep MY | sed 's/^MY\ IP\://'; }
[root@debian4:tmp]# ssh clint@`myip`
clint@77.123.245.38's password:
прошла 21 минута
20:19:37
#ls ~
 13
 14
 15 z ()
 16 {
 17     SWITCH=$1
 18     PASSWORD=$2
 19
 20     ( sleep 5;
 21     echo ${PASSWORD};
 22     sleep 2;
...
 25     echo;
 26     $VLAN_COMMANDS | while read line; do
 27         echo $line;
 28         usleep 100000;
 29     done;
 30     sleep 2 ) | socat - EXEC:"ssh ${SWITCH}",setsid,pty,ctty
 31 }
 32
 33 z $SWITCH $PASSWORD
1234  TESTpart  c  g  make-many-vlans.pl  make-vlans-on-switch  make-xen-bridges  proj  source  x  z
прошло 11 минут
20:30:54
#echo #?
[root@debian4:tmp]# cp nofile /tmp
cp: cannot stat `nofile': No such file or directory
20:31:03
#echo $?
0
20:31:11
#echo $?
[root@debian4:tmp]# cp nofile /tmp
cp: cannot stat `nofile': No such file or directory
1
20:31:29
#cp nofile /tmp
[root@debian4:tmp]# touch nofile
cp: `nofile' and `/tmp/nofile' are the same file
20:31:35
#echo $?
1
20:31:55
#echo $?
[root@debian4:tmp]# test 5 -gt 1
0
20:32:04
#echo $?
[root@debian4:tmp]# test 5 -lt 1
1
20:32:59
#echo $?
[root@debian4:tmp]# test -z  "$STRING"
0
20:33:45
#echo $?
[root@debian4:tmp]# test -z  $STRING
0
20:33:55
#test -z "$STRING"
[root@debian4:tmp]# echo  $STRING
20:34:24
#test "$P" != print
[root@debian4:tmp]# test "$P"
20:35:00
#echo $STRING
[root@debian4:tmp]# test -e /etc/motd
20:35:56
#test -k /tmp
[root@debian4:tmp]# test -r /etc/shadow
20:36:16
#test -k /tmp
[root@debian4:tmp]# echo  $STRING
20:36:28
#test -z "$STRING";echo $?
[root@debian4:tmp]# echo $?
0
0
20:38:22
#echo $STRING
[root@debian4:tmp]# test -z  $STRING;echo $?
0
20:39:26
#test x -lt y ; echo $?
[root@debian4:tmp]# x=5; y=10
bash: test: x: integer expression expected
2
20:40:39
#test $x -lt $y ; echo $?
[root@debian4:tmp]# test "x" -lt "y" ; echo $?
bash: test: x: integer expression expected
2
0
20:40:49
#test $x -gt $y ; echo $?
1
20:41:15
#echo "x="$x "y="$y
[root@debian4:tmp]# echo $x $y
5 10
x=5 y=10
20:42:12
#echo "x="$x "y="$y
[root@debian4:tmp]# x=10; y=5
x=10 y=5
20:42:20
#test $x -gt $y ; echo $?
[root@debian4:tmp]# test $x -lt $y ; echo $?
1
0
20:43:49
#echo $FAV_COL;
[root@debian4:tmp]# echo "Your favorite color?" ; read FAV_COL;
Your favorite color?
w
w
20:45:57
#test echo "123- ?" read FAV_OS; [ "$FAV_OS" == "BSD" ] && echo "good choice!!"
[root@debian4:tmp]# test $EUID -ne 0 -a -r /etc/shadow &&  echo ' fffff '
test echo "123- ?" read FAV_OS; [ "$FAV_OS" == "BSD" ] && echo "good choicetest $EUID -ne 0 -a -r /etc/shadow &&  echo ' fffff '"
bash: test: too many arguments
20:48:20
#test echo "123- ?" read FAV_OS; [ "$FAV_OS" == "BSD" ] && echo "good choicetest $EUID -ne 0 -a -r /etc/shadow && echo ' ffff

20:48:20
#test echo "123- ?" read FAV_OS; [ "$FAV_OS" == "BSD" ] && echo "good choice"
bash: test: too many arguments
20:49:08
#BSD
[root@debian4:tmp]# echo "123- ?" read FAV_OS; [ "$FAV_OS" == "BSD" ] && echo "good choice"
123- ? read FAV_OS
bash: BSD: command not found
20:49:51
#echo "123- ?" read FAV_OS; [ "$FAV_OS" == "BSD" ] && \
[root@debian4:tmp]# echo "123- ?" read FAV_OS; [ "$FAV_OS" == "BSD" ] && echo "good choice"
123- ? read FAV_OS
> echo "adasd"
123- ? read FAV_OS
20:50:43
#jklkj;
bash: jklkj: command not found
20:51:15
#echo "123- ?"; read FAV_OS; [ "$FAV_OS" == "BSD" ] || echo "good choice"
[root@debian4:tmp]# echo "123- ?" read FAV_OS; [ "$FAV_OS" == "BSD" ] || echo "good choice"
123- ? read FAV_OS
good choice
123- ?
ghf
good choice
20:51:51
#echo "123- ?"; read FAV_OS; [ "$FAV_OS" == "BSD" ] && echo "good choice"
[root@debian4:tmp]# echo "123- ?"; read FAV_OS; [ "$FAV_OS" == "BSD" ] && echo "good choice"
123- ?
BSD
good choice
123- ?
dasdasd
20:52:11
#while [ $A -lt 10 ]
[root@debian4:tmp]# A=0
> do
> A=$((A+1))
> echo $A
> done
1
2
3
4
5
6
7
8
9
10

Среда (07/08/09)

/dev/ttyp2
17:07:19
#screen -x
17:07:33
#screen -x
17:16:58
#screen
/dev/ttyp8
17:23:34
#screen -x
/dev/ttypa
17:23:47
#screen -x
/dev/ttyp5
17:25:16
#screen -x
/dev/ttypd
17:25:29
#screen -x
/dev/ttyp6
17:25:43
#vim /etc/passwd
17:33:20
#vim /etc/shadow
17:39:31
#crypt
220 user198:6cEo7fFtuCEVs:13951:0:99999:7:::$
189      67:tBBSZgpT0Ij7U                                     220,1         65%
190      68:h1UY2FiKkYaos
191      69:vqc1.vGfXqPL2
192      70:qeZ0tZcpodolk
193      71:iTQ0P1mt8dm0.
194      72:uHL9FDUAkZpGs
195      73:s4zggnOE0.EwM
196      74:LxxiCKXT7Sb2Y
197      75:/lhgHLR06S.K
198      76:1YrYl2/nnZcvo
bash: crypt: command not found
17:39:33
#ls -l /etc/pam.d/
итого 68
-rw-r--r-- 1 root root  384 2007-02-27 09:27 chfn
-rw-r--r-- 1 root root  581 2007-02-27 09:27 chsh
-rw-r--r-- 1 root root  392 2007-12-23 16:30 common-account
-rw-r--r-- 1 root root  436 2007-12-23 16:30 common-auth
-rw-r--r-- 1 root root 1097 2007-12-23 16:30 common-password
-rw-r--r-- 1 root root  372 2007-12-23 16:30 common-session
-rw-r--r-- 1 root root  289 2005-10-14 15:00 cron
-rw-r--r-- 1 root root  263 2006-12-15 10:16 gdm
-rw-r--r-- 1 root root  270 2006-12-16 13:24 gdm-autologin
-rw-r--r-- 1 root root 2843 2007-02-27 09:27 login
-rw-r--r-- 1 root root  520 2003-09-01 01:21 other
-rw-r--r-- 1 root root   92 2007-02-27 09:27 passwd
-rw-r--r-- 1 root root   69 2008-05-29 13:20 samba
-rw-r--r-- 1 root root 1272 2007-03-05 18:36 ssh
-rw-r--r-- 1 root root 2305 2007-02-27 09:27 su
-rw-r--r-- 1 root root   56 2006-04-15 10:39 sudo
-rw-r--r-- 1 root root   63 2006-07-19 22:51 vlock
17:41:03
#vim /etc/group
17:43:37
#id
uid=0(root) gid=0(root) группы=0(root)
17:43:40
#id mega
uid=1202(mega) gid=1202(mega) группы=1202(mega),29(audio)
17:43:41
#[root@fbsd2:~]# vim /etc/shells
# $FreeBSD: src/etc/shells,v 1.5 2000/04/27 21:58:46 ache Exp $
#
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
~
~
~
~
~
~
~
~
~
~
~
"/etc/shells" 11L, 258C
17:43:43
#id 0
id: 0: Такого пользователя нет
17:43:49
#id -u
0
17:44:02
#ssh 192.168.16.210
Password:
Last login: Wed Jul  8 18:21:33 2009
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
        The Regents of the University of California.  All rights reserved.
FreeBSD 6.3-RELEASE (SMP) #0: Wed Jan 16 04:45:45 UTC 2008
Welcome to FreeBSD!
Before seeking technical support, please use the following resources:
o  Security advisories and updated errata information for all releases are
   at http://www.FreeBSD.org/releases/ - always consult the ERRATA section
   for your release first as it's updated frequently.
...
   http://www.FreeBSD.org/search/.  If the doc distribution has
   been installed, they're also available formatted in /usr/share/doc.
If you still have a question or problem, please take the output of
`uname -a', along with any relevant error messages, and email it
as a question to the questions@FreeBSD.org mailing list.  If you are
unfamiliar with FreeBSD's directory layout, please refer to the hier(7)
manual page.  If you are not familiar with manual pages, type `man man'.
You may also use sysinstall(8) to re-enter the installation and
configuration utility.  Edit /etc/motd to change this login announcement.
l3-agent is already running: pid=14011; pidfile=/root/.lilalo/l3-agent.pid
17:46:08
#[root@fbsd2:~]# man master.passwd
           class     User's login class.
           change    Password change time.
           expire    Account expiration time.
           gecos     General information about the user.
           home_dir  User's home directory.
           shell     User's login shell.
17:46:38
#[root@fbsd2:~]#

17:46:39
#[root@fbsd2:~]#

17:48:54
#[root@fbsd2:~]# man rbash
[root@fbsd2:~]# adduser
Username: adduser
Full name: Add User Tesing
Uid (Leave empty for default):
Login group [adduser]:
Login group is adduser. Invite adduser into other groups? []: wheel
Login class [default]: russian
Shell (sh csh tcsh bash rbash nologin) [sh]: bash
Home directory [/home/adduser]:
Use password-based authentication? [yes]:
...
Class      : russian
Groups     : adduser wheel
Home       : /home/adduser
Shell      : /usr/local/bin/bash
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (adduser) to the user database.
Add another user? (yes/no): no
Goodbye!
No manual entry for rbash
17:50:45
#[root@fbsd2:~]#
[root@fbsd2:~]#
17:50:45
#[root@fbsd2:~]#

17:50:45
#[root@fbsd2:~]# vim /etc/de
defaults/   devd.conf   devfs.conf
17:51:11
#[root@fbsd2:~]#
" ============================================================================
" Netrw Directory Listing                                        (netrw v109)
"   /etc/defaults
"   Quick Help: <F1>:help  -:go up dir  D:delete  R:rename  s:sort-by  x:exec
"   Sorted by      name
" ============================================================================
"   Sort sequence: [\/]$,\.h$,\.c$,\.cpp$,\.[a-np-z]$,*,\.info$,\.swp$,\.o$\.obj
../
./
bluetooth.device.conf
~
~
~
~
~
~
~
~
~
17:51:11
#[root@fbsd2:~]#

17:51:11
#[root@fbsd2:~]#

17:51:11
#[root@fbsd2:~]#

17:51:19
#[root@fbsd2:~]# file /usr/sbin/adduser
[root@fbsd2:~]# whereis adduser
adduser: /usr/sbin/adduser /usr/share/man/man8/adduser.8.gz /usr/src/usr.sbin/adduser
/usr/sbin/adduser: Bourne shell script text executable
17:52:09
#[root@fbsd2:~]# strings /usr/bin/passwd | less

Файлы

  • ./for1
  • ./for2
  • for1
  • ./for1
    >
    #!/bin/bash
    set -x
    for planet in Earth Sun Moon
    do
    echo $planet
    done
    exit 0
    
    ./for2
    >
    [root@debian4:tmp]# cat ./for3
    #!/bin/bash
    #set -x
    FILES="/usr/bin/passwd
    /bin/bunzip2
    /sbin/sergey
    /sbin/ifconfig"
    for i in $FILES
    do
    if [ ! -e "$i"  ]
    then echo "File $i not found"
    continue
    fi
    ls -lh $i | awk '{print$9" has size: "$5}'
    whatis `basename $i`
    done
    #!/bin/bash
    #/usr/local/bin/bash
    set -x
    for i in `seq 400 500`
    do
    useradd -m user$i; echo user$i:password$i | chpasswd
    done
    
    for1
    >
    #!/bin/bash
    set -x
    for planet in Earth Sun Moon
    do
    echo $planet
    done
    exit 0
    

    Статистика

    Время первой команды журнала19:17:57 2009- 7- 6
    Время последней команды журнала17:52:09 2009- 7- 8
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %15.84
    Процент синтаксически неверно набранных команд, % 2.97
    Суммарное время работы с терминалом *, час 2.32
    Количество командных строк в единицу времени, команда/мин 0.73
    Частота использования команд
    echo24|==================| 18.32%
    [root@fbsd2:~]#14|==========| 10.69%
    vim13|=========| 9.92%
    test12|=========| 9.16%
    screen7|=====| 5.34%
    [6|====| 4.58%
    &5|===| 3.82%
    case14|===| 3.05%
    for34|===| 3.05%
    id4|===| 3.05%
    chmod3|==| 2.29%
    cat3|==| 2.29%
    sed3|==| 2.29%
    for13|==| 2.29%
    grep3|==| 2.29%
    ssh3|==| 2.29%
    ls2|=| 1.53%
    while12|=| 1.53%
    read2|=| 1.53%
    lynx2|=| 1.53%
    }1|| 0.76%
    while1|| 0.76%
    cp1|| 0.76%
    select11|| 0.76%
    crypt1|| 0.76%
    jklkj1|| 0.76%
    \1|| 0.76%
    BSD1|| 0.76%
    less1|| 0.76%
    myip1|| 0.76%
    arch1|| 0.76%
    vipw1|| 0.76%
    ____
    *) Интервалы неактивности длительностью 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$