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

Содержание

Журнал

Четверг (07/30/09)

09:05:29
$sudo ch
chage      chcon      chgpasswd  chkdupexe  chown      chroot     chvt
chattr     chfn       chgrp      chmod      chpasswd   chsh
09:05:29
$vim /tmp/for2
09:05:48
$chmod +x /tmp/for2

09:05:56
$vim /etc/passwd
09:06:23
$/tmp/for2
/tmp/for2: line 4: chpasswd: command not found
/tmp/for2: line 4: useradd: command not found
/tmp/for2: line 4: chpasswd: command not found
/tmp/for2: line 4: useradd: command not found
/tmp/for2: line 4: chpasswd: command not found
/tmp/for2: line 4: useradd: command not found
/tmp/for2: line 4: chpasswd: command not found
/tmp/for2: line 4: useradd: command not found
/tmp/for2: line 4: chpasswd: command not found
/tmp/for2: line 4: useradd: command not found
...
/tmp/for2: line 4: useradd: command not found
/tmp/for2: line 4: chpasswd: command not found
/tmp/for2: line 4: useradd: command not found
/tmp/for2: line 4: chpasswd: command not found
/tmp/for2: line 4: useradd: command not found
/tmp/for2: line 4: chpasswd: command not found
/tmp/for2: line 4: useradd: command not found
/tmp/for2: line 4: chpasswd: command not found
/tmp/for2: line 4: useradd: command not found
/tmp/for2: line 4: chpasswd: command not found
09:06:32
$sudo sh /tmp/for2
Password:
09:06:49
$echo $?
0
09:06:55
$vim /etc/passwd
09:07:10
$ls /home/
mega      user125  user156  user187  user37  user68   user908  user939  user97
sshuser   user126  user157  user188  user38  user69   user909  user94   user970
test      user127  user158  user189  user39  user7    user91   user940  user971
user      user128  user159  user19   user4   user70   user910  user941  user972
user1     user129  user16   user190  user40  user71   user911  user942  user973
user10    user13   user160  user191  user41  user72   user912  user943  user974
user100   user130  user161  user192  user42  user73   user913  user944  user975
user1000  user131  user162  user193  user43  user74   user914  user945  user976
user101   user132  user163  user194  user44  user75   user915  user946  user977
user102   user133  user164  user195  user45  user76   user916  user947  user978
...
user116   user147  user178  user28   user59  user9    user93   user960  user991
user117   user148  user179  user29   user6   user90   user930  user961  user992
user118   user149  user18   user3    user60  user900  user931  user962  user993
user119   user15   user180  user30   user61  user901  user932  user963  user994
user12    user150  user181  user31   user62  user902  user933  user964  user995
user120   user151  user182  user32   user63  user903  user934  user965  user996
user121   user152  user183  user33   user64  user904  user935  user966  user997
user122   user153  user184  user34   user65  user905  user936  user967  user998
user123   user154  user185  user35   user66  user906  user937  user968  user999
user124   user155  user186  user36   user67  user907  user938  user969
09:07:15
$sudo vim /etc/shadow
09:07:36
$vim /tmp/for2
09:07:49
$cat /tmp/for2
#!/bin/sh
for i in `seq 900 1000`
do
useradd -m user$i; echo user$i:password | chpasswd
done
09:07:53
$cat /tmp/for1
#!/bin/sh
set -x
for Planet in Earth Sun Moon
do
echo $Planet
done
09:07:54
$vim /tmp/for3
09:08:10
$vim /tmp/for3
09:13:37
$chmod +x /tmp/for3

09:13:42
$/tmp/for3
+ FILES='
/bin/ls
/bin/mount
/sbin/dhclient3
/sbin/sergey
/usr/bin/Xorg
'
+ for i in '$FILES'
+ '[' '!-e' /bin/ls ']'
/tmp/for3: line 14: [: !-e: unary operator expected
...
sergey: ничего подходящего не найдено.
+ for i in '$FILES'
+ '[' '!-e' /usr/bin/Xorg ']'
/tmp/for3: line 14: [: !-e: unary operator expected
+ ls -lh /usr/bin/Xorg
+ awk '{print $8" Size: "$5}'
/usr/bin/Xorg Size: 1,6M
++ basename /usr/bin/Xorg
+ whatis Xorg
Xorg (1)             - X11R6 X server
09:13:45
$vim /tmp/for3
09:13:57
$/tmp/for3
/tmp/for3: line 14: [: !-e: unary operator expected
/bin/ls Size: 76K
ls (1)               - list directory contents
/tmp/for3: line 14: [: !-e: unary operator expected
/bin/mount Size: 76K
mount (8)            - mount a file system
/tmp/for3: line 14: [: !-e: unary operator expected
/sbin/dhclient3 Size: 406K
dhclient3 (8)        - Dynamic Host Configuration Protocol Client
/tmp/for3: line 14: [: !-e: unary operator expected
ls: /sbin/sergey: No such file or directory
sergey: ничего подходящего не найдено.
/tmp/for3: line 14: [: !-e: unary operator expected
/usr/bin/Xorg Size: 1,6M
Xorg (1)             - X11R6 X server
09:13:58
$vim /tmp/for3
09:14:08
$/tmp/for3
/bin/ls Size: 76K
ls (1)               - list directory contents
/bin/mount Size: 76K
mount (8)            - mount a file system
/sbin/dhclient3 Size: 406K
dhclient3 (8)        - Dynamic Host Configuration Protocol Client
File /sbin/sergey not found...
ls: /sbin/sergey: No such file or directory
sergey: ничего подходящего не найдено.
/usr/bin/Xorg Size: 1,6M
Xorg (1)             - X11R6 X server
09:14:09
$vim /tmp/for3
09:14:53
$/tmp/for3
/bin/ls Size: 76K
ls (1)               - list directory contents
/bin/mount Size: 76K
mount (8)            - mount a file system
/sbin/dhclient3 Size: 406K
dhclient3 (8)        - Dynamic Host Configuration Protocol Client
File /sbin/sergey not found...
/usr/bin/Xorg Size: 1,6M
Xorg (1)             - X11R6 X server
09:14:54
$vim /tmp/for3
09:16:17
$cat /tmp/for3
#!/bin/sh
#set -x
FILES="
/bin/ls
/bin/mount
/sbin/dhclient3
/sbin/sergey
/usr/bin/Xorg
"
for i in $FILES
do
if [ ! -e "$i" ]
then echo "File $i not found..."
continue
fi
ls -lh $i | awk '{print $8" Size: "$5}'
#-rwxr-xr-x 1 root root 76K 2007-01-30 20:51 /bin/ls
whatis `basename $i`
done
09:16:20
$vim /tmp/select1
--- /dev/null	2009-07-27 11:13:17.237681331 +0300
+++ /tmp/select1	2009-07-30 10:17:21.000000000 +0300
@@ -0,0 +1,2 @@
+#!/bin/sh
+
09:17:21
$vim /tmp/select1
09:19:27
$chmod /tmp/select1
chmod: пропущен операнд после `/tmp/select1'
Попробуйте `chmod --help' для получения более подробного описания.
09:19:30
$chmod +x

09:19:34
$/tmp/select1
1) Mac OSX
2) Windows
3) Linux
4) Freebsd
5) Other
Please, choise you lovely OS: 4
You lovely os is Freebsd
Please, choise you lovely OS: 1
You lovely os is Mac OSX
Please, choise you lovely OS: 2
You lovely os is Windows
Please, choise you lovely OS: 3
You lovely os is Linux
Please, choise you lovely OS: 4
You lovely os is Freebsd
Please, choise you lovely OS: 5
You lovely os is Other
Please, choise you lovely OS: 6
You lovely os is
Please, choise you lovely OS:
09:20:17
$vim /tmp/select1
--- /tmp/l3-saved-18162.29705.17822	2009-07-30 10:20:21.000000000 +0300
+++ /tmp/select1	2009-07-30 10:20:42.000000000 +0300
@@ -3,6 +3,7 @@
 select os in "Mac OSX" Windows Linux Freebsd Other
 do
 echo "You lovely os is $os"
+break
 done
 
 
09:20:42
$/tmp/select1
1) Mac OSX
2) Windows
3) Linux
4) Freebsd
5) Other
Please, choise you lovely OS: 3
You lovely os is Linux
09:20:46
$/tmp/select2
bash: /tmp/select2: No such file or directory
09:21:10
$vim
--- /dev/null	2009-07-27 11:13:17.237681331 +0300
+++ /tmp/select2	2009-07-30 10:21:22.000000000 +0300
@@ -0,0 +1,2 @@
+#!/bin/sh
+
09:21:22
$vim /tmp/select2
--- /tmp/l3-saved-18162.1653.24221	2009-07-30 10:21:23.000000000 +0300
+++ /tmp/select2	2009-07-30 10:22:38.000000000 +0300
@@ -1,2 +1,4 @@
 #!/bin/sh
+PS3="Please, select USB device for mountingi: "
+select i in ``
 
09:22:38
$vim /tmp/select2
--- /tmp/l3-saved-18162.10281.4995	2009-07-30 10:22:40.000000000 +0300
+++ /tmp/select2	2009-07-30 10:32:46.000000000 +0300
@@ -1,4 +1,12 @@
 #!/bin/sh
 PS3="Please, select USB device for mountingi: "
-select i in ``
+select i in `dmesg | grep "^\ sd.*[0-9]" | cut -d ' ' -f 3 | uniq` 'exit'
+do
+if test $i = exit; then break; fi
+if [ -d /mnt/$i ] ; then echo "Mounting directory is OK";
+else mkdir /mnt/$i
+fi
+
+mount /dev/$i /mnt/$i ; mount | grep $i
+done
 
09:22:43
$ssh 192.168.16.254
user@debian:~$ exit
logout
Connection to 192.168.16.254 closed.
прошло 10 минут
09:32:47
$chmod +x /tmp/select2

09:32:56
$sudo apt-get install vncviewer
Password:
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Пакет vncviewer - виртуальный, его функции предоставляются пакетами:
  xtightvncviewer 1.2.9-21
  svncviewer 1:0.1.1-8
Вы должны явно указать, какой именно вы хотите установить.
E: Для пакета vncviewer не найдены кандидаты на установку
прошло 14 минут
09:47:38
$sudo apt-get install xtight
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Предлагаемые пакеты:
  ssh
НОВЫЕ пакеты, которые будут установлены:
  xtightvncviewer
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 55 пакетов не обновлено.
не установлено до конца или удалено 3 пакетов.
Необходимо скачать 61,3kБ архивов.
После распаковки объем занятого дискового пространства возрастёт на 131kB.
...
  Пакет tetex-extra пока не настроен.
  Пакет texlive-fonts-recommended не установлен.
dpkg: не удалось обработать параметр pdfjam (--configure):
 проблемы зависимостей -- оставляем не настроенным
Настраивается пакет xtightvncviewer (1.2.9-21) ...
При обработке следующих пакетов произошли ошибки:
 tetex-bin
 tetex-extra
 pdfjam
E: Sub-process /usr/bin/dpkg returned an error code (1)
09:47:53
$x
x11perf                    xlsclients
x11perfcomp                xlsfonts
xargs                      xmag
xauth                      xman
xauth_switch_to_sun-des-1  xmessage
xbiff                      xmkmf
xcalc                      xmodmap
xclipboard                 xmore
xclock                     xon
xcmsdb                     xpdf
...
xdbedizzy                  xrdb
xditview                   xrefresh
xdpyinfo                   xset
xdriinfo                   xsetmode
xdvi                       xsetpointer
xdvi.bin                   xsetroot
xdvi.real                  xsm
xdvizilla                  xstdcmap
xedit                      xsubpp
xev                        xterm
09:47:53
$vnc
vncconnect  vncpasswd   vncserver   vncviewer
09:47:53
$vncviewer 192.168.16.227
VNC server supports protocol version 3.8 (viewer 3.3)
vncviewer: VNC server closed connection
09:48:10
$vncviewer 192.168.16.227
VNC server supports protocol version 3.8 (viewer 3.3)
No authentication needed
Desktop name "asus-w5a:0.0"
Connected to VNC server, using protocol version 3.3
VNC server default format:
  32 bits per pixel.
  Least significant byte first in each pixel.
  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Using default colormap which is TrueColor.  Pixel format:
  32 bits per pixel.
  Least significant byte first in each pixel.
  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Using shared memory PutImage
ShmCleanup called
прошло 22 минуты
10:10:49
$cat /tmp/select2-2
#!/bin/bash
#set -x
PS3="Please, select USB device for mounting: "
select i in `dmesg | grep "sd[b-z]: " | cut -d ':' -f 2 | cut -d ' ' -f 2 | sort -u` 'exit'
#`dmesg | grep "^\ sd.*[0-9]" | cut -d ' ' -f 3 | uniq` 'exit'
do
if test $i = exit; then break; fi
if [ -d /mnt/$i ] ; then echo "Mounting directory is OK";
else mkdir /mnt/$i
fi
mount /dev/$i /mnt/$i ; mount | grep $i
done
10:11:18
$l3-agent

10:13:24
$cat .l3rc
l3cd=/users/27-07-2009/nt-ladm/debian2.net.nt/user
10:13:30
$l3
l3                 l3_close_session   l3pwd              l3upload
l3-agent           l3-config          l3_save_last_line
l3cd               l3_fix_prompt      l3shot
10:13:30
$l3pwd
/users/27-07-2009/nt-ladm/debian2.net.nt/user
10:13:58
$su -
Password:
l3-agent is already running: pid=2150; pidfile=/root/.lilalo/l3-agent.pid
10:14:30
#cat /tmp/for1
#!/bin/sh
set -x
for Planet in Earth Sun Moon
do
echo $Planet
done
10:14:37
#cat /tmp/for2
#!/bin/sh
for i in `seq 900 1000`
do
useradd -m user$i; echo user$i:password | chpasswd
done
10:14:39
#cat /tmp/for
for1  for2  for3
10:14:39
#cat /tmp/for3
#!/bin/sh
#set -x
FILES="
/bin/ls
/bin/mount
/sbin/dhclient3
/sbin/sergey
/usr/bin/Xorg
"
for i in $FILES
do
if [ ! -e "$i" ]
then echo "File $i not found..."
continue
fi
ls -lh $i | awk '{print $8" Size: "$5}'
#-rwxr-xr-x 1 root root 76K 2007-01-30 20:51 /bin/ls
whatis `basename $i`
done
10:14:43
#cat /tmp/select1
#!/bin/sh
PS3="Please, choise you lovely OS: "
select os in "Mac OSX" Windows Linux Freebsd Other
do
echo "You lovely os is $os"
break
done
10:14:47
#cat /tmp/select2
#!/bin/sh
PS3="Please, select USB device for mountingi: "
select i in `dmesg | grep "^\ sd.*[0-9]" | cut -d ' ' -f 3 | uniq` 'exit'
do
if test $i = exit; then break; fi
if [ -d /mnt/$i ] ; then echo "Mounting directory is OK";
else mkdir /mnt/$i
fi
mount /dev/$i /mnt/$i ; mount | grep $i
done
10:14:50
#cat /tmp/select2-2
#!/bin/bash
#set -x
PS3="Please, select USB device for mounting: "
select i in `dmesg | grep "sd[b-z]: " | cut -d ':' -f 2 | cut -d ' ' -f 2 | sort -u` 'exit'
#`dmesg | grep "^\ sd.*[0-9]" | cut -d ' ' -f 3 | uniq` 'exit'
do
if test $i = exit; then break; fi
if [ -d /mnt/$i ] ; then echo "Mounting directory is OK";
else mkdir /mnt/$i
fi
mount /dev/$i /mnt/$i ; mount | grep $i
done
10:15:22
#while [ $A -lt 10 ] ; do A=$((A+1)); echo $A;done
bash: [: -lt: unary operator expected
10:15:58
#A=0

10:16:15
#while [ $A -lt 10 ] ; do A=$((A+1)); echo $A;done
1
2
3
4
5
6
7
8
9
10
10:16:16
#A

10:16:16
#A

10:16:45
#while [ $A -lt 10 ] ; do A=$((A+1)); echo $A;done
[root@debian2:~]# A=0;
1
2
3
4
5
6
7
8
9
10
10:16:45
#vim /tmp/while
10:17:36
#vim /tmp/while
10:17:40
#chmod +x /tmp/while

10:17:55
#cat /tmp/while
[root@debian2:~]# /tmp/while
1
2
3
4
5
6
7
8
9
10
#!/bin/bash
A=0
while [ $A -lt 10 ]
do A=$((A+1))
echo $A
sleep 1
done
10:18:35
#vim /tmp/while1
10:20:31
#chmod +x /tmp/while1

10:20:37
#ls -l /tmp/while1
-rwxr-xr-x 1 root root 144 2009-07-30 11:20 /tmp/while1
10:20:50
#cat /tmp/while1
[root@debian2:~]# /tmp/while1
Please, give the value for variable #1 (end for exiting)
fff
variable #1 = fff
Please, give the value for variable #1 (end for exiting)
fff
variable #1 = fff
Please, give the value for variable #1 (end for exiting)
ddd
variable #1 = ddd
Please, give the value for variable #1 (end for exiting)
end
variable #1 = end
#!/bin/bash
while [ "$i" != end ]
do
echo "Please, give the value for variable #1 (end for exiting)"
read i
echo "variable #1 = $i"
done
exit 0
10:21:16
#cat /tmp/while
#!/bin/bash
A=0
while [ $A -lt 10 ]
do A=$((A+1))
echo $A
sleep 1
done
10:21:18
#vim /etc/init.d/networking
10:21:52
$сивным входом и удалением всех директорий один слеш убрать

10:24:16
#vim /tmp/case
10:27:07
#chmod +x /tmp/case

10:27:34
#vim /tmp/case
10:27:44
#cat /tmp/case
#!/bin/bash
while [ "$Keypress" != X ]
do
echo "Press any key and then enter"
read Keypress
case "$Keypress" in
[a-z] ) echo "This is a latter";;
[0-9] ) echo "This is a digit" ;;
*) echo "This is a punct"  ;;
esac
done
10:27:47
#vim /tmp/case1
10:28:32
#arch
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"/tmp/case1" 3L, 14C записано
i686
10:30:59
#chmod +x
  2 case `arch` in$
  4 i386) echo "Computer based on 80386 type of processor" ;; $
~   i486) echo "Computer based on 80486 type of processor" ;; $
~   i586) echo "Computer based on Pentium type of processor" ;; $
  5 i686) echo "Computer based on Pentium2 type of processor" ;; $
  6 *) echo "Computer based on unknown type of processor" ;; $
~   esac$
 10 $
  9 $
~
...
~
~
~
~
~
~
~
~
~
"/tmp/case1" 10L, 333C записано
10:31:08
#/tmp/case1
Computer based on Pentium2 type of processor
10:31:10
#cat /tmp/case1
#!/bin/bash
case `arch` in
i386) echo "Computer based on 80386 type of processor" ;;
i486) echo "Computer based on 80486 type of processor" ;;
i586) echo "Computer based on Pentium type of processor" ;;
i686) echo "Computer based on Pentium2 type of processor" ;;
*) echo "Computer based on unknown type of processor" ;;
esac
10:31:22
#arch
i686
10:31:35
#screen
10:33:28
$сивным входом и удалением всех директорий один слеш убрать

10:33:33
$echo '%\%#{<-{}<&{`'|tr -/:-@[-`{}''`{/-
>
прошло 58 минут
11:32:10
#exit

11:32:50
$cp no_file_with_name /tmp
cp: невозможно выполнить stat для `no_file_with_name': No such file or directory
11:33:22
$echo $?
1
11:33:48
$touch

11:34:20
$echo $?
[user@debian2:~]$ cp no_file_with_name /tmp
0
11:34:42
$test 5 -gt 1

11:34:53
$echo $?
0
11:34:54
$test 5 -lt

11:35:07
$echo $?
1
11:35:40
$test -z "$STRING

11:36:00
$echo $?
0
11:36:05
$test -z

11:36:18
$test "

11:36:58
$echo $?
0

Файлы

  • .l3rc
  • /tmp/case
  • /tmp/case1
  • /tmp/for
  • /tmp/for1
  • /tmp/for2
  • /tmp/for3
  • /tmp/select1
  • /tmp/select2
  • /tmp/select2-2
  • /tmp/while
  • /tmp/while1
  • .l3rc
    >
    l3cd=/users/27-07-2009/nt-ladm/debian2.net.nt/user
    
    /tmp/case
    >
    #!/bin/bash
    while [ "$Keypress" != X ]
    do
    echo "Press any key and then enter"
    read Keypress
    case "$Keypress" in
    [a-z] ) echo "This is a latter";;
    [0-9] ) echo "This is a digit" ;;
    *) echo "This is a punct"  ;;
    esac
    done
    
    /tmp/case1
    >
    #!/bin/bash
    case `arch` in
    i386) echo "Computer based on 80386 type of processor" ;;
    i486) echo "Computer based on 80486 type of processor" ;;
    i586) echo "Computer based on Pentium type of processor" ;;
    i686) echo "Computer based on Pentium2 type of processor" ;;
    *) echo "Computer based on unknown type of processor" ;;
    esac
    
    /tmp/for
    >
    for1  for2  for3
    
    /tmp/for1
    >
    #!/bin/sh
    set -x
    for Planet in Earth Sun Moon
    do
    echo $Planet
    done
    
    /tmp/for2
    >
    #!/bin/sh
    for i in `seq 900 1000`
    do
    useradd -m user$i; echo user$i:password | chpasswd
    done
    
    /tmp/for3
    >
    #!/bin/sh
    #set -x
    FILES="
    /bin/ls
    /bin/mount
    /sbin/dhclient3
    /sbin/sergey
    /usr/bin/Xorg
    "
    for i in $FILES
    do
    if [ ! -e "$i" ]
    then echo "File $i not found..."
    continue
    fi
    ls -lh $i | awk '{print $8" Size: "$5}'
    #-rwxr-xr-x 1 root root 76K 2007-01-30 20:51 /bin/ls
    whatis `basename $i`
    done
    
    /tmp/select1
    >
    #!/bin/sh
    PS3="Please, choise you lovely OS: "
    select os in "Mac OSX" Windows Linux Freebsd Other
    do
    echo "You lovely os is $os"
    break
    done
    
    /tmp/select2
    >
    #!/bin/sh
    PS3="Please, select USB device for mountingi: "
    select i in `dmesg | grep "^\ sd.*[0-9]" | cut -d ' ' -f 3 | uniq` 'exit'
    do
    if test $i = exit; then break; fi
    if [ -d /mnt/$i ] ; then echo "Mounting directory is OK";
    else mkdir /mnt/$i
    fi
    mount /dev/$i /mnt/$i ; mount | grep $i
    done
    
    /tmp/select2-2
    >
    #!/bin/bash
    #set -x
    PS3="Please, select USB device for mounting: "
    select i in `dmesg | grep "sd[b-z]: " | cut -d ':' -f 2 | cut -d ' ' -f 2 | sort -u` 'exit'
    #`dmesg | grep "^\ sd.*[0-9]" | cut -d ' ' -f 3 | uniq` 'exit'
    do
    if test $i = exit; then break; fi
    if [ -d /mnt/$i ] ; then echo "Mounting directory is OK";
    else mkdir /mnt/$i
    fi
    mount /dev/$i /mnt/$i ; mount | grep $i
    done
    
    /tmp/while
    >
    #!/bin/bash
    A=0
    while [ $A -lt 10 ]
    do A=$((A+1))
    echo $A
    sleep 1
    done
    
    /tmp/while1
    >
    [root@debian2:~]# /tmp/while1
    Please, give the value for variable #1 (end for exiting)
    fff
    variable #1 = fff
    Please, give the value for variable #1 (end for exiting)
    fff
    variable #1 = fff
    Please, give the value for variable #1 (end for exiting)
    ddd
    variable #1 = ddd
    Please, give the value for variable #1 (end for exiting)
    end
    variable #1 = end
    #!/bin/bash
    while [ "$i" != end ]
    do
    echo "Please, give the value for variable #1 (end for exiting)"
    read i
    echo "variable #1 = $i"
    done
    exit 0
    

    Статистика

    Время первой команды журнала09:05:29 2009- 7-30
    Время последней команды журнала11:36:58 2009- 7-30
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %16.83
    Процент синтаксически неверно набранных команд, % 1.98
    Суммарное время работы с терминалом *, час 1.55
    Количество командных строк в единицу времени, команда/мин 1.09
    Частота использования команд
    vim24|====================| 20.17%
    cat17|==============| 14.29%
    echo11|=========| 9.24%
    chmod9|=======| 7.56%
    sudo5|====| 4.20%
    test5|====| 4.20%
    for34|===| 3.36%
    while3|==| 2.52%
    do3|==| 2.52%
    done3|==| 2.52%
    A2|=| 1.68%
    select12|=| 1.68%
    apt-get2|=| 1.68%
    vncviewer2|=| 1.68%
    ls2|=| 1.68%
    сивным2|=| 1.68%
    arch2|=| 1.68%
    for21|| 0.84%
    screen1|| 0.84%
    &1|| 0.84%
    vnc1|| 0.84%
    cp1|| 0.84%
    A=01|| 0.84%
    ch1|| 0.84%
    -{}<1|| 0.84%
    x1|| 0.84%
    select21|| 0.84%
    case11|| 0.84%
    touch1|| 0.84%
    l3-agent1|| 0.84%
    l31|| 0.84%
    sh1|| 0.84%
    {`'1|| 0.84%
    l3pwd1|| 0.84%
    ssh1|| 0.84%
    exit1|| 0.84%
    tr1|| 0.84%
    su1|| 0.84%
    ____
    *) Интервалы неактивности длительностью 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$