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

Содержание

Журнал

Воскресенье (12/10/06)

/dev/pts/0
21:09:18
#xenstore-ls
tool = ""
 xenstored = ""
vm = ""
 00000000-0000-0000-0000-000000000000 = ""
  shadow_memory = "0"
  uuid = "00000000-0000-0000-0000-000000000000"
  on_reboot = "restart"
  on_poweroff = "destroy"
  name = "Domain-0"
  xend = ""
...
   vm = "/vm/18a27939-0a2c-6c12-f1ee-803cb42a9949"
   domid = "5"
   cpu = ""
    0 = ""
     availability = "online"
   memory = ""
    target = "131072"
   store = ""
    ring-ref = "811830"
    port = "1"
21:18:02
#xenstore-ls /local/
xenstore-ls: xs_directory (/local/): Invalid argument
21:18:14
#xenstore-ls / | less
21:19:18
#xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      125     2 r-----    107.4
winxp0                                     5      128     1 -b----     12.1
21:19:20
#xenstore-ls /local/domain/5
device = ""
 vbd = ""
  768 = ""
   backend-id = "0"
   virtual-device = "768"
   device-type = "disk"
   state = "1"
   backend = "/local/domain/0/backend/vbd/5/768"
  5632 = ""
   backend-id = "0"
...
vm = "/vm/18a27939-0a2c-6c12-f1ee-803cb42a9949"
domid = "5"
cpu = ""
 0 = ""
  availability = "online"
memory = ""
 target = "131072"
store = ""
 ring-ref = "811830"
 port = "1"
21:19:28
#xm destroy winxp0

21:19:56
#vi winxp0
135c135
< vncdisplay=10
---
> vncdisplay=50
21:20:08
#xm create winxp0
Using config file "winxp0".
Started domain winxp0
21:20:12
#xm destroy winxp0

21:20:25
#vi winxp0
135c135
< vncdisplay=50
---
> vncdisplay=90
21:20:31
#xm create winxp0
Using config file "winxp0".
Started domain winxp0
21:20:34
#xm destroy winxp0

21:20:55
#vi winxp0
135c135
< vncdisplay=90
---
> vncdisplay=99
21:21:03
#xm create winxp0
Using config file "winxp0".
Started domain winxp0
21:21:09
#xm destroy winxp0

21:21:23
#vi winxp0
135c135
< vncdisplay=99
---
> vncdisplay=100
21:21:32
#xm create winxp0
Using config file "winxp0".
Started domain winxp0
21:29:27
#grep -v ^# winxp0
kernel = "hvmloader"
builder='hvm'
memory = 128
shadow_memory = 8
name = "winxp0"
vif = [ 'type=ioemu, mac=00:16:3e:00:03:AA, bridge=xenbr0' ]
disk = [ 'phy:/dev/NAS1/winxp0,hda,w', 'file:/data/ISO/windowsxp-pro-sp2.iso,hdc:cdrom,r' ]
device_model = 'qemu-dm'
boot="d"
sdl=0
vnc=1
vncdisplay=100
vncunused=0
stdvga=0
serial='pty'
21:29:30
#cp winxp0 winxp1

21:30:07
#grep -v ^# winxp0 > winxpN

21:30:17
#rm winxp1

21:30:26
#vi winxp1
21:30:29
#vi winxpN
1d0
< 
3d1
< 
5d2
< 
7d3
< 
9,20c5,6
< 
< name = "winxp0"
< 
< 
< 
< 
< 
< 
< 
< vif = [ 'type=ioemu, mac=00:16:3e:00:03:AA, bridge=xenbr0' ]
< 
< 
---
> name = "winxp" + N
> vif = [ 'type=ioemu, mac=00:16:3e:00:03:'+ mac_last_byte, bridge=xenbr0' ]
22,25d7
< 
< 
< 
< 
27,30c9
< 
< boot="d"
< 
< 
---
> boot="c"
32d10
< 
34,37c12
< 
< 
< vncdisplay=100
< 
---
> vncdisplay=100+N
39,41d13
< 
< 
< 
43d14
< 
46,53d16
< 
< 
< 
< 
< 
< 
< 
< 
21:31:41
#xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      125     2 r-----    204.9
21:31:45
#vi winxpN
5a6
> mac_last_byte=N
21:32:09
#xm create winxpN N=3
Using config file "winxpN".
Error: invalid syntax (winxpN, line 7)
21:32:18
#vi winxpN
7c7
< vif = [ 'type=ioemu, mac=00:16:3e:00:03:'+ mac_last_byte, bridge=xenbr0' ]
---
> vif = [ 'type=ioemu, mac=00:16:3e:00:03:' + mac_last_byte, bridge=xenbr0' ]
21:32:32
#xm create winxpN N=3
Using config file "winxpN".
Error: invalid syntax (winxpN, line 7)
21:32:36
#python
Python 2.4.4 (#2, Oct 20 2006, 00:23:25)
[GCC 4.1.2 20061015 (prerelease) (Debian 4.1.1-16.1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a=2
>>> b=3
>>> c=[a+b]
>>> c
[5]
>>> a='2'
>>> c=[a+b]
...
  File "<stdin>", line 1, in ?
AttributeError: 'int' object has no attribute 'str'
>>> b.string
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
AttributeError: 'int' object has no attribute 'string'
>>> c=[a+str(b)]
>>> c
['23']
>>>
21:34:57
#vi winxpN
5,7c5,7
< name = "winxp" + N
< mac_last_byte=N
< vif = [ 'type=ioemu, mac=00:16:3e:00:03:' + mac_last_byte, bridge=xenbr0' ]
---
> name = "winxp" + str(N)
> mac_last_byte=str(N)
> vif = [ 'type=ioemu, mac=00:16:3e:00:03:' + mac_last_byte +', bridge=xenbr0' ]
21:35:38
#xm create winxpN N=3
Using config file "winxpN".
Error: unsupported operand type(s) for +: 'int' and 'str'
21:35:45
#vi winxpN
5c5
< name = "winxp" + str(N)
---
> name = 'winxp' + str(N)
7c7
< vif = [ 'type=ioemu, mac=00:16:3e:00:03:' + mac_last_byte +', bridge=xenbr0' ]
---
> vif = [ 'type=ioemu, mac=00:16:3e:00:03:' + mac_last_byte + ', bridge=xenbr0' ]
21:36:25
#xm create winxpN N=3
Using config file "winxpN".
Error: unsupported operand type(s) for +: 'int' and 'str'
21:36:25
#python
Python 2.4.4 (#2, Oct 20 2006, 00:23:25)
[GCC 4.1.2 20061015 (prerelease) (Debian 4.1.1-16.1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> N=3
>>> name='winxp'+N
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: cannot concatenate 'str' and 'int' objects
>>> name='winxp'+str(N)
>>> name='winxp' + str(N)
>>>
21:36:53
#vi winxpN
7c7
< vif = [ 'type=ioemu, mac=00:16:3e:00:03:' + mac_last_byte + ', bridge=xenbr0' ]
---
> vif = [ 'type=ioemu, mac=00:16:3e:00:03:' + str(N) + ', bridge=xenbr0' ]
21:37:29
#xm create winxpN N=3
Using config file "winxpN".
Error: unsupported operand type(s) for +: 'int' and 'str'
21:37:31
#vi winxpN
6c6
< mac_last_byte=str(N)
---
> #mac_last_byte=str(N)
21:37:36
#xm create winxpN N=3
Using config file "winxpN".
Error: unsupported operand type(s) for +: 'int' and 'str'
21:37:37
#vi winxpN
7c7
< vif = [ 'type=ioemu, mac=00:16:3e:00:03:' + str(N) + ', bridge=xenbr0' ]
---
> vif = [ 'type=ioemu, mac=00:16:3e:00:03:' + '03' + ', bridge=xenbr0' ]
21:37:52
#xm create winxpN N=3
Using config file "winxpN".
Error: unsupported operand type(s) for +: 'int' and 'str'
21:37:53
#vi winxpN
7c7
< vif = [ 'type=ioemu, mac=00:16:3e:00:03:' + '03' + ', bridge=xenbr0' ]
---
> vif = [ 'type=ioemu, mac=00:16:3e:00:03:03' + ', bridge=xenbr0' ]
21:38:07
#xm create winxpN N=3
Using config file "winxpN".
Error: unsupported operand type(s) for +: 'int' and 'str'
21:38:08
#vi winxpN
7c7
< vif = [ 'type=ioemu, mac=00:16:3e:00:03:03' + ', bridge=xenbr0' ]
---
> vif = [ 'type=ioemu, mac=00:16:3e:00:03:03, bridge=xenbr0' ]
21:38:21
#xm create winxpN N=3
Using config file "winxpN".
Error: unsupported operand type(s) for +: 'int' and 'str'
21:38:21
#vi winxpN
5,7c5,6
< name = 'winxp' + str(N)
< #mac_last_byte=str(N)
< vif = [ 'type=ioemu, mac=00:16:3e:00:03:03, bridge=xenbr0' ]
---
> name = 'winxp' + N
> vif = [ 'type=ioemu, mac=00:16:3e:00:03:'+N+', bridge=xenbr0' ]
13c12
< vncdisplay=100+N
---
> vncdisplay=100+int(N)
21:39:10
#xm create winxpN
Using config file "winxpN".
Error: name 'N' is not defined
21:39:12
#xm create winxpN N=3
Using config file "winxpN".
Started domain winxp3
21:47:10
#xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      125     2 r-----    229.6
21:47:12
#lvdisplay
  --- Logical volume ---
  LV Name                /dev/NAS1/winxp0
  VG Name                NAS1
  LV UUID                6w0bG5-emLP-b9tq-H1ch-tOMY-t5Ay-8nKk7x
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                2,00 GB
  Current LE             512
  Segments               1
...
  LV UUID                kDsQDI-1ey6-pC1J-uhxb-35zK-GF1a-2E1iS9
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                4,00 GB
  Current LE             1024
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           254:5
21:47:16
#lvdisplay /dev/NAS1/winxp0
  --- Logical volume ---
  LV Name                /dev/NAS1/winxp0
  VG Name                NAS1
  LV UUID                6w0bG5-emLP-b9tq-H1ch-tOMY-t5Ay-8nKk7x
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                2,00 GB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           254:0
21:47:23
#lvcreate -L 2048M -n winxp1 NAS1
  Logical volume "winxp1" created
21:48:07
#dd if=/dev/NAS1/winxp0 of=/dev/NAS1/winxp1
4194304+0 записей считано
4194304+0 записей написано
 скопировано 2147483648 байт (2,1 GB), 237,59 секунд, 9,0 MB/s
21:52:28
#vi winxpN
7c7
< disk = [ 'phy:/dev/NAS1/winxp0,hda,w', 'file:/data/ISO/windowsxp-pro-sp2.iso,hdc:cdrom,r' ]
---
> disk = [ 'phy:/dev/NAS1/winxp'+N+',hda,w', 'file:/data/ISO/windowsxp-pro-sp2.iso,hdc:cdrom,r' ]
21:54:25
#xm create winxpN N=1
Using config file "winxpN".
Started domain winxp1
21:54:34
#man lvcreate
22:01:44
#ls
2003server0  deb0  oes0  scripts  suse0  suse0sxp  winxp0  winxpN  xend-config.sxp  xend-pci-permissive.sxp  xend-pci-quirks.sxp
22:01:46
#vi create-volumes.sh
22:02:08
#history
  368  apt-cache search pci tools
  369  apt-cache search pci utils
  370  apt-get install pciutils
  371  lspci
  372  mii-tool
  373  mii-tool -R eth1
  374  /etc/init.d/lvm restart
  375  ls /dev/NAS1/
  376  mount -L ISO
  377  cd /data/ISO/
...
  507  lvdisplay
  508  lvdisplay /dev/NAS1/winxp0
  509  lvcreate -L 2048M -n winxp1 NAS1
  510  dd if=/dev/NAS1/winxp0 of=/dev/NAS1/winxp1
  511  vi winxpN
  512  xm create winxpN N=1
  513  man lvcreate
  514  ls
  515  vi create-volumes.sh
  516  history
22:02:12
#vi create-volumes.sh
0a1,13
> 
> 
> size=2048M
> source=winxp0
> number=12
> 
> n=1
> while [ $n -lt $number ]
> do
> lvcreate -L ${size} -n winxp${n} NAS1
> dd if=/dev/NAS1/winxp0 of=/dev/NAS1/winxp${n}
> done
> 
22:03:44
#lvdisplay winxp1
  Volume group "winxp1" not found
22:04:04
#lvdisplay /dev/NAS1/winxp1
  --- Logical volume ---
  LV Name                /dev/NAS1/winxp1
  VG Name                NAS1
  LV UUID                ncz62E-JN49-mB0K-6FT0-S7gH-XZ56-tQA7xs
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                2,00 GB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           254:6
22:04:16
#lvdestroy /dev/NAS1/winxp1
bash: lvdestroy: command not found
22:04:22
#lv
lvchange       lvcreate       lvextend       lvm-bin-scan   lvmdiskscan    lvmsadc        lvreduce       lvrename       lvs
lvconvert      lvdisplay      lvm            lvmchange      lvmiopversion  lvmsar         lvremove       lvresize       lvscan
22:04:28
#lvremove /dev/NAS1/winxp1
Do you really want to remove active logical volume "winxp1"? [y/n]: y
  Logical volume "winxp1" successfully removed
22:05:07
#ls
2003server0        deb0  scripts  suse0sxp  winxpN           xend-pci-permissive.sxp
create-volumes.sh  oes0  suse0    winxp0    xend-config.sxp  xend-pci-quirks.sxp
22:05:09
#man lvcreate
22:05:32
#lvcreate -s -L 1024M -n winxp1 /dev/NAS1/winxp0
  Logical volume "winxp1" created
22:06:29
#lvcreate -s -L 1024M -n winxp2 /dev/NAS1/winxp0
  Logical volume "winxp2" created
22:06:45
#vi winxp0
67c67,70
< disk = [ 'phy:/dev/NAS1/winxp0,hda,w', 'file:/data/ISO/windowsxp-pro-sp2.iso,hdc:cdrom,r' ]
---
> 
> 
> # DONT UNCOMMENT
> #disk = [ 'phy:/dev/NAS1/winxp0,hda,w', 'file:/data/ISO/windowsxp-pro-sp2.iso,hdc:cdrom,r' ]
22:07:37
#xm create winxpN N=1
Using config file "winxpN".
Started domain winxp1
22:07:51
#xm create winxpN N=2
Using config file "winxpN".
Started domain winxp2
22:07:56
#xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      125     2 r-----    386.3
22:17:44
#xm create winxpN N=1
Using config file "winxpN".
Started domain winxp1
22:17:50
#xm create winxpN N=2
Using config file "winxpN".
Started domain winxp2
22:21:00
#xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      125     2 r-----    418.4
winxp1                                    15      128     1 -b----      7.4
winxp2                                    16      128     1 -b----      9.7
22:21:05
#vi create-volumes.sh
22:21:15
#seq 3 12
3
4
5
6
7
8
9
10
11
12
22:21:21
#vi create-volumes.sh
0a1
> #!/bin/sh
2,3c3
< 
< size=2048M
---
> size=1024M
5d4
< number=12
7,8c6
< n=1
< while [ $n -lt $number ]
---
> for n in `seq 3 12`
10,11c8
< lvcreate -L ${size} -n winxp${n} NAS1
< dd if=/dev/NAS1/winxp0 of=/dev/NAS1/winxp${n}
---
> lvcreate -s -L ${size} -n winxp${n} ${source}
22:22:20
#chmod +x create-volumes.sh

22:22:22
#./create-volumes.sh
        [-v|--verbose]
        [--version]
        OriginalLogicalVolume[Path] [PhysicalVolumePath...]
  Path required for Logical Volume "winxp0"
  The origin name should include the volume group.
  lvcreate: Create a logical volume
lvcreate
        [-A|--autobackup {y|n}]
        [--addtag Tag]
        [--alloc AllocationPolicy]
...
        {-l|--extents LogicalExtentsNumber |
         -L|--size LogicalVolumeSize[kKmMgGtT]}
        [-M|--persistent {y|n}] [--major major] [--minor minor]
        [-n|--name LogicalVolumeName]
        [-p|--permission {r|rw}]
        [-r|--readahead ReadAheadSectors]
        [-t|--test]
        [-v|--verbose]
        [--version]
        OriginalLogicalVolume[Path] [PhysicalVolumePath...]
22:22:25
#vi
4c4
< source=winxp0
---
> source=/dev/NAS1/winxp0
22:22:54
#./create-volumes.sh
  Logical volume "winxp3" created
  Logical volume "winxp4" created
  Logical volume "winxp5" created
  Logical volume "winxp6" created
  Logical volume "winxp7" created
  Logical volume "winxp8" created
  Logical volume "winxp9" created
  Logical volume "winxp10" created
  Logical volume "winxp11" created
  Logical volume "winxp12" created
22:23:04
#ls
2003server0        deb0  scripts  suse0sxp  winxpN           xend-pci-permissive.sxp
create-volumes.sh  oes0  suse0    winxp0    xend-config.sxp  xend-pci-quirks.sxp
/dev/pts/0
22:26:53
#aoe-stat

22:27:16
#aoe-discover

22:27:20
#aoe-stat
      e9.0       160.041GB   eth1 up
22:27:21
#/etc/init.d/lvm restart
Shutting down LVM Volume Groups...
  No volume groups found
Setting up LVM Volume Groups...
  Reading all physical volumes.  This may take a while...
  Found volume group "NAS1" using metadata type lvm2
  6 logical volume(s) in volume group "NAS1" now active
22:27:32
#ls /dev/NAS1/
2003server0  ISO   suse0   winxp1   winxp11  winxp2  winxp4  winxp6  winxp8
deb0         oes0  winxp0  winxp10  winxp12  winxp3  winxp5  winxp7  winxp9
22:27:37
#cd /etc/xen/

22:28:07
#vi create-volumes.sh
3c3
< size=1024M
---
> size=2048M
4a5
> nas=NAS1
8c9,10
< lvcreate -s -L ${size} -n winxp${n} ${source}
---
> lvcreate -L ${size} -n winxp${n} ${nas}
> dd if=${source} of=/dev/${nas}/winxp${n}
22:30:17
#for i in `seq 3 12`
> do
> l
22:30:32
#for i in `seq 3 12`
> do
> lvremove /dev/NAS1/winxp$i
> done
Do you really want to remove active logical volume "winxp3"? [y/n]: y
  Logical volume "winxp3" successfully removed
Do you really want to remove active logical volume "winxp4"? [y/n]: y
  Logical volume "winxp4" successfully removed
Do you really want to remove active logical volume "winxp5"? [y/n]: y
  Logical volume "winxp5" successfully removed
Do you really want to remove active logical volume "winxp6"? [y/n]: y
...
Do you really want to remove active logical volume "winxp8"? [y/n]: y
  Logical volume "winxp8" successfully removed
Do you really want to remove active logical volume "winxp9"? [y/n]: y
  Logical volume "winxp9" successfully removed
Do you really want to remove active logical volume "winxp10"? [y/n]: y
  Logical volume "winxp10" successfully removed
Do you really want to remove active logical volume "winxp11"? [y/n]: y
  Logical volume "winxp11" successfully removed
Do you really want to remove active logical volume "winxp12"? [y/n]: y
  Logical volume "winxp12" successfully removed
22:31:17
#vi create-volumes.sh
7c7
< for n in `seq 3 12`
---
> for n in `seq 3 6`
22:31:50
#./create-volumes.sh
  Logical volume "winxp3" created
4194304+0 записей считано
4194304+0 записей написано
 скопировано 2147483648 байт (2,1 GB), 235,411 секунд, 9,1 MB/s
  Logical volume "winxp4" created
4194304+0 записей считано
4194304+0 записей написано
 скопировано 2147483648 байт (2,1 GB), 241,688 секунд, 8,9 MB/s
  Logical volume "winxp5" created
4194304+0 записей считано
4194304+0 записей написано
 скопировано 2147483648 байт (2,1 GB), 300,411 секунд, 7,1 MB/s
  Logical volume "winxp6" created
4194304+0 записей считано
4194304+0 записей написано
 скопировано 2147483648 байт (2,1 GB), 386,005 секунд, 5,6 MB/s
/dev/pts/2
22:40:10
#cd /etc/xen/

22:42:00
#ls
2003server0        deb0  scripts  suse0sxp  winxpN           xend-pci-permissive.sxp
create-volumes.sh  oes0  suse0    winxp0    xend-config.sxp  xend-pci-quirks.sxp
22:42:01
#ls /dev/NAS1/
2003server0  deb0  ISO  oes0  suse0  winxp0  winxp1  winxp2  winxp3  winxp4  winxp5
22:42:08
#xm create winxpN N=1
Using config file "winxpN".
Error: Disk image does not exist: /data/ISO/windowsxp-pro-sp2.iso
22:42:21
#mount -L ISO

22:42:28
#xm create winxpN N=1
Using config file "winxpN".
Started domain winxp1
22:42:35
#xm create winxpN N=2
Using config file "winxpN".
Started domain winxp2

Статистика

Время первой команды журнала21:09:18 2006-12-10
Время последней команды журнала22:42:35 2006-12-10
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %16.83
Процент синтаксически неверно набранных команд, % 1.98
Суммарное время работы с терминалом *, час 1.55
Количество командных строк в единицу времени, команда/мин 1.08
Частота использования команд
xm32|===============================| 31.07%
vi25|========================| 24.27%
ls6|=====| 5.83%
xenstore-ls4|===| 3.88%
lvdisplay4|===| 3.88%
create-volumes.sh3|==| 2.91%
lvcreate3|==| 2.91%
man2|=| 1.94%
for2|=| 1.94%
aoe-stat2|=| 1.94%
cd2|=| 1.94%
python2|=| 1.94%
grep2|=| 1.94%
chmod1|| 0.97%
cp1|| 0.97%
dd1|| 0.97%
mount1|| 0.97%
lvdestroy1|| 0.97%
winxpN1|| 0.97%
rm1|| 0.97%
history1|| 0.97%
/etc/init.d/lvm1|| 0.97%
seq1|| 0.97%
less1|| 0.97%
aoe-discover1|| 0.97%
lvremove1|| 0.97%
lv1|| 0.97%
____
*) Интервалы неактивности длительностью 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$