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

Содержание

Журнал

Четверг (03/10/11)

14:59:54
#ls /etc/file1||touch /etc/file1
ls: невозможно получить доступ к /etc/file1: Нет такого файла или каталога
15:00:43
#screen -x
15:00:48
#screen -x
15:01:39
#ls /etc/file1||touch /etc/file1
/etc/file1
15:01:42
#ls /dev/hd*
ls: невозможно получить доступ к /dev/hd*: Нет такого файла или каталога
15:02:49
#ls /dev/
block            loop2               ram11   tty1   tty3   tty5   ttyS3
char             loop3               ram12   tty10  tty30  tty50  urandom
console          loop4               ram13   tty11  tty31  tty51  usbmon0
core             loop5               ram14   tty12  tty32  tty52  vcs
cpu_dma_latency  loop6               ram15   tty13  tty33  tty53  vcs1
disk             loop7               ram2    tty14  tty34  tty54  vcs2
fd               MAKEDEV             ram3    tty15  tty35  tty55  vcs3
full             mapper              ram4    tty16  tty36  tty56  vcs4
hvc0             mem                 ram5    tty17  tty37  tty57  vcs5
hvc1             net                 ram6    tty18  tty38  tty58  vcs6
...
hvc4             null                ram9    tty20  tty40  tty60  vcsa2
hvc5             nvram               random  tty21  tty41  tty61  vcsa3
hvc6             oldmem              raw     tty22  tty42  tty62  vcsa4
hvc7             port                root    tty23  tty43  tty63  vcsa5
initctl          ppp                 shm     tty24  tty44  tty7   vcsa6
input            ptmx                stderr  tty25  tty45  tty8   vga_arbiter
kmsg             pts                 stdin   tty26  tty46  tty9   xconsole
log              ram0                stdout  tty27  tty47  ttyS0  xen
loop0            ram1                tty     tty28  tty48  ttyS1  xvda1
loop1            ram10               tty0    tty29  tty49  ttyS2  zero
15:02:53
#ls /dev/xvd*
/dev/xvda1
15:03:07
#dd if=/dev/zero of=file1 bs=1024 count=2048
2048+0 записей считано
2048+0 записей написано
 скопировано 2097152 байта (2,1 MB), 0,10117 c, 20,7 MB/c
15:05:12
#dd if=/dev/zero of=file1 bs=1024 count=204800
204800+0 записей считано
204800+0 записей написано
 скопировано 209715200 байт (210 MB), 25,6905 c, 8,2 MB/c
15:05:45
#mkfs.ext4 file
file   file1
15:05:45
#mkfs.ext4 file1
mke2fs 1.41.12 (17-May-2010)
file1 is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
51200 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
...
25 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
15:06:07
#mount file1 /mnt
mount: /root/file1 is not a block device (maybe try `-o loop'?)
15:06:16
#mount -o loop file1 /mnt

15:06:38
#mount
/dev/xvda1 on / type ext4 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
none on /selinux type selinuxfs (rw,relatime)
/dev/loop0 on /mnt type ext4 (rw)
15:06:41
#umount
Usage: umount -h | -V
       umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]
       umount [-d] [-f] [-r] [-n] [-v] special | node...
15:07:32
#umount /mnt

15:11:27
#cd

15:11:32
#cat /etc/samba/smb.conf | egrep -v "^#|^;|^$"
[global]
   workgroup = WORKGROUP
   server string = %h server
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   encrypt passwords = true
   passdb backend = tdbsam
...
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700
[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
15:13:43
#cat /etc/samba/smb.conf | egrep -v "^#|^;|^$"|less
15:13:56
# passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\
[global]
   workgroup = WORKGROUP
   server string = %h server
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   encrypt passwords = true
   passdb backend = tdbsam
...
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
[homes]
   comment = Home Directories
   browseable = no
   read only = yes
   create mask = 0700
   directory mask = 0700
   valid users = %S
15:15:41
#cat /etc/samba/smb.conf | egrep -v `^#|^;|^$`|less
15:16:10
#cat /etc/samba/smb.conf | egrep '^#..b'|less
15:17:24
#cat /etc/samba/smb.conf | egrep '^#..a'|less
15:17:59
#man grep
15:23:31
#man pgrep
15:24:04
#egrep '^#..b' /etc/samba/smb.conf

15:25:45
#grep '^#' /etc/samba/smb.conf
#
# Sample configuration file for the Samba suite for Debian GNU/Linux.
#
#
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options most of which
# are not shown in this example
#
# Some options that are often worth tuning have been included as
...
#       cdrom share is accesed. For this to work /etc/fstab must contain
#       an entry like this:
#
#       /dev/scd0   /cdrom  iso9660 defaults,noauto,ro,user   0 0
#
# The CD-ROM gets unmounted automatically after the connection to the
#
# If you don't want to use auto-mounting/unmounting make sure the CD
#       is mounted on /cdrom
#
15:25:55
#grep -v '^#' /etc/samba/smb.conf
[global]
   workgroup = WORKGROUP
   server string = %h server
;   wins server = w.x.y.z
   dns proxy = no
;   name resolve order = lmhosts host wins bcast
;   interfaces = 127.0.0.0/8 eth0
;   bind interfaces only = yes
   log file = /var/log/samba/log.%m
   max log size = 1000
...
   guest ok = no
;   write list = root, @lpadmin
;[cdrom]
;   comment = Samba server's CD-ROM
;   read only = yes
;   locking = no
;   path = /cdrom
;   guest ok = yes
;   preexec = /bin/mount /cdrom
;   postexec = /bin/umount /cdrom
15:28:50
#man grep
15:29:47
#grep -R samba /etc|less
15:31:07
#grep -R 'nado nayti' /etc|less
15:35:38
#cat /etc/passwd|sed s/root/sid/g
sid:x:0:0:sid:/sid:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
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
...
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
messagebus:x:102:104::/var/run/dbus:/bin/false
15:36:01
#cat /etc/passwd|sed s/root/sid/g|sort
backup:x:34:34:backup:/var/backups:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
games:x:5:60:games:/usr/games:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/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
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
sid:x:0:0:sid:/sid:/bin/bash
sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
sys:x:3:3:sys:/dev:/bin/sh
user:x:1000:1000::/home/user:/bin/bash
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
15:36:27
#cat /etc/passwd|sed s/root/sid/g|sort > sort_file

15:36:42
#vim sort_file
15:36:47
#~
  1 deb http://ftp.ua.debian.org/debian squeeze main
"/etc/apt/sources.list" 1L, 49C
15:37:27
#~
&& apt-get update install vim && sed -i -e s/sid/squeeze/g /etc/apt/sources.list
Получено:1 http://ftp.ua.debian.org sid Release.gpg [835 B]
Игн http://ftp.ua.debian.org/debian/ sid/main Translation-en
Игн http://ftp.ua.debian.org/debian/ sid/main Translation-ru
Получено:2 http://ftp.ua.debian.org sid Release [146 kB]
Получено:3 http://ftp.ua.debian.org sid/main i386 Packages [9 169 kB]
Получено 9 316 kБ за 26с (354 kБ/c)
Чтение списков пакетов... Готово
Чтение списков пакетов... Готово
Построение дерева зависимостей
...
Настраивается пакет vim (2:7.3.035+hg~8fdc12103333-1) ...
Настраивается пакет vim-tiny (2:7.3.035+hg~8fdc12103333-1) ...
Устанавливается новая версия файла настройки /etc/vim/vimrc.tiny ...
Получено:1 http://ftp.ua.debian.org squeeze Release.gpg [1 671 B]
Игн http://ftp.ua.debian.org/debian/ squeeze/main Translation-en
Игн http://ftp.ua.debian.org/debian/ squeeze/main Translation-ru
Получено:2 http://ftp.ua.debian.org squeeze Release [69,3 kB]
Получено:3 http://ftp.ua.debian.org squeeze/main i386 Packages [8 631 kB]
Получено 8 702 kБ за 17с (508 kБ/c)
Чтение списков пакетов... Готово
15:40:49
#vim
15:42:09
#~
                  #sed -i -e s/squeeze/sid/g && sleep
15:42:53
#sleep 5

15:43:01
#c&& cat /etc/apt/sources.list &&

15:47:01
#cat /etc/passwd|tr -c abc xyz

15:49:02
#cat /etc/passwd|trd-c a
root:x:0:0:root:/root:/in/sh
demon:x:1:1:demon:/usr/sin:/in/sh
in:x:2:2:in:/in:/in/sh
sys:x:3:3:sys:/dev:/in/sh
syn:x:4:65534:syn:/in:/in/syn
gmes:x:5:60:gmes:/usr/gmes:/in/sh
mn:x:6:12:mn:/vr/he/mn:/in/sh
lp:x:7:7:lp:/vr/spool/lpd:/in/sh
mil:x:8:8:mil:/vr/mil:/in/sh
news:x:9:9:news:/vr/spool/news:/in/sh
...
www-dt:x:33:33:www-dt:/vr/www:/in/sh
kup:x:34:34:kup:/vr/kups:/in/sh
list:x:38:38:Miling List Mnger:/vr/list:/in/sh
ir:x:39:39:ird:/vr/run/ird:/in/sh
gnts:x:41:41:Gnts Bug-Reporting System (dmin):/vr/li/gnts:/in/sh
noody:x:65534:65534:noody:/nonexistent:/in/sh
liuuid:x:100:101::/vr/li/liuuid:/in/sh
sshd:x:101:65534::/vr/run/sshd:/usr/sin/nologin
user:x:1000:1000::/home/user:/in/sh
messgeus:x:102:104::/vr/run/dus:/in/flse
15:49:52
#cat /etc/passwd|tr -d rot
:x:0:0::/:/bin/bash
daemn:x:1:1:daemn:/us/sbin:/bin/sh
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:/us/games:/bin/sh
man:x:6:12:man:/va/cache/man:/bin/sh
lp:x:7:7:lp:/va/spl/lpd:/bin/sh
mail:x:8:8:mail:/va/mail:/bin/sh
news:x:9:9:news:/va/spl/news:/bin/sh
...
www-daa:x:33:33:www-daa:/va/www:/bin/sh
backup:x:34:34:backup:/va/backups:/bin/sh
lis:x:38:38:Mailing Lis Manage:/va/lis:/bin/sh
ic:x:39:39:icd:/va/un/icd:/bin/sh
gnas:x:41:41:Gnas Bug-Reping Sysem (admin):/va/lib/gnas:/bin/sh
nbdy:x:65534:65534:nbdy:/nnexisen:/bin/sh
libuuid:x:100:101::/va/lib/libuuid:/bin/sh
sshd:x:101:65534::/va/un/sshd:/us/sbin/nlgin
use:x:1000:1000::/hme/use:/bin/bash
messagebus:x:102:104::/va/un/dbus:/bin/false
15:50:15
#cat /etc/passwd|tr -s obc
rot:x:0:0:rot:/rot:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
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/spol/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spol/news:/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
messagebus:x:102:104::/var/run/dbus:/bin/false
15:51:13
#cat /etc/passwd|tr -t abc xyzq
root:x:0:0:root:/root:/yin/yxsh
dxemon:x:1:1:dxemon:/usr/syin:/yin/sh
yin:x:2:2:yin:/yin:/yin/sh
sys:x:3:3:sys:/dev:/yin/sh
synz:x:4:65534:synz:/yin:/yin/synz
gxmes:x:5:60:gxmes:/usr/gxmes:/yin/sh
mxn:x:6:12:mxn:/vxr/zxzhe/mxn:/yin/sh
lp:x:7:7:lp:/vxr/spool/lpd:/yin/sh
mxil:x:8:8:mxil:/vxr/mxil:/yin/sh
news:x:9:9:news:/vxr/spool/news:/yin/sh
...
www-dxtx:x:33:33:www-dxtx:/vxr/www:/yin/sh
yxzkup:x:34:34:yxzkup:/vxr/yxzkups:/yin/sh
list:x:38:38:Mxiling List Mxnxger:/vxr/list:/yin/sh
irz:x:39:39:irzd:/vxr/run/irzd:/yin/sh
gnxts:x:41:41:Gnxts Bug-Reporting System (xdmin):/vxr/liy/gnxts:/yin/sh
noyody:x:65534:65534:noyody:/nonexistent:/yin/sh
liyuuid:x:100:101::/vxr/liy/liyuuid:/yin/sh
sshd:x:101:65534::/vxr/run/sshd:/usr/syin/nologin
user:x:1000:1000::/home/user:/yin/yxsh
messxgeyus:x:102:104::/vxr/run/dyus:/yin/fxlse
15:51:48
#man tr
15:53:09
#cat /etc/samba/smb.conf |tr -d \n |less
15:53:54
#cat /etc/samba/smb.conf |tr -d \v |less
15:54:14
#cat /etc/samba/smb.conf |tr \n |less
15:54:40
#cat /etc/samba/smb.conf |tr -d \\n |less
15:55:46
#vim script
--- /dev/null	2011-03-09 10:27:44.262550540 +0200
+++ script	2011-03-10 16:56:01.540611942 +0200
@@ -0,0 +1 @@
+s/file/111/g
15:56:01
#sed -i -e -f script /etc/samba/smb.conf
sed: -e выражение #1, символ 1: неизвестная команда: `-'
15:56:24
#sed -i -f script /etc/samba/smb.conf

15:56:33
#vim /etc/samba/smb.conf
15:56:50
#testparm -s smb.conf.master >smb.conf
script     sort_file
15:56:50
#vim s
15:56:50
#vim script
--- /tmp/l3-saved-9365.28912.23755	2011-03-10 16:56:54.282550050 +0200
+++ script	2011-03-10 16:57:19.603550403 +0200
@@ -1 +1,2 @@
 s/file/111/g
+s/samba/amba/g
15:57:50
#WINS Server - Tells the NMBD components of Samba to be a WINS Client
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   2052   816 ?        Ss   Mar09   0:01 init [4]
root         2  0.0  0.0      0     0 ?        S    Mar09   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Mar09   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        S    Mar09   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S    Mar09   0:00 [watchdog/0]
root         6  0.0  0.0      0     0 ?        S    Mar09   0:08 [events/0]
root         7  0.0  0.0      0     0 ?        S    Mar09   0:00 [cpuset]
root         8  0.0  0.0      0     0 ?        S    Mar09   0:00 [khelper]
root        11  0.0  0.0      0     0 ?        S    Mar09   0:00 [async/mgr]
...
root      9727  0.0  0.1   5108   756 pts/2    Ss+  16:00   0:00 script -f -c ba
root      9735  0.0  0.4   8276  2888 ?        Ss   16:00   0:01 sshd: root@pts/
root      9788  0.0  0.0   5112   500 pts/2    S+   16:00   0:00 script -f -c ba
root      9789  0.0  0.4   7320  2920 pts/4    Ss   16:00   0:00 bash
root      9832  0.0  0.1   5108   756 pts/8    Ss+  16:00   0:00 script -f -c ba
root      9889  0.0  0.0   5112   500 pts/8    S+   16:00   0:00 script -f -c ba
root      9890  0.0  0.4   7320  2924 pts/9    Ss   16:00   0:00 bash
root      9933  0.0  0.1   6004  1060 pts/4    S+   16:00   0:00 screen -x
root      9934  0.0  0.1   6004  1056 pts/9    S+   16:01   0:00 screen -x
root     11223  0.0  0.1   5588  1052 pts/5    R+   16:59   0:00 ps aux
15:59:25
#ps aux|awk (print $2)
bash: syntax error near unexpected token `print'
15:59:59
#ps aux|awk '(print $2)'
awk: line 1: syntax error at or near print
16:00:27
#sed s/^a/ /g /etc/passwd
sed: -e выражение #1, символ 5: незавершенная команда `s'
прошло 20 минут
16:20:56
#sed -i s/^a/ /g /etc/passwd
sed: -e выражение #1, символ 5: незавершенная команда `s'
16:21:01
#sed -e s/^a/ /g /etc/passwd
sed: -e выражение #1, символ 5: незавершенная команда `s'
16:21:07
#sed 's/^a/ /g' /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
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
...
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
messagebus:x:102:104::/var/run/dbus:/bin/false
16:21:31
#sed 's/^[a]/ /g' /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
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
...
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
messagebus:x:102:104::/var/run/dbus:/bin/false
16:21:47
#sed 's/^[a]//g' /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
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
...
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
messagebus:x:102:104::/var/run/dbus:/bin/false
16:22:08
#sed 's/[^a]//g' /etc/passwd
a
aa
aaa
aaaaa
a
aaaa
a
a
aaaaa
aaaa
aaaa
a
aaaaa
a
a
a
aaa
16:22:15
#sed 's/[^a]/ /g' /etc/passwd
                            a
 a            a
 a            a          a
 a          a    a   a     a
              a
 a          a     a   a
                  a
                    a
     a a              a a   a
 a              a       a   a
              a            a a      a
                   a
  a             a                         a        a        a
                     a
                    a
                                   a
    a                   a                 a
16:22:19
#sed 's/[^a]//g' /etc/passwd
a
aa
aaa
aaaaa
a
aaaa
a
a
aaaaa
aaaa
aaaa
a
aaaaa
a
a
a
aaa
16:22:29
#sed 's/[^a]//g' /etc/passwd | wc -c
65
16:22:53
#locate si*
bash: locate: команда не найдена
16:24:42
#locate si
bash: locate: команда не найдена
16:24:44
#locate sid
bash: locate: команда не найдена
16:24:47
#apt-get install locate
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
НОВЫЕ пакеты, которые будут установлены:
  locate
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 151 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 332 kB.
Получено:1 http://ftp.ua.debian.org/debian/ squeeze/main locate i386 4.4.2-1+b1 [151 kB]
Получено 151 kБ за 0с (495 kБ/c)
Выбор ранее не выбранного пакета locate.
(Чтение базы данных ... на данный момент установлено 19080 файлов и каталогов.)
Распаковывается пакет locate (из файла .../locate_4.4.2-1+b1_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет locate (4.4.2-1+b1) ...
16:24:56
#man locate
16:29:36
#iconv -f CP1251 -t KOI8-R
бНОПНЯ
òiconv: недопустимая входная последовательность в позиции 1
16:38:12
#iconv -f cp1251 -t utf8
ÐбНÐОПНЯ
РР±РќРРÑ
16:38:40
#iconv -f ÐKOI8-R -t CP1251
Вопрос
ïiconv: недопустимая входная последовательность в позиции 1
16:39:22
#man iconv
16:39:22
#man iconv
16:40:00
#iconv -f UTF8 -t KOI8-R
бНУПНЯ
Âîõðîñ
16:41:02
#iconv -f UTF8 -t CP1251
Вопрос
Âîïðîñ
прошло 24 минуты
/dev/pts/6
17:05:28
#screen -x
17:10:29
#Ðlocate apt

17:10:48
#updatedb

17:11:02
#locate apt
/etc/alternatives/aptitude
/etc/apt
/etc/apt/apt.conf.d
/etc/apt/apt.conf.d/01autoremove
/etc/apt/apt.conf.d/70debconf
/etc/apt/preferences.d
/etc/apt/secring.gpg
/etc/apt/sources.list
/etc/apt/sources.list.d
/etc/apt/trustdb.gpg
...
/var/lib/dpkg/info/apt.preinst
/var/lib/dpkg/info/apt.shlibs
/var/lib/dpkg/info/apt-utils.list
/var/lib/dpkg/info/apt-utils.md5sums
/var/lib/dpkg/info/apt-utils.postinst
/var/lib/dpkg/info/apt-utils.postrm
/var/lib/dpkg/info/apt-utils.shlibs
/var/log/apt
/var/log/apt/history.log
/var/log/apt/term.log
17:11:06
#ls
12    file1   folde2  hard           hello-vi.txt   lilalo.tar.gz  script
file  folde1  folde3  hello-vi1.txt  hello-vi.txt!  link           sort_file
17:11:19
#cd

17:11:21
#touch wilen

17:11:23
#locate wilen

17:11:29
#updatedb

17:11:37
#locate wilen
/root/wilen
17:11:38
#locate -l 10 apt
/etc/alternatives/aptitude
/etc/apt
/etc/apt/apt.conf.d
/etc/apt/apt.conf.d/01autoremove
/etc/apt/apt.conf.d/70debconf
/etc/apt/preferences.d
/etc/apt/secring.gpg
/etc/apt/sources.list
/etc/apt/sources.list.d
/etc/apt/trustdb.gpg
17:12:02
#touch Apt

17:12:26
#updatedb

17:12:30
#locate -li 10 apt
locate: invalid -l argument `i'
17:12:34
#locate -i -l 10 apt
/etc/alternatives/aptitude
/etc/apt
/etc/apt/apt.conf.d
/etc/apt/apt.conf.d/01autoremove
/etc/apt/apt.conf.d/70debconf
/etc/apt/preferences.d
/etc/apt/secring.gpg
/etc/apt/sources.list
/etc/apt/sources.list.d
/etc/apt/trustdb.gpg
17:12:41
#locate -i -l 40 apt
/etc/alternatives/aptitude
/etc/apt
/etc/apt/apt.conf.d
/etc/apt/apt.conf.d/01autoremove
/etc/apt/apt.conf.d/70debconf
/etc/apt/preferences.d
/etc/apt/secring.gpg
/etc/apt/sources.list
/etc/apt/sources.list.d
/etc/apt/trustdb.gpg
...
/usr/bin/aptitude
/usr/bin/aptitude-create-state-bundle
/usr/bin/aptitude-curses
/usr/bin/aptitude-run-state-bundle
/usr/bin/apt-key
/usr/bin/apt-mark
/usr/bin/apt-sortpkgs
/usr/bin/captoinfo
/usr/bin/debconf-apt-progress
/usr/lib/apt
17:12:47
#locate -i -l 40 Apt
/etc/alternatives/aptitude
/etc/apt
/etc/apt/apt.conf.d
/etc/apt/apt.conf.d/01autoremove
/etc/apt/apt.conf.d/70debconf
/etc/apt/preferences.d
/etc/apt/secring.gpg
/etc/apt/sources.list
/etc/apt/sources.list.d
/etc/apt/trustdb.gpg
...
/usr/bin/aptitude
/usr/bin/aptitude-create-state-bundle
/usr/bin/aptitude-curses
/usr/bin/aptitude-run-state-bundle
/usr/bin/apt-key
/usr/bin/apt-mark
/usr/bin/apt-sortpkgs
/usr/bin/captoinfo
/usr/bin/debconf-apt-progress
/usr/lib/apt

Статистика

Время первой команды журнала14:59:54 2011- 3-10
Время последней команды журнала17:12:47 2011- 3-10
Количество командных строк в журнале100
Процент команд с ненулевым кодом завершения, %18.00
Процент синтаксически неверно набранных команд, % 3.00
Суммарное время работы с терминалом *, час 2.21
Количество командных строк в единицу времени, команда/мин 0.75
Частота использования команд
cat18|============| 12.50%
sed15|==========| 10.42%
locate11|=======| 7.64%
less10|======| 6.94%
tr8|=====| 5.56%
man7|====| 4.86%
egrep6|====| 4.17%
ls6|====| 4.17%
vim6|====| 4.17%
iconv5|===| 3.47%
touch4|==| 2.78%
grep4|==| 2.78%
screen3|==| 2.08%
~3|==| 2.08%
updatedb3|==| 2.08%
^3|==| 2.08%
mount3|==| 2.08%
sort2|=| 1.39%
umount2|=| 1.39%
awk2|=| 1.39%
cd2|=| 1.39%
ps2|=| 1.39%
^$"2|=| 1.39%
dd2|=| 1.39%
mkfs.ext42|=| 1.39%
sleep1|| 0.69%
c&1|| 0.69%
&1|| 0.69%
passwd1|| 0.69%
smb.conf1|| 0.69%
wc1|| 0.69%
apt-get1|| 0.69%
WINS1|| 0.69%
Ðlocate1|| 0.69%
^$`1|| 0.69%
trd-c1|| 0.69%
testparm1|| 0.69%
sort_file1|| 0.69%
____
*) Интервалы неактивности длительностью 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$