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

Содержание

Журнал

Понедельник (11/02/20)

/dev/pts/0
11:52:55
#find . -type d -maxdepth 1
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
.
./.aptitude
./.lilalo
./d4
./d2
./d1
./.vim
/dev/pts/1
11:52:55
#find . -type d -maxdepth 1
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
.
./.aptitude
./.lilalo
./d4
./d2
./d1
./.vim
/dev/pts/0
11:53:01
#find . -maxdepth 1 -type d
.
./.aptitude
./.lilalo
./d4
./d2
./d1
./.vim
/dev/pts/1
11:53:01
#find . -maxdepth 1 -type d
.
./.aptitude
./.lilalo
./d4
./d2
./d1
./.vim
11:53:24
#find --help
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
default path is the current directory; default expression is -print
expression may consist of: operators, options, tests, and actions:
operators (decreasing precedence; -and is implicit where no others are given):
      ( EXPR )   ! EXPR   -not EXPR   EXPR1 -a EXPR2   EXPR1 -and EXPR2
      EXPR1 -o EXPR2   EXPR1 -or EXPR2   EXPR1 , EXPR2
positional options (always true): -daystart -follow -regextype
normal options (always true, specified before other expressions):
      -depth --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf
      --version -xdev -ignore_readdir_race -noignore_readdir_race
...
      -readable -writable -executable
      -wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
      -used N -user NAME -xtype [bcdpfls]
actions: -delete -print0 -printf FORMAT -fprintf FILE FORMAT -print
      -fprint0 FILE -fprint FILE -ls -fls FILE -prune -quit
      -exec COMMAND ; -exec COMMAND {} + -ok COMMAND ;
      -execdir COMMAND ; -execdir COMMAND {} + -okdir COMMAND ;
Report (and track progress on fixing) bugs via the findutils bug-reporting
page at http://savannah.gnu.org/ or, if you have no web access, by sending
email to <bug-findutils@gnu.org>.
/dev/pts/0
11:53:24
#find --help
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
default path is the current directory; default expression is -print
expression may consist of: operators, options, tests, and actions:
operators (decreasing precedence; -and is implicit where no others are given):
      ( EXPR )   ! EXPR   -not EXPR   EXPR1 -a EXPR2   EXPR1 -and EXPR2
      EXPR1 -o EXPR2   EXPR1 -or EXPR2   EXPR1 , EXPR2
positional options (always true): -daystart -follow -regextype
normal options (always true, specified before other expressions):
      -depth --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf
      --version -xdev -ignore_readdir_race -noignore_readdir_race
...
      -readable -writable -executable
      -wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
      -used N -user NAME -xtype [bcdpfls]
actions: -delete -print0 -printf FORMAT -fprintf FILE FORMAT -print
      -fprint0 FILE -fprint FILE -ls -fls FILE -prune -quit
      -exec COMMAND ; -exec COMMAND {} + -ok COMMAND ;
      -execdir COMMAND ; -execdir COMMAND {} + -okdir COMMAND ;
Report (and track progress on fixing) bugs via the findutils bug-reporting
page at http://savannah.gnu.org/ or, if you have no web access, by sending
email to <bug-findutils@gnu.org>.
11:53:40
#find -d tree
find: warning: the -d option is deprecated; please use -depth instead, because the latter is a POSIX-compliant feature.
find: paths must precede expression: tree
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
/dev/pts/1
11:53:40
#find -d tree
find: warning: the -d option is deprecated; please use -depth instead, because the latter is a POSIX-compliant feature.
find: paths must precede expression: tree
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
/dev/pts/0
11:54:10
#find . -type d -maxdepth 1 | xargs ls -l
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
.:
total 24
drwxr-xr-x 2 root root 4096 Nov  2 11:53 d1
drwxr-xr-x 3 root root 4096 Nov  2 12:49 d2
drwxr-xr-x 3 root root 4096 Nov  2 11:56 d4
-rw-r--r-- 1 root root    0 Nov  2 12:48 f1
-rw-r--r-- 1 root root 5268 Oct 13  2014 install
-rw-r--r-- 1 root root  165 Nov  2 11:46 who.txt
./.aptitude:
...
total 0
./d1:
total 0
./d2:
total 4
drwxr-xr-x 2 root root 4096 Nov  2 11:54 d3
-rw-r--r-- 1 root root    0 Nov  2 12:49 f2
./d4:
total 4
drwxr-xr-x 2 root root 4096 Nov  2 11:56 d5
/dev/pts/1
11:54:10
#find . -type d -maxdepth 1 | xargs ls -l
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
.:
total 24
drwxr-xr-x 2 root root 4096 Nov  2 11:53 d1
drwxr-xr-x 3 root root 4096 Nov  2 12:49 d2
drwxr-xr-x 3 root root 4096 Nov  2 11:56 d4
-rw-r--r-- 1 root root    0 Nov  2 12:48 f1
-rw-r--r-- 1 root root 5268 Oct 13  2014 install
-rw-r--r-- 1 root root  165 Nov  2 11:46 who.txt
./.aptitude:
...
total 0
./d1:
total 0
./d2:
total 4
drwxr-xr-x 2 root root 4096 Nov  2 11:54 d3
-rw-r--r-- 1 root root    0 Nov  2 12:49 f2
./d4:
total 4
drwxr-xr-x 2 root root 4096 Nov  2 11:56 d5
/dev/pts/0
11:56:32
#find . -type d -maxdepth 1 | xargs ls
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
.:
d1  d2  d4  f1  install  who.txt
./.aptitude:
config
./.lilalo:
133518653134476610-1413379473.info
133518653134476610-1413379473.script
143184190977814884-1413212456.info
143184190977814884-1413212456.script
...
2525264871024819419-1403867138.script
l3-agent.pid
l3bashrc
l3prompt
./.vim:
./d1:
./d2:
d3  f2
./d4:
d5
/dev/pts/1
11:56:32
#find . -type d -maxdepth 1 | xargs ls
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
.:
d1  d2  d4  f1  install  who.txt
./.aptitude:
config
./.lilalo:
133518653134476610-1413379473.info
133518653134476610-1413379473.script
143184190977814884-1413212456.info
143184190977814884-1413212456.script
...
2525264871024819419-1403867138.script
l3-agent.pid
l3bashrc
l3prompt
./.vim:
./d1:
./d2:
d3  f2
./d4:
d5
/dev/pts/0
11:56:38
#find . -type d -maxdepth 1 | xargs ls
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
.:
d1  d2  d4  f1  install  who.txt
./.aptitude:
config
./.lilalo:
133518653134476610-1413379473.info
133518653134476610-1413379473.script
143184190977814884-1413212456.info
143184190977814884-1413212456.script
...
2525264871024819419-1403867138.script
l3-agent.pid
l3bashrc
l3prompt
./.vim:
./d1:
./d2:
d3  f2
./d4:
d5
/dev/pts/1
11:56:38
#find . -type d -maxdepth 1 | xargs ls
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
.:
d1  d2  d4  f1  install  who.txt
./.aptitude:
config
./.lilalo:
133518653134476610-1413379473.info
133518653134476610-1413379473.script
143184190977814884-1413212456.info
143184190977814884-1413212456.script
...
2525264871024819419-1403867138.script
l3-agent.pid
l3bashrc
l3prompt
./.vim:
./d1:
./d2:
d3  f2
./d4:
d5
/dev/pts/0
11:56:40
#find . -type d -a -name "d*" -maxdepth 1 | xargs ls
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
./d1:
./d2:
d3  f2
./d4:
d5
/dev/pts/1
11:56:40
#find . -type d -a -name "d*" -maxdepth 1 | xargs ls
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments.
./d1:
./d2:
d3  f2
./d4:
d5
/dev/pts/0
11:57:21
#find . -maxdepth 1 -type d -a -name "d*" | xargs ls
./d1:
./d2:
d3  f2
./d4:
d5
/dev/pts/1
11:57:21
#find . -maxdepth 1 -type d -a -name "d*" | xargs ls
./d1:
./d2:
d3  f2
./d4:
d5
Text
Text
/dev/pts/0
12:01:06
#cp --help
Usage: cp [OPTION]... [-T] SOURCE DEST
  or:  cp [OPTION]... SOURCE... DIRECTORY
  or:  cp [OPTION]... -t DIRECTORY SOURCE...
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
Mandatory arguments to long options are mandatory for short options too.
  -a, --archive                same as -dR --preserve=all
      --attributes-only        don't copy the file data, just the attributes
      --backup[=CONTROL]       make a backup of each existing destination file
  -b                           like --backup but does not accept an argument
      --copy-contents          copy contents of special files when recursive
...
  existing, nil   numbered if numbered backups exist, simple otherwise
  simple, never   always make simple backups
As a special case, cp makes a backup of SOURCE when the force and backup
options are given and SOURCE and DEST are the same name for an existing,
regular file.
Report cp bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
Report cp translation bugs to <http://translationproject.org/team/>
For complete documentation, run: info coreutils 'cp invocation'
/dev/pts/1
12:01:06
#cp --help
Usage: cp [OPTION]... [-T] SOURCE DEST
  or:  cp [OPTION]... SOURCE... DIRECTORY
  or:  cp [OPTION]... -t DIRECTORY SOURCE...
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
Mandatory arguments to long options are mandatory for short options too.
  -a, --archive                same as -dR --preserve=all
      --attributes-only        don't copy the file data, just the attributes
      --backup[=CONTROL]       make a backup of each existing destination file
  -b                           like --backup but does not accept an argument
      --copy-contents          copy contents of special files when recursive
...
  existing, nil   numbered if numbered backups exist, simple otherwise
  simple, never   always make simple backups
As a special case, cp makes a backup of SOURCE when the force and backup
options are given and SOURCE and DEST are the same name for an existing,
regular file.
Report cp bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
Report cp translation bugs to <http://translationproject.org/team/>
For complete documentation, run: info coreutils 'cp invocation'
прошло 13 минут
/dev/pts/0
12:14:21
#cp -v d2/f2 d4
`d2/f2' -> `d4/f2'
/dev/pts/1
12:14:21
#cp -v d2/f2 d4
`d2/f2' -> `d4/f2'
/dev/pts/0
12:15:20
#cp -rv d2 d1
`d2' -> `d1/d2'
`d2/f2' -> `d1/d2/f2'
`d2/d3' -> `d1/d2/d3'
/dev/pts/1
12:15:20
#cp -rv d2 d1
`d2' -> `d1/d2'
`d2/f2' -> `d1/d2/f2'
`d2/d3' -> `d1/d2/d3'
/dev/pts/0
12:16:09
#find . -maxdepth 2 -type d -a -name "d*" | xargs ls
./d1:
d2
./d1/d2:
d3  f2
./d2:
d3  f2
./d2/d3:
./d4:
d5  f2
./d4/d5:
/dev/pts/1
12:16:09
#find . -maxdepth 2 -type d -a -name "d*" | xargs ls
./d1:
d2
./d1/d2:
d3  f2
./d2:
d3  f2
./d2/d3:
./d4:
d5  f2
./d4/d5:
/dev/pts/0
12:17:35
#rm d4
rm: cannot remove `d4': Is a directory
/dev/pts/1
12:17:35
#rm d4
rm: cannot remove `d4': Is a directory
/dev/pts/0
12:18:58
#rm -r d4

/dev/pts/1
12:18:58
#rm -r d4

/dev/pts/0
12:19:02
#find . -maxdepth 1 -type d -a -name "d*" | xargs ls
./d1:
d2
./d2:
d3  f2
/dev/pts/1
12:19:02
#find . -maxdepth 1 -type d -a -name "d*" | xargs ls
./d1:
d2
./d2:
d3  f2
/dev/pts/0
12:19:11
#echo d2/*
d2/d3 d2/f2
/dev/pts/1
12:19:11
#echo d2/*
d2/d3 d2/f2
/dev/pts/0
12:20:39
#cat who.txt
root     pts/0        2020-11-02 09:10 (192.168.15.11)
petr     pts/3        2020-11-02 09:51 (192.168.15.11)
ivan     pts/4        2020-11-02 09:51 (192.168.15.11)
/dev/pts/1
12:20:39
#cat who.txt
root     pts/0        2020-11-02 09:10 (192.168.15.11)
petr     pts/3        2020-11-02 09:51 (192.168.15.11)
ivan     pts/4        2020-11-02 09:51 (192.168.15.11)
/dev/pts/0
12:22:31
#shred who.txt

/dev/pts/1
12:22:31
#shred who.txt

/dev/pts/0
12:22:40
#cat who.txt
bŸØYUÞâ`€Óß̪wdÀ–­¨¯zNõ
þí{Îñ+‹¢c&W댠aÉ¹¥Nb~g`x<ÚµÊzƒs@õäþ?Œh²‰<<
                                           ;òafŒÆ—Íø‚­ïCúžäw+ô¨XhŒ‡Ã³²ç‡¥½ÿÿÓÁ•ØzìMææ-…‘N
QÛÒÑ>Aè'è[Bôöñפë¬Ûɘóå|;€¯­Lý_á«IKëÆJԂŸ÷”q³¦Ñúpnó@þl)ª.Œó²½4ŽXìÈÕ¼ÒÒÊØÅÁ!‰5FŸ8*«¸E~ʼnJNEO‘?º%oíäŠ6øF’ÒŽÔÄt¶æèp¿ÇAº~ãñG«B$wþ™òhFSêÔJiô¦
                                                                                                                                           a%Ó©„iŒéí±=.E .疕ëß,4dyh[–Qö—ÂhÖ&ÃeÜFÐt™£¿l»³J÷&:ýãK#•–¶g«Î4£½±<îcyÕoWžÖ´ñMKνÁþú”¦°ð¦ÉéqÛ
                                                                                                                                                                                                                                       ƒãÇÞb»5X®'«*ËىL¬L˜Á­ÒȗZ       zLؤWþ
                                                                                                                                                                                                                                                                              ñ‡·B¸:êBœ}aAOe³&/Fï»âE
                                                                                                                                                                                                                                                                                                                                                                      Bí?°V
                                                                                                                                                                                                                                                                                                    ‰z°c[Áìsö¥Çj÷¬hgB¯ŽôHxŒ×ñ>mXƨ4Yç7{£L ±·Y.B‡Poäºz¥éì½-nÀ„Ê[úÃ¾ä¸      Zí.\EšGeÈêô/mŠ|Éq|¥µj¦5Dt¡z¹…¾^¾‹—•
                                                                                                                                                                                                                                                                                                                                                                                                              |u
...
                                                               Máë0-ZJ=¬+þ& Ì£8_Æ-à+£!ü!À”g´(Ž‰vç¦M—ƒ
                                                                                                     w:囹váÓúª»«       û=p¼±ñÞ^æ3Xô ¤Š6™Á”°mó‹ùÁûç>Ž
d& Åý”ÇtѶÚxŠÓ‰³HŽB'
„)WëŒ}D        4©óœ¸”V;§]uùV‘ÀÉLûšýºœ4‘¼5ÃYc¬;3^¼7O”Óï2žr¡†
÷XšÚƒ`©7ꝸŠÏjåÌ@˜§Õ´Ø‚][¤¹ÒD÷OÒR      o
ÇÒªK£ÐنrÿȲ¾jýC
TF°ò‘œùÍޅxæˆ<V,Ôþ­îÄG£\P’»ìü*¸~0C±°¨E‰¶|„'s…O  vG*.¶ñ 0Àñá
                                                           ˆ’çù¶Ã#FÄøÃ+ýíµa_âÒXyÇÍp_K
©ïi€Ñ•áuÒùEAGëýÏVfáˆÓûÖæhòP»Ók¯.±VzaX0î¢ÆŠ®=_í=w_Aæiôú”€ãß
E©      pÏrÚ{»5"Ë4šÔa  /Z¼%݊¶f`gWÀ¡«úÿVVØ4¶>‘…¸h ºiËmökóIç ª¶Ï/ŠÔ¤³¦àŸ;Ô¿
/dev/pts/1
12:22:40
#cat who.txt
bŸØYUÞâ`€Óß̪wdÀ–­¨¯zNõ
þí{Îñ+‹¢c&W댠aÉ¹¥Nb~g`x<ÚµÊzƒs@õäþ?Œh²‰<<
                                           ;òafŒÆ—Íø‚­ïCúžäw+ô¨XhŒ‡Ã³²ç‡¥½ÿÿÓÁ•ØzìMææ-…‘N
QÛÒÑ>Aè'è[Bôöñפë¬Ûɘóå|;€¯­Lý_á«IKëÆJԂŸ÷”q³¦Ñúpnó@þl)ª.Œó²½4ŽXìÈÕ¼ÒÒÊØÅÁ!‰5FŸ8*«¸E~ʼnJNEO‘?º%oíäŠ6øF’ÒŽÔÄt¶æèp¿ÇAº~ãñG«B$wþ™òhFSêÔJiô¦
                                                                                                                                           a%Ó©„iŒéí±=.E .疕ëß,4dyh[–Qö—ÂhÖ&ÃeÜFÐt™£¿l»³J÷&:ýãK#•–¶g«Î4£½±<îcyÕoWžÖ´ñMKνÁþú”¦°ð¦ÉéqÛ
                                                                                                                                                                                                                                       ƒãÇÞb»5X®'«*ËىL¬L˜Á­ÒȗZ       zLؤWþ
                                                                                                                                                                                                                                                                              ñ‡·B¸:êBœ}aAOe³&/Fï»âE
                                                                                                                                                                                                                                                                                                                                                                      Bí?°V
                                                                                                                                                                                                                                                                                                    ‰z°c[Áìsö¥Çj÷¬hgB¯ŽôHxŒ×ñ>mXƨ4Yç7{£L ±·Y.B‡Poäºz¥éì½-nÀ„Ê[úÃ¾ä¸      Zí.\EšGeÈêô/mŠ|Éq|¥µj¦5Dt¡z¹…¾^¾‹—•
                                                                                                                                                                                                                                                                                                                                                                                                              |u
...
                                                               Máë0-ZJ=¬+þ& Ì£8_Æ-à+£!ü!À”g´(Ž‰vç¦M—ƒ
                                                                                                     w:囹váÓúª»«       û=p¼±ñÞ^æ3Xô ¤Š6™Á”°mó‹ùÁûç>Ž
d& Åý”ÇtѶÚxŠÓ‰³HŽB'
„)WëŒ}D        4©óœ¸”V;§]uùV‘ÀÉLûšýºœ4‘¼5ÃYc¬;3^¼7O”Óï2žr¡†
÷XšÚƒ`©7ꝸŠÏjåÌ@˜§Õ´Ø‚][¤¹ÒD÷OÒR      o
ÇÒªK£ÐنrÿȲ¾jýC
TF°ò‘œùÍޅxæˆ<V,Ôþ­îÄG£\P’»ìü*¸~0C±°¨E‰¶|„'s…O  vG*.¶ñ 0Àñá
                                                           ˆ’çù¶Ã#FÄøÃ+ýíµa_âÒXyÇÍp_K
©ïi€Ñ•áuÒùEAGëýÏVfáˆÓûÖæhòP»Ók¯.±VzaX0î¢ÆŠ®=_í=w_Aæiôú”€ãß
E©      pÏrÚ{»5"Ë4šÔa  /Z¼%݊¶f`gWÀ¡«úÿVVØ4¶>‘…¸h ºiËmökóIç ª¶Ï/ŠÔ¤³¦àŸ;Ô¿
/dev/pts/0
12:23:01
#ls -l
total 20
drwxr-xr-x 3 root root 4096 Nov  2 13:16 d1
drwxr-xr-x 3 root root 4096 Nov  2 12:49 d2
-rw-r--r-- 1 root root    0 Nov  2 12:48 f1
-rw-r--r-- 1 root root 5268 Oct 13  2014 install
-rw-r--r-- 1 root root 4096 Nov  2 13:22 who.txt
/dev/pts/1
12:23:01
#ls -l
total 20
drwxr-xr-x 3 root root 4096 Nov  2 13:16 d1
drwxr-xr-x 3 root root 4096 Nov  2 12:49 d2
-rw-r--r-- 1 root root    0 Nov  2 12:48 f1
-rw-r--r-- 1 root root 5268 Oct 13  2014 install
-rw-r--r-- 1 root root 4096 Nov  2 13:22 who.txt
/dev/pts/0
12:23:22
#shred -u who.txt

/dev/pts/1
12:23:22
#shred -u who.txt

/dev/pts/0
12:26:25
#ls -l
total 16
drwxr-xr-x 3 root root 4096 Nov  2 13:16 d1
drwxr-xr-x 3 root root 4096 Nov  2 12:49 d2
-rw-r--r-- 1 root root    0 Nov  2 12:48 f1
-rw-r--r-- 1 root root 5268 Oct 13  2014 install
/dev/pts/1
12:26:25
#ls -l
total 16
drwxr-xr-x 3 root root 4096 Nov  2 13:16 d1
drwxr-xr-x 3 root root 4096 Nov  2 12:49 d2
-rw-r--r-- 1 root root    0 Nov  2 12:48 f1
-rw-r--r-- 1 root root 5268 Oct 13  2014 install
/dev/pts/0
12:26:30
#which vi
/usr/bin/vi
/dev/pts/1
12:26:30
#which vi
/usr/bin/vi
прошло 75 минут
/dev/pts/0
13:42:00
#ls /usr/bin/vi
/usr/bin/vi
/dev/pts/1
13:42:00
#ls /usr/bin/vi
/usr/bin/vi
/dev/pts/0
13:42:10
#ls
d1  d2  f1  install
/dev/pts/1
13:42:10
#ls
d1  d2  f1  install
/dev/pts/0
13:42:13
#lsR /usr/bin/vi
l3script: lsR: command not found
/dev/pts/1
13:42:13
#lsR /usr/bin/vi
l3script: lsR: command not found
/dev/pts/0
13:42:30
#ls /usr/bin/vi -li
137306 lrwxrwxrwx 1 root root 20 Jun 27  2014 /usr/bin/vi -> /etc/alternatives/vi
/dev/pts/1
13:42:30
#ls /usr/bin/vi -li
137306 lrwxrwxrwx 1 root root 20 Jun 27  2014 /usr/bin/vi -> /etc/alternatives/vi
/dev/pts/0
13:42:39
#cd /etc/alternatives/vi
l3script: cd: /etc/alternatives/vi: Not a directory
/dev/pts/1
13:42:39
#cd /etc/alternatives/vi
l3script: cd: /etc/alternatives/vi: Not a directory
/dev/pts/0
13:43:10
#cd /etc/alternatives/

/dev/pts/1
13:43:10
#cd /etc/alternatives/

/dev/pts/0
13:43:13
#ls vi
vi
/dev/pts/1
13:43:13
#ls vi
vi
/dev/pts/0
13:43:16
#ls vi -l
lrwxrwxrwx 1 root root 18 Jun 27  2014 vi -> /usr/bin/vim.basic
/dev/pts/1
13:43:16
#ls vi -l
lrwxrwxrwx 1 root root 18 Jun 27  2014 vi -> /usr/bin/vim.basic
/dev/pts/0
13:43:19
#ls -l `which vi`
lrwxrwxrwx 1 root root 20 Jun 27  2014 /usr/bin/vi -> /etc/alternatives/vi
/dev/pts/1
13:43:19
#ls -l `which vi`
lrwxrwxrwx 1 root root 20 Jun 27  2014 /usr/bin/vi -> /etc/alternatives/vi
/dev/pts/0
13:44:05
#ls -l $(which vi)
lrwxrwxrwx 1 root root 20 Jun 27  2014 /usr/bin/vi -> /etc/alternatives/vi
/dev/pts/1
13:44:05
#ls -l $(which vi)
lrwxrwxrwx 1 root root 20 Jun 27  2014 /usr/bin/vi -> /etc/alternatives/vi
/dev/pts/0
13:44:41
#ls -lh /usr/bin/vim.basic
-rwxr-xr-x 1 root root 1.8M Feb 10  2013 /usr/bin/vim.basic
/dev/pts/1
13:44:41
#ls -lh /usr/bin/vim.basic
-rwxr-xr-x 1 root root 1.8M Feb 10  2013 /usr/bin/vim.basic
/dev/pts/0
13:49:18
#vi --help
/dev/pts/1
13:49:18
#vi --help
Usage: diff [OPTION]... FILES
Compare FILES line by line.

Mandatory arguments to long options are mandatory for short options too.
      --normal                  output a normal diff (the default)
  -q, --brief                   report only when files differ
  -s, --report-identical-files  report when two files are the same
  -c, -C NUM, --context[=NUM]   output NUM (default 3) lines of copied context
  -u, -U NUM, --unified[=NUM]   output NUM (default 3) lines of unified context
  -e, --ed                      output an ed script
  -n, --rcs                     output an RCS format diff
  -y, --side-by-side            output in two columns
  -W, --width=NUM               output at most NUM (default 130) print columns
      --left-column             output only the left column of common lines
      --suppress-common-lines   do not output common lines

  -p, --show-c-function         show which C function each change is in
  -F, --show-function-line=RE   show the most recent line matching RE
      --label LABEL             use LABEL instead of file name
                                  (can be repeated)

  -t, --expand-tabs             expand tabs to spaces in output
  -T, --initial-tab             make tabs line up by prepending a tab
      --tabsize=NUM             tab stops every NUM (default 8) print columns
      --suppress-blank-empty    suppress space or tab before empty output lines
  -l, --paginate                pass output through `pr' to paginate it

  -r, --recursive                 recursively compare any subdirectories found
  -N, --new-file                  treat absent files as empty
      --unidirectional-new-file   treat absent first files as empty
      --ignore-file-name-case     ignore case when comparing file names
      --no-ignore-file-name-case  consider case when comparing file names
  -x, --exclude=PAT               exclude files that match PAT
  -X, --exclude-from=FILE         exclude files that match any pattern in FILE
  -S, --starting-file=FILE        start with FILE when comparing directories
      --from-file=FILE1           compare FILE1 to all operands;
                                    FILE1 can be a directory
      --to-file=FILE2             compare all operands to FILE2;
                                    FILE2 can be a directory

  -i, --ignore-case               ignore case differences in file contents
  -E, --ignore-tab-expansion      ignore changes due to tab expansion
  -Z, --ignore-trailing-space     ignore white space at line end
  -b, --ignore-space-change       ignore changes in the amount of white space
  -w, --ignore-all-space          ignore all white space
  -B, --ignore-blank-lines        ignore changes whose lines are all blank
  -I, --ignore-matching-lines=RE  ignore changes whose lines all match RE

  -a, --text                      treat all files as text
      --strip-trailing-cr         strip trailing carriage return on input

  -D, --ifdef=NAME                output merged file with `#ifdef NAME' diffs
      --GTYPE-group-format=GFMT   format GTYPE input groups with GFMT
      --line-format=LFMT          format all input lines with LFMT
      --LTYPE-line-format=LFMT    format LTYPE input lines with LFMT
    These format options provide fine-grained control over the output
      of diff, generalizing -D/--ifdef.
    LTYPE is `old', `new', or `unchanged'.  GTYPE is LTYPE or `changed'.
    GFMT (only) may contain:
      %<  lines from FILE1
      %>  lines from FILE2
      %=  lines common to FILE1 and FILE2
      %[-][WIDTH][.[PREC]]{doxX}LETTER  printf-style spec for LETTER
        LETTERs are as follows for new group, lower case for old group:
          F  first line number
          L  last line number
          N  number of lines = L-F+1
          E  F-1
          M  L+1
      %(A=B?T:E)  if A equals B then T else E
    LFMT (only) may contain:
      %L  contents of line
      %l  contents of line, excluding any trailing newline
      %[-][WIDTH][.[PREC]]{doxX}n  printf-style spec for input line number
    Both GFMT and LFMT may contain:
      %%  %
      %c'C'  the single character C
      %c'\OOO'  the character with octal code OOO
      C    the character C (other characters represent themselves)

  -d, --minimal            try hard to find a smaller set of changes
      --horizon-lines=NUM  keep NUM lines of the common prefix and suffix
      --speed-large-files  assume large files and many scattered small changes

      --help               display this help and exit
  -v, --version            output version information and exit

FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'.
If --from-file or --to-file is given, there are no restrictions on FILE(s).
If a FILE is `-', read standard input.
Exit status is 0 if inputs are the same, 1 if different, 2 if trouble.

Report bugs to: bug-diffutils@gnu.org
GNU diffutils home page: <http://www.gnu.org/software/diffutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
/dev/pts/0
13:49:38
#vi --version
/dev/pts/1
13:49:38
#vi --version
diff (GNU diffutils) 3.2
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Paul Eggert, Mike Haertel, David Hayes,
Richard Stallman, and Len Tower.
/dev/pts/0
13:50:28
#ls -lh /usr/bin/vim.basic
-rwxr-xr-x 1 root root 1.8M Feb 10  2013 /usr/bin/vim.basic
/dev/pts/1
13:50:28
#ls -lh /usr/bin/vim.basic
-rwxr-xr-x 1 root root 1.8M Feb 10  2013 /usr/bin/vim.basic
/dev/pts/0
13:50:41
#vi
/dev/pts/1
13:50:41
#vi
/dev/pts/0
13:50:48
#~
infobrowser       infobrowser.1.gz
13:50:48
#vi infobrowser
/dev/pts/1
13:50:48
#~
infobrowser       infobrowser.1.gz
13:50:48
#vi infobrowser
/dev/pts/0
13:50:48
#cd ~

/dev/pts/1
13:50:48
#cd ~

/dev/pts/0
13:52:25
#vi install
/dev/pts/1
13:52:25
#vi install
прошло 43 минуты
/dev/pts/0
14:36:03
#163 (don't forget to restart bash or relogin)
syntax on
~
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
".vimrc" [New] 3L, 29C written
/dev/pts/1
14:36:03
#163 (don't forget to restart bash or relogin)
syntax on
~
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
".vimrc" [New] 3L, 29C written
/dev/pts/0
14:37:21
#vi .vimrc
/dev/pts/1
14:37:21
#vi .vimrc
/dev/pts/0
14:37:59
#~
.vim/     .viminfo  .vimrc
/dev/pts/1
14:37:59
#~
.vim/     .viminfo  .vimrc
/dev/pts/0
14:37:59
#cp .vimrc ~user

/dev/pts/1
14:37:59
#cp .vimrc ~user

/dev/pts/0
14:39:00
#cp -v .vimrc ~user
`.vimrc' -> `/home/user/.vimrc'
/dev/pts/1
14:39:00
#cp -v .vimrc ~user
`.vimrc' -> `/home/user/.vimrc'
/dev/pts/0
14:39:08
#vi
/dev/pts/1
14:39:08
#vi

Вторник (11/03/20)

/dev/pts/0
07:49:20
#~

Файлы

  • who.txt
  • who.txt
    >
    bŸØYUÞâ`€Óß̪wdÀ–­¨¯zNõ
    þí{Îñ+‹¢c&W댠aÉ¹¥Nb~g`x<ÚµÊzƒs@õäþ?Œh²‰<<
                                               ;òafŒÆ—Íø‚­ïCúžäw+ô¨XhŒ‡Ã³²ç‡¥½ÿÿÓÁ•ØzìMææ-…‘N
    QÛÒÑ>Aè'è[Bôöñפë¬Ûɘóå|;€¯­Lý_á«IKëÆJԂŸ÷”q³¦Ñúpnó@þl)ª.Œó²½4ŽXìÈÕ¼ÒÒÊØÅÁ!‰5FŸ8*«¸E~ʼnJNEO‘?º%oíäŠ6øF’ÒŽÔÄt¶æèp¿ÇAº~ãñG«B$wþ™òhFSêÔJiô¦
                                                                                                                                               a%Ó©„iŒéí±=.E .疕ëß,4dyh[–Qö—ÂhÖ&ÃeÜFÐt™£¿l»³J÷&:ýãK#•–¶g«Î4£½±<îcyÕoWžÖ´ñMKνÁþú”¦°ð¦ÉéqÛ
                                                                                                                                                                                                                                           ƒãÇÞb»5X®'«*ËىL¬L˜Á­ÒȗZ       zLؤWþ
                                                                                                                                                                                                                                                                                  ñ‡·B¸:êBœ}aAOe³&/Fï»âE
                                                                                                                                                                                                                                                                                                                                                                          Bí?°V
                                                                                                                                                                                                                                                                                                        ‰z°c[Áìsö¥Çj÷¬hgB¯ŽôHxŒ×ñ>mXƨ4Yç7{£L ±·Y.B‡Poäºz¥éì½-nÀ„Ê[úÃ¾ä¸      Zí.\EšGeÈêô/mŠ|Éq|¥µj¦5Dt¡z¹…¾^¾‹—•
                                                                                                                                                                                                                                                                                                                                                                                                                  |u
    w
     ÃåÖȾ£ö
             Üç‘ÿMbŠö€ú6Vϝt
    S*5þ…-¡XÂÒé             Ç¥ËÞÑP9ò¿ï$nK§?0Ñë•&û_N©Ôhú:²•¥’, ž,mZÂCÞí§øì–zÄXÓ¢Rž†©¿ç|θÛѧ²Ö6/š>`ÁPÒqÑEÚÐÕÏ9†õ‡ÆÁeåFhkZ8ºy€Õàß@1
                                                                            k
    §Y-Œû†žp‹õpµâÄoTiPØ©ºI¾ºçƒe1—¡b¥éOrWcŸò]|‰ð„™"‡úѝœS¬dºC†cåÎV)/tö¬_H\1M£Pð´jw"ßæm
    :wڻфöoaá‚çÆôü—BV?Vàï{
                           ÇûÅ˙²û9êÍ:¤%Y–{óJâºøˆf£©Á°·¢¾˜~̵uFÕùíâF€ß–ôB/¯’ãO@YäaûV{)P¹~©>&a5‰¯Ñ1M(hÈ`vlچ¬<v¢ay4Óµêß¾FDüê}ú¤=hŠ*bù]Ӏò·™s@j8Ô`„pû?2Å;æù#Ò{é'·Ö–৏й
                                                                                                                                                                        ìSÅ¢S
                                                                                                                                                                              L1¹“Ž:üË3Ìu}¡ñÌ[¶¹š2¬À”6ܽ"ÎûÞÉpnN^fòÞêÐ$’xöùÿ~Ú8ó§¨~´Oúّ#‚óŠ@Aý°4^¯kl´~—}Üãëïìç´¹»ý-
    |“¼»g0ÕÊIôÅoZi‘iþ…<~#ŸÃ;ì?©†ÆÿÙ&s{ÜL7î2¿G1OB-qCš‰Br€S=ä· ÿź                                                                                                                                                                                                   Ir…_ûƒ.ç&!@Je×)­y¢‰ÌL•ÍZSKC>:¾ë½}wü=½­Q¿ëp¬ãyBô†\2J÷ˆŸnÐW«ÆõË??7{ÒÅ»Cþàיu€{¤@#çzÍ_,Þ¥/Ó|-¾0’뇺c#xº¢ê7f÷Q¹ W`J.áqǚž¾Œ¦M     úpá­ëÓ~¤ç[¨Çl#Çò
                                                                 ýOô/Is]·lÎË4-'Ã꽀i
    D'®±ìËNwD,McYþy{îúl‰\×N©mÝt¹f¤2Ìw.‡|…ò5¯àK_m}Íց‚zÎBq Í„-«9ۙ°¤X‰e>-ê&K¿ò©œ¼×#rÏÀëQøτ;dT=ËxøߖV¬s‹OeÆrÿ‘ÀæºÔJœÄ\gdܨS)HKÍå]R/â”Ud$€ïÃrAϵ@/õàl
    sºWv¯¿rU`nÞðE¥¥Ÿ'[­Ë¨o<ÐÚáu.pW.ރþ9¡V¸™ÄCLOšc3Hd­i`hªJÓeM-¹…<]c¬©q<µ™<ÂÁh5@wº@VsÜWjSÊ÷(Ç÷èí
                                                                                  |ªæ@e |ÛÚRú&¥ËÿOðݔû…
    ‘&âr2²è^yÛ¬·«N[SZ¦I?j’x£u&µœq/¢y€âKhôðìggÝÝaNö£,MɚÄ/쮥³pKõ…}(̏{nÊx—Ú¹·ª™MŠ­Añúxàå|ê|5uԔxÕ
                                                                                                    0¯RôIrf¬Hܬâ®ræqV“^‡×äA)¨„88÷ô8HHù
                                                                                                                                        É>/R+òEŸÅ(Ùçö߸Wó<œ|»¿è’’û³QY'+HNuë/>ým]žØr•‹Á8N?²)ù]µqe‹¼T±¼Á[
                                                                                                                                                                                                       .~ĺ®'Ý̗˄Ša'мC?À µh×¢º¦‚Ô]fèyçÜÒ«¢I{Y<éT¥Ó‘M-}®L…Õ;Á"0;™(®üÌkï.‡9ÓRW
    ¤æ!TÒÎ÷K8¼Rc•ø
                  ©m紈l»Ñ>Û>”ˆçÂÒh,²;ahkwÖXËßý"š¤|í*ÜsDXÞ+­‡¡:}l¤åÙ}B¶¯
                                                                         ¨jÌïphê±ôÛôᕡåm9Û5,;¹W³Býœ2GÏx¢oî,sÕÜrGyçûn¿cûœúʓñßpph-¶J’i7æu²jR^fÉ%\(7s‘84gǐæܹԪ“4à.dÝâÿI¼ÇCjÅĵ£ œ.mïLfßfÇ        t¦X~ÖgaRP€Üˆ”ƒ4çÕ(bÓ∠;±ÎÅÿÏÈ×êHÈIcÄ¢<¡NÀ;RsyÎ31a`žø^Û|Ɯæ,¦L«
    PuTTYPuTTYÛe¨ŠI¦:·PȦÙPP¥$ÍÓ
                                òtîÞ匀–Š‚IrmÍuq/c3Mhò—’Ô$á3%ò4¬l
                                                                   Máë0-ZJ=¬+þ& Ì£8_Æ-à+£!ü!À”g´(Ž‰vç¦M—ƒ
                                                                                                         w:囹váÓúª»«       û=p¼±ñÞ^æ3Xô ¤Š6™Á”°mó‹ùÁûç>Ž
    d& Åý”ÇtѶÚxŠÓ‰³HŽB'
    „)WëŒ}D        4©óœ¸”V;§]uùV‘ÀÉLûšýºœ4‘¼5ÃYc¬;3^¼7O”Óï2žr¡†
    ÷XšÚƒ`©7ꝸŠÏjåÌ@˜§Õ´Ø‚][¤¹ÒD÷OÒR      o
    ÇÒªK£ÐنrÿȲ¾jýC
    TF°ò‘œùÍޅxæˆ<V,Ôþ­îÄG£\P’»ìü*¸~0C±°¨E‰¶|„'s…O  vG*.¶ñ 0Àñá
                                                               ˆ’çù¶Ã#FÄøÃ+ýíµa_âÒXyÇÍp_K
    ©ïi€Ñ•áuÒùEAGëýÏVfáˆÓûÖæhòP»Ók¯.±VzaX0î¢ÆŠ®=_í=w_Aæiôú”€ãß
    E©      pÏrÚ{»5"Ë4šÔa  /Z¼%݊¶f`gWÀ¡«úÿVVØ4¶>‘…¸h ºiËmökóIç ª¶Ï/ŠÔ¤³¦àŸ;Ô¿
    

    Статистика

    Время первой команды журнала11:52:55 2020-11- 2
    Время последней команды журнала07:49:20 2020-11- 3
    Количество командных строк в журнале99
    Процент команд с ненулевым кодом завершения, %20.20
    Процент синтаксически неверно набранных команд, % 2.02
    Суммарное время работы с терминалом *, час 0.78
    Количество командных строк в единицу времени, команда/мин 2.10
    Частота использования команд
    find22|===================| 19.13%
    ls22|===================| 19.13%
    vi14|============| 12.17%
    xargs14|============| 12.17%
    cp10|========| 8.70%
    cd6|=====| 5.22%
    ~5|====| 4.35%
    shred4|===| 3.48%
    cat4|===| 3.48%
    rm4|===| 3.48%
    echo2|=| 1.74%
    #^2|=| 1.74%
    1632|=| 1.74%
    lsR2|=| 1.74%
    which2|=| 1.74%
    ____
    *) Интервалы неактивности длительностью 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$