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

Содержание

Журнал

Понедельник (05/25/09)

/dev/pts/40
14:45:15
#!p
ping linux2
PING linux2.unix.nt (192.168.15.2) 56(84) bytes of data.
64 bytes from linux2.unix.nt (192.168.15.2): icmp_seq=1 ttl=63 time=0.216 ms
From 10.0.35.1: icmp_seq=2 Redirect Host(New nexthop: 10.0.35.22)
64 bytes from linux2.unix.nt (192.168.15.2): icmp_seq=2 ttl=63 time=0.226 ms
--- linux2.unix.nt ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.216/0.221/0.226/0.005 ms
/dev/pts/32
14:45:15
#!p
ping linux2
PING linux2.unix.nt (192.168.15.2) 56(84) bytes of data.
64 bytes from linux2.unix.nt (192.168.15.2): icmp_seq=1 ttl=63 time=0.216 ms
From 10.0.35.1: icmp_seq=2 Redirect Host(New nexthop: 10.0.35.22)
64 bytes from linux2.unix.nt (192.168.15.2): icmp_seq=2 ttl=63 time=0.226 ms
--- linux2.unix.nt ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.216/0.221/0.226/0.005 ms
/dev/pts/14
14:45:15
#!p
ping linux2
PING linux2.unix.nt (192.168.15.2) 56(84) bytes of data.
64 bytes from linux2.unix.nt (192.168.15.2): icmp_seq=1 ttl=63 time=0.216 ms
From 10.0.35.1: icmp_seq=2 Redirect Host(New nexthop: 10.0.35.22)
64 bytes from linux2.unix.nt (192.168.15.2): icmp_seq=2 ttl=63 time=0.226 ms
--- linux2.unix.nt ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.216/0.221/0.226/0.005 ms
/dev/pts/40
14:46:56
#echo !! > file
echo ping linux2 > file
/dev/pts/32
14:46:56
#echo !! > file
echo ping linux2 > file
/dev/pts/14
14:46:56
#echo !! > file
echo ping linux2 > file
/dev/pts/40
14:47:28
#echo 2+2 | bc
bash: bc: command not found
bash: echo: write error: Broken pipe
/dev/pts/32
14:47:28
#echo 2+2 | bc
bash: bc: command not found
bash: echo: write error: Broken pipe
/dev/pts/14
14:47:28
#echo 2+2 | bc
bash: bc: command not found
bash: echo: write error: Broken pipe
/dev/pts/40
14:47:42
#apt-get install bc
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  bc
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 90.8kB of archives.
After this operation, 299kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  bc
Install these packages without verification [y/N]? Y
Get:1 http://10.0.35.1 sid/main bc 1.06.94-3.1 [90.8kB]
Fetched 90.8kB in 0s (2195kB/s)
Selecting previously deselected package bc.
(Reading database ... 10553 files and directories currently installed.)
Unpacking bc (from .../bc_1.06.94-3.1_i386.deb) ...
Processing triggers for man-db ...
Setting up bc (1.06.94-3.1) ...
/dev/pts/32
14:47:42
#apt-get install bc
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  bc
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 90.8kB of archives.
After this operation, 299kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  bc
Install these packages without verification [y/N]? Y
Get:1 http://10.0.35.1 sid/main bc 1.06.94-3.1 [90.8kB]
Fetched 90.8kB in 0s (2195kB/s)
Selecting previously deselected package bc.
(Reading database ... 10553 files and directories currently installed.)
Unpacking bc (from .../bc_1.06.94-3.1_i386.deb) ...
Processing triggers for man-db ...
Setting up bc (1.06.94-3.1) ...
/dev/pts/14
14:47:42
#apt-get install bc
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  bc
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 90.8kB of archives.
After this operation, 299kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  bc
Install these packages without verification [y/N]? Y
Get:1 http://10.0.35.1 sid/main bc 1.06.94-3.1 [90.8kB]
Fetched 90.8kB in 0s (2195kB/s)
Selecting previously deselected package bc.
(Reading database ... 10553 files and directories currently installed.)
Unpacking bc (from .../bc_1.06.94-3.1_i386.deb) ...
Processing triggers for man-db ...
Setting up bc (1.06.94-3.1) ...
/dev/pts/40
14:47:48
#echo !p > last-ping
echo ping linux2 > last-ping
/dev/pts/32
14:47:48
#echo !p > last-ping
echo ping linux2 > last-ping
/dev/pts/14
14:47:48
#echo !p > last-ping
echo ping linux2 > last-ping
/dev/pts/40
14:47:57
#ldd /bin/ls
        linux-gate.so.1 =>  (0xb7fce000)
        librt.so.1 => /lib/i686/nosegneg/librt.so.1 (0xb7fc0000)
        libselinux.so.1 => /lib/libselinux.so.1 (0xb7fa7000)
        libacl.so.1 => /lib/libacl.so.1 (0xb7f9f000)
        libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0xb7e3b000)
        libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0 (0xb7e22000)
        /lib/ld-linux.so.2 (0xb7fcf000)
        libdl.so.2 => /lib/i686/nosegneg/libdl.so.2 (0xb7e1e000)
        libattr.so.1 => /lib/libattr.so.1 (0xb7e19000)
/dev/pts/32
14:47:57
#ldd /bin/ls
        linux-gate.so.1 =>  (0xb7fce000)
        librt.so.1 => /lib/i686/nosegneg/librt.so.1 (0xb7fc0000)
        libselinux.so.1 => /lib/libselinux.so.1 (0xb7fa7000)
        libacl.so.1 => /lib/libacl.so.1 (0xb7f9f000)
        libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0xb7e3b000)
        libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0 (0xb7e22000)
        /lib/ld-linux.so.2 (0xb7fcf000)
        libdl.so.2 => /lib/i686/nosegneg/libdl.so.2 (0xb7e1e000)
        libattr.so.1 => /lib/libattr.so.1 (0xb7e19000)
/dev/pts/14
14:47:57
#ldd /bin/ls
        linux-gate.so.1 =>  (0xb7fce000)
        librt.so.1 => /lib/i686/nosegneg/librt.so.1 (0xb7fc0000)
        libselinux.so.1 => /lib/libselinux.so.1 (0xb7fa7000)
        libacl.so.1 => /lib/libacl.so.1 (0xb7f9f000)
        libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0xb7e3b000)
        libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0 (0xb7e22000)
        /lib/ld-linux.so.2 (0xb7fcf000)
        libdl.so.2 => /lib/i686/nosegneg/libdl.so.2 (0xb7e1e000)
        libattr.so.1 => /lib/libattr.so.1 (0xb7e19000)
/dev/pts/40
14:48:50
#which sshd
/usr/sbin/sshd
/dev/pts/32
14:48:50
#which sshd
/usr/sbin/sshd
/dev/pts/14
14:48:50
#which sshd
/usr/sbin/sshd
/dev/pts/40
14:49:05
#ldd `!!`
ldd `which sshd`
        linux-gate.so.1 =>  (0xb7fa1000)
        libwrap.so.0 => /lib/libwrap.so.0 (0xb7f94000)
        libpam.so.0 => /lib/libpam.so.0 (0xb7f89000)
        libdl.so.2 => /lib/i686/nosegneg/libdl.so.2 (0xb7f84000)
        libselinux.so.1 => /lib/libselinux.so.1 (0xb7f6b000)
        libresolv.so.2 => /lib/i686/nosegneg/libresolv.so.2 (0xb7f55000)
        libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb7e02000)
        libutil.so.1 => /lib/i686/nosegneg/libutil.so.1 (0xb7dfe000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7de8000)
        libnsl.so.1 => /lib/i686/nosegneg/libnsl.so.1 (0xb7dcf000)
        libcrypt.so.1 => /lib/i686/nosegneg/libcrypt.so.1 (0xb7d9d000)
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb7d74000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb7ccb000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb7ca1000)
        libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7c9e000)
        libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0xb7b3a000)
        /lib/ld-linux.so.2 (0xb7fa2000)
        libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb7b33000)
        libkeyutils.so.1 => /lib/libkeyutils.so.1 (0xb7b30000)
        libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0 (0xb7b17000)
/dev/pts/32
14:49:05
#ldd `!!`
ldd `which sshd`
        linux-gate.so.1 =>  (0xb7fa1000)
        libwrap.so.0 => /lib/libwrap.so.0 (0xb7f94000)
        libpam.so.0 => /lib/libpam.so.0 (0xb7f89000)
        libdl.so.2 => /lib/i686/nosegneg/libdl.so.2 (0xb7f84000)
        libselinux.so.1 => /lib/libselinux.so.1 (0xb7f6b000)
        libresolv.so.2 => /lib/i686/nosegneg/libresolv.so.2 (0xb7f55000)
        libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb7e02000)
        libutil.so.1 => /lib/i686/nosegneg/libutil.so.1 (0xb7dfe000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7de8000)
        libnsl.so.1 => /lib/i686/nosegneg/libnsl.so.1 (0xb7dcf000)
        libcrypt.so.1 => /lib/i686/nosegneg/libcrypt.so.1 (0xb7d9d000)
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb7d74000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb7ccb000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb7ca1000)
        libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7c9e000)
        libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0xb7b3a000)
        /lib/ld-linux.so.2 (0xb7fa2000)
        libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb7b33000)
        libkeyutils.so.1 => /lib/libkeyutils.so.1 (0xb7b30000)
        libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0 (0xb7b17000)
/dev/pts/14
14:49:05
#ldd `!!`
ldd `which sshd`
        linux-gate.so.1 =>  (0xb7fa1000)
        libwrap.so.0 => /lib/libwrap.so.0 (0xb7f94000)
        libpam.so.0 => /lib/libpam.so.0 (0xb7f89000)
        libdl.so.2 => /lib/i686/nosegneg/libdl.so.2 (0xb7f84000)
        libselinux.so.1 => /lib/libselinux.so.1 (0xb7f6b000)
        libresolv.so.2 => /lib/i686/nosegneg/libresolv.so.2 (0xb7f55000)
        libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb7e02000)
        libutil.so.1 => /lib/i686/nosegneg/libutil.so.1 (0xb7dfe000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7de8000)
        libnsl.so.1 => /lib/i686/nosegneg/libnsl.so.1 (0xb7dcf000)
        libcrypt.so.1 => /lib/i686/nosegneg/libcrypt.so.1 (0xb7d9d000)
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb7d74000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb7ccb000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb7ca1000)
        libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7c9e000)
        libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0xb7b3a000)
        /lib/ld-linux.so.2 (0xb7fa2000)
        libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb7b33000)
        libkeyutils.so.1 => /lib/libkeyutils.so.1 (0xb7b30000)
        libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0 (0xb7b17000)
/dev/pts/40
14:49:22
#echo privet!!!!
echo privetldd `which sshd`ldd `which sshd`
privetldd /usr/sbin/sshdldd /usr/sbin/sshd
/dev/pts/32
14:49:22
#echo privet!!!!
echo privetldd `which sshd`ldd `which sshd`
privetldd /usr/sbin/sshdldd /usr/sbin/sshd
/dev/pts/14
14:49:22
#echo privet!!!!
echo privetldd `which sshd`ldd `which sshd`
privetldd /usr/sbin/sshdldd /usr/sbin/sshd
/dev/pts/40
14:50:24
#echo privet "!!!"
bash: !": event not found
/dev/pts/32
14:50:24
#echo privet "!!!"
bash: !": event not found
/dev/pts/14
14:50:24
#echo privet "!!!"
bash: !": event not found
/dev/pts/40
14:50:36
#echo privet '!!!'
privet !!!
/dev/pts/32
14:50:36
#echo privet '!!!'
privet !!!
/dev/pts/14
14:50:36
#echo privet '!!!'
privet !!!
/dev/pts/40
14:50:42
#echo privet \!
privet !
/dev/pts/32
14:50:42
#echo privet \!
privet !
/dev/pts/14
14:50:42
#echo privet \!
privet !
/dev/pts/40
14:51:14
#vi /tmp/mega-script
--- /dev/null	2009-05-25 08:25:02.944591293 +0000
+++ /tmp/mega-script	2009-05-25 11:51:48.000000000 +0000
@@ -0,0 +1,2 @@
+#!/bin/sh
+echo hello 
/dev/pts/32
14:51:14
#vi /tmp/mega-script
/dev/pts/14
14:51:14
#vi /tmp/mega-script
/dev/pts/40
14:51:48
#chmod +x /tmp/mega-script

/dev/pts/32
14:51:48
#chmod +x /tmp/mega-script

/dev/pts/14
14:51:48
#chmod +x /tmp/mega-script

/dev/pts/40
14:52:06
#/tmp/mega-script
hello
/dev/pts/32
14:52:06
#/tmp/mega-script
hello
/dev/pts/14
14:52:06
#/tmp/mega-script
hello
/dev/pts/40
14:52:09
#man readline | wc -l
818
/dev/pts/32
14:52:09
#man readline | wc -l
818
/dev/pts/14
14:52:09
#man readline | wc -l
818
/dev/pts/40
14:54:03
#set -o vi

/dev/pts/32
14:54:03
#set -o vi

/dev/pts/14
14:54:03
#set -o vi

/dev/pts/40
14:56:26
#set -o emacs

/dev/pts/32
14:56:26
#set -o emacs

/dev/pts/14
14:56:26
#set -o emacs

/dev/pts/40
14:57:15
#ex
Entering Ex mode.  Type "visual" to go to Normal mode.
:q
/dev/pts/32
14:57:15
#ex
Entering Ex mode.  Type "visual" to go to Normal mode.
:q
/dev/pts/14
14:57:15
#ex
Entering Ex mode.  Type "visual" to go to Normal mode.
:q
прошло 15 минут
/dev/pts/40
15:12:38
#echo $EDITOR

/dev/pts/32
15:12:38
#echo $EDITOR

/dev/pts/14
15:12:38
#echo $EDITOR

/dev/pts/40
15:13:46
#EDITOR=pico

/dev/pts/32
15:13:46
#EDITOR=pico

/dev/pts/14
15:13:46
#EDITOR=pico

/dev/pts/40
15:13:56
#nano
/dev/pts/32
15:13:56
#nano
/dev/pts/14
15:13:56
#nano
/dev/pts/40
15:14:12
#export EDITOR

/dev/pts/32
15:14:12
#export EDITOR

/dev/pts/14
15:14:12
#export EDITOR

/dev/pts/40
15:14:15
#vipw
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin
user:x:1000:1000::/home/user:/bin/bash
                                           [ Read 21 lines ]
vipw: /etc/passwd is unchanged
/dev/pts/32
15:14:15
#vipw
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin
user:x:1000:1000::/home/user:/bin/bash
                                           [ Read 21 lines ]
vipw: /etc/passwd is unchanged
/dev/pts/14
15:14:15
#vipw
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin
user:x:1000:1000::/home/user:/bin/bash
                                           [ Read 21 lines ]
vipw: /etc/passwd is unchanged
/dev/pts/40
15:14:28
#apt-get install vim-
vim-addon-manager  vim-gnome          vim-lesstif        vim-ruby           vim-tcl
vim-common         vim-gtk            vim-nox            vim-runtime        vim-tiny
vim-dbg            vim-gui-common     vim-perl           vim-scripts        vim-vimoutliner
vim-doc            vim-latexsuite     vim-python         vim-syntax-gtk
15:14:28
#vi
/dev/pts/32
15:14:28
#apt-get install vim-
vim-addon-manager  vim-gnome          vim-lesstif        vim-ruby           vim-tcl
vim-common         vim-gtk            vim-nox            vim-runtime        vim-tiny
vim-dbg            vim-gui-common     vim-perl           vim-scripts        vim-vimoutliner
vim-doc            vim-latexsuite     vim-python         vim-syntax-gtk
15:14:28
#vi
/dev/pts/14
15:14:28
#apt-get install vim-
vim-addon-manager  vim-gnome          vim-lesstif        vim-ruby           vim-tcl
vim-common         vim-gtk            vim-nox            vim-runtime        vim-tiny
vim-dbg            vim-gui-common     vim-perl           vim-scripts        vim-vimoutliner
vim-doc            vim-latexsuite     vim-python         vim-syntax-gtk
15:14:28
#vi
/dev/pts/40
15:15:49
#~
/usr/bin/vi
/dev/pts/32
15:15:49
#~
/usr/bin/vi
/dev/pts/14
15:15:49
#~
/usr/bin/vi
/dev/pts/40
15:15:52
#ls -l `!!`
ls -l `which vi`
lrwxrwxrwx 1 root root 20 May 25 05:41 /usr/bin/vi -> /etc/alternatives/vi
/dev/pts/32
15:15:52
#ls -l `!!`
ls -l `which vi`
lrwxrwxrwx 1 root root 20 May 25 05:41 /usr/bin/vi -> /etc/alternatives/vi
/dev/pts/14
15:15:52
#ls -l `!!`
ls -l `which vi`
lrwxrwxrwx 1 root root 20 May 25 05:41 /usr/bin/vi -> /etc/alternatives/vi
/dev/pts/40
15:15:55
#ls -l /etc/alternatives/vi
lrwxrwxrwx 1 root root 17 May 25 05:41 /etc/alternatives/vi -> /usr/bin/vim.tiny
/dev/pts/32
15:15:55
#ls -l /etc/alternatives/vi
lrwxrwxrwx 1 root root 17 May 25 05:41 /etc/alternatives/vi -> /usr/bin/vim.tiny
/dev/pts/14
15:15:55
#ls -l /etc/alternatives/vi
lrwxrwxrwx 1 root root 17 May 25 05:41 /etc/alternatives/vi -> /usr/bin/vim.tiny
/dev/pts/40
15:16:02
#apt-get install vim
vim                vim-gnome          vim-nox            vim-scripts        vimhelp-de
vim-addon-manager  vim-gtk            vim-perl           vim-syntax-gtk     vimoutliner
vim-common         vim-gui-common     vim-python         vim-tcl
vim-dbg            vim-latexsuite     vim-ruby           vim-tiny
vim-doc            vim-lesstif        vim-runtime        vim-vimoutliner
15:16:02
#apt-get install vim
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libgpm2 vim-runtime
Suggested packages:
  gpm ctags vim-doc vim-scripts
The following NEW packages will be installed:
  libgpm2 vim vim-runtime
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
...
Setting up vim-runtime (2:7.2.148-2) ...
Processing /usr/share/vim/addons/doc
Setting up vim (2:7.2.148-2) ...
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vim (vim) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vimdiff (vimdiff) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rvim (rvim) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rview (rview) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vi (vi) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/view (view) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/ex (ex) in auto mode.
/dev/pts/32
15:16:02
#apt-get install vim
vim                vim-gnome          vim-nox            vim-scripts        vimhelp-de
vim-addon-manager  vim-gtk            vim-perl           vim-syntax-gtk     vimoutliner
vim-common         vim-gui-common     vim-python         vim-tcl
vim-dbg            vim-latexsuite     vim-ruby           vim-tiny
vim-doc            vim-lesstif        vim-runtime        vim-vimoutliner
15:16:02
#apt-get install vim
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libgpm2 vim-runtime
Suggested packages:
  gpm ctags vim-doc vim-scripts
The following NEW packages will be installed:
  libgpm2 vim vim-runtime
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
...
Setting up vim-runtime (2:7.2.148-2) ...
Processing /usr/share/vim/addons/doc
Setting up vim (2:7.2.148-2) ...
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vim (vim) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vimdiff (vimdiff) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rvim (rvim) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rview (rview) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vi (vi) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/view (view) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/ex (ex) in auto mode.
/dev/pts/14
15:16:02
#apt-get install vim
vim                vim-gnome          vim-nox            vim-scripts        vimhelp-de
vim-addon-manager  vim-gtk            vim-perl           vim-syntax-gtk     vimoutliner
vim-common         vim-gui-common     vim-python         vim-tcl
vim-dbg            vim-latexsuite     vim-ruby           vim-tiny
vim-doc            vim-lesstif        vim-runtime        vim-vimoutliner
15:16:02
#apt-get install vim
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libgpm2 vim-runtime
Suggested packages:
  gpm ctags vim-doc vim-scripts
The following NEW packages will be installed:
  libgpm2 vim vim-runtime
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
...
Setting up vim-runtime (2:7.2.148-2) ...
Processing /usr/share/vim/addons/doc
Setting up vim (2:7.2.148-2) ...
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vim (vim) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vimdiff (vimdiff) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rvim (rvim) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rview (rview) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vi (vi) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/view (view) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/ex (ex) in auto mode.
/dev/pts/40
15:17:18
#vim
/dev/pts/32
15:17:18
#vim
/dev/pts/14
15:17:18
#vim
/dev/pts/40
15:17:38
#~
1 packets transmitted, 0 received, 100% packet loss, time 0ms$
$
$face lo inet loopback$
iface eth0 inet static$
        address 10.0.35.100$
        netmask 255.0.0.0$
        network 10.0.0.0$
        broadcast 10.255.255.255$
        gateway 10.0.35.1$
--- 127.0.0.1 ping statistics ---
...
                           $
rtt min/avg/max/mdev = 0.$15/0.015/0.015/0.000 ms
                        $
                                $
                         $
264MB LOWMEM available.
$
NX (Execute Disable) protection: active                 $
$
:set list                                                                             15,48          9%
/dev/pts/32
15:17:38
#~
1 packets transmitted, 0 received, 100% packet loss, time 0ms$
$
$face lo inet loopback$
iface eth0 inet static$
        address 10.0.35.100$
        netmask 255.0.0.0$
        network 10.0.0.0$
        broadcast 10.255.255.255$
        gateway 10.0.35.1$
--- 127.0.0.1 ping statistics ---
...
                           $
rtt min/avg/max/mdev = 0.$15/0.015/0.015/0.000 ms
                        $
                                $
                         $
264MB LOWMEM available.
$
NX (Execute Disable) protection: active                 $
$
:set list                                                                             15,48          9%
/dev/pts/14
15:17:38
#~
1 packets transmitted, 0 received, 100% packet loss, time 0ms$
$
$face lo inet loopback$
iface eth0 inet static$
        address 10.0.35.100$
        netmask 255.0.0.0$
        network 10.0.0.0$
        broadcast 10.255.255.255$
        gateway 10.0.35.1$
--- 127.0.0.1 ping statistics ---
...
                           $
rtt min/avg/max/mdev = 0.$15/0.015/0.015/0.000 ms
                        $
                                $
                         $
264MB LOWMEM available.
$
NX (Execute Disable) protection: active                 $
$
:set list                                                                             15,48          9%
прошло 43 минуты
/dev/pts/38
16:00:53
#ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:3e:04:00:12
          inet addr:10.0.35.100  Bcast:10.255.255.255  Mask:255.0.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:299841 errors:0 dropped:0 overruns:0 frame:0
          TX packets:166588 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:44258225 (42.2 MiB)  TX bytes:34431648 (32.8 MiB)
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:23320 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23320 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2374220 (2.2 MiB)  TX bytes:2374220 (2.2 MiB)
16:01:00
#cd /var/log

Статистика

Время первой команды журнала14:45:15 2009- 5-25
Время последней команды журнала16:01:00 2009- 5-25
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, % 8.91
Процент синтаксически неверно набранных команд, % 2.97
Суммарное время работы с терминалом *, час 0.54
Количество командных строк в единицу времени, команда/мин 3.11
Частота использования команд
echo24|=====================| 21.24%
apt-get12|==========| 10.62%
ldd6|=====| 5.31%
set6|=====| 5.31%
vi6|=====| 5.31%
~6|=====| 5.31%
ls6|=====| 5.31%
last-ping3|==| 2.65%
man3|==| 2.65%
chmod3|==| 2.65%
ex3|==| 2.65%
vim3|==| 2.65%
nano3|==| 2.65%
!p3|==| 2.65%
wc3|==| 2.65%
export3|==| 2.65%
bc3|==| 2.65%
file3|==| 2.65%
which3|==| 2.65%
EDITOR=pico3|==| 2.65%
mega-script3|==| 2.65%
vipw3|==| 2.65%
ifconfig1|| 0.88%
cd1|| 0.88%
____
*) Интервалы неактивности длительностью 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$