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

Содержание

Журнал

Среда (04/04/12)

/dev/pts/3
13:45:15
#make install
===>  Installing for openvpn-2.0.9_2
===>   openvpn-2.0.9_2 depends on file: /usr/local/lib/libcrypto.so.7 - found
===>   openvpn-2.0.9_2 depends on shared library: lzo2.2 - found
===>   Generating temporary packing list
===>  Checking if security/openvpn20 already installed
test -z "/usr/local/sbin" || /usr/ports/security/openvpn20/work/openvpn-2.0.9/install-sh -d "/usr/local/sbin"
  install  -s -o root -g wheel -m 555 'openvpn' '/usr/local/sbin/openvpn'
test -z "/usr/local/man/man8" || /usr/ports/security/openvpn20/work/openvpn-2.0.9/install-sh -d "/usr/local/man/man8"
 install  -o root -g wheel -m 444 './openvpn.8' '/usr/local/man/man8/openvpn.8'
===> Installing rc.d startup script(s)
...
      This port has installed the following startup scripts which may cause
      these network services to be started at boot time.
/usr/local/etc/rc.d/openvpn
      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.
      For more information, and contact details about the security
      status of this software, see the following webpage:
http://openvpn.net/index.php/open-source.html
13:45:21
#cd /usr/local/etc/openvpn/

13:45:52
#ls
easy-rsa        keys
13:45:53
#cd easy-rsa/2.0/

13:46:08
#ls
README                  build-key-server        openssl.cnf
build-ca                build-req               pkitool
build-dh                build-req-pass          revoke-full
build-inter             clean-all               sign-req
build-key               inherit-inter           vars
build-key-pass          list-crl                whichopensslcnf
build-key-pkcs12        openssl-0.9.6.cnf
13:46:09
#ee vars
--- /tmp/l3-saved-27061.19506.30941	2012-04-04 14:46:21.000000000 +0300
+++ vars	2012-04-04 14:48:38.000000000 +0300
@@ -36,7 +36,7 @@
 # a rm -rf on this directory
 # so make sure you define
 # it correctly!
-export KEY_DIR="$EASY_RSA/keys"
+export KEY_DIR="$EASY_RSA/keys/server"
 
 # Issue rm -rf warning
 echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR
@@ -46,7 +46,7 @@
 # down TLS negotiation performance
 # as well as the one-time DH parms
 # generation process.
-export KEY_SIZE=1024
+export KEY_SIZE=2048
 
 # In how many days should the root CA key expire?
 export CA_EXPIRE=3650
@@ -57,8 +57,8 @@
 # These are the default values for fields
 # which will be placed in the certificate.
 # Don't leave any of these fields blank.
-export KEY_COUNTRY="US"
-export KEY_PROVINCE="CA"
-export KEY_CITY="SanFrancisco"
-export KEY_ORG="Fort-Funston"
-export KEY_EMAIL="me@myhost.mydomain"
+export KEY_COUNTRY="UA"
+export KEY_PROVINCE="UA"
+export KEY_CITY="Kiev"
+export KEY_ORG="Creolab"
+export KEY_EMAIL="v.yaroshenko@creolab.edu"
13:48:38
#chmod 544 *

13:48:46
#ls
README                  build-key-server        openssl.cnf
build-ca                build-req               pkitool
build-dh                build-req-pass          revoke-full
build-inter             clean-all               sign-req
build-key               inherit-inter           vars
build-key-pass          list-crl                whichopensslcnf
build-key-pkcs12        openssl-0.9.6.cnf
13:49:10
#mkdir keys/server
mkdir: keys: No such file or directory
13:49:24
#mkdir keys

13:49:48
#mkdir -p ys/server

13:50:01
#ls
README                  build-key-server        openssl-0.9.6.cnf
build-ca                build-req               openssl.cnf
build-dh                build-req-pass          pkitool
build-inter             clean-all               revoke-full
build-key               inherit-inter           sign-req
build-key-pass          keys                    vars
build-key-pkcs12        list-crl                whichopensslcnf
13:50:07
#. ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /usr/local/etc/openvpn/easy-rsa/2.0/keys/server
13:50:13
#./build-ca
bash: ./build-ca: /bin/bash: bad interpreter: No such file or directory
13:50:28
#ls
README                  build-key-server        openssl-0.9.6.cnf
build-ca                build-req               openssl.cnf
build-dh                build-req-pass          pkitool
build-inter             clean-all               revoke-full
build-key               inherit-inter           sign-req
build-key-pass          keys                    vars
build-key-pkcs12        list-crl                whichopensslcnf
13:50:35
#./build-ca
bash: ./build-ca: /bin/bash: bad interpreter: No such file or directory
13:50:43
#sh

13:51:20
#ls
README                  build-key-server        openssl-0.9.6.cnf
build-ca                build-req               openssl.cnf
build-dh                build-req-pass          pkitool
build-inter             clean-all               revoke-full
build-key               inherit-inter           sign-req
build-key-pass          keys                    vars
build-key-pkcs12        list-crl                whichopensslcnf
/dev/pts/4
13:51:20
#ls
README                  build-key-server        openssl-0.9.6.cnf
build-ca                build-req               openssl.cnf
build-dh                build-req-pass          pkitool
build-inter             clean-all               revoke-full
build-key               inherit-inter           sign-req
build-key-pass          keys                    vars
build-key-pkcs12        list-crl                whichopensslcnf
/dev/pts/3
13:51:22
#./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /usr/local/etc/openvpn/easy-rsa/2.0/keys/server
/dev/pts/4
13:51:22
#./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /usr/local/etc/openvpn/easy-rsa/2.0/keys/server
/dev/pts/3
13:51:44
#chmod +x build-ca

/dev/pts/4
13:51:44
#chmod +x build-ca

13:51:52
#./build-ca
bash: ./build-ca: /bin/bash: bad interpreter: No such file or directory
/dev/pts/3
13:51:52
#./build-ca
bash: ./build-ca: /bin/bash: bad interpreter: No such file or directory
13:51:57
#pwd
/usr/local/etc/openvpn/easy-rsa/2.0
/dev/pts/4
13:51:57
#pwd
/usr/local/etc/openvpn/easy-rsa/2.0
/dev/pts/3
13:52:17
#ls
README                  build-key-server        openssl-0.9.6.cnf
build-ca                build-req               openssl.cnf
build-dh                build-req-pass          pkitool
build-inter             clean-all               revoke-full
build-key               inherit-inter           sign-req
build-key-pass          keys                    vars
build-key-pkcs12        list-crl                whichopensslcnf
/dev/pts/4
13:52:17
#ls
README                  build-key-server        openssl-0.9.6.cnf
build-ca                build-req               openssl.cnf
build-dh                build-req-pass          pkitool
build-inter             clean-all               revoke-full
build-key               inherit-inter           sign-req
build-key-pass          keys                    vars
build-key-pkcs12        list-crl                whichopensslcnf
/dev/pts/3
13:52:19
#build-ca
bash: build-ca: command not found
/dev/pts/4
13:52:19
#build-ca
bash: build-ca: command not found
/dev/pts/3
13:52:27
#whereis openvpn20
openvpn20: /usr/ports/security/openvpn20
/dev/pts/4
13:52:27
#whereis openvpn20
openvpn20: /usr/ports/security/openvpn20
/dev/pts/3
13:52:42
#cd /usr/ports/security/openv
openvas-client/      openvas-server/      openvpn-auth-radius/
openvas-libnasl/     openvpn/             openvpn-beta/
openvas-libraries/   openvpn-admin/       openvpn-devel/
openvas-plugins/     openvpn-auth-ldap/   openvpn20/
/dev/pts/4
13:52:42
#cd /usr/ports/security/openv
openvas-client/      openvas-server/      openvpn-auth-radius/
openvas-libnasl/     openvpn/             openvpn-beta/
openvas-libraries/   openvpn-admin/       openvpn-devel/
openvas-plugins/     openvpn-auth-ldap/   openvpn20/
/dev/pts/3
13:52:42
#cd /usr/ports/security/openvpn20/

/dev/pts/4
13:52:42
#cd /usr/ports/security/openvpn20/

/dev/pts/3
13:53:07
#make deinstall
===>  Deinstalling for security/openvpn20
===>   Deinstalling openvpn-2.0.9_2
/dev/pts/4
13:53:07
#make deinstall
===>  Deinstalling for security/openvpn20
===>   Deinstalling openvpn-2.0.9_2
/dev/pts/3
13:53:15
#rm -r /usr/local/etc/openvpn/

/dev/pts/4
13:53:15
#rm -r /usr/local/etc/openvpn/

/dev/pts/3
13:54:10
#cd /usr/local/etc/openldap/

/dev/pts/4
13:54:10
#cd /usr/local/etc/openldap/

/dev/pts/3
13:54:17
#cd /usr/local/etc/openvpn
bash: cd: /usr/local/etc/openvpn: No such file or directory
/dev/pts/4
13:54:17
#cd /usr/local/etc/openvpn
bash: cd: /usr/local/etc/openvpn: No such file or directory
/dev/pts/3
13:54:31
#cd /usr/ports/security/openvpn20/

/dev/pts/4
13:54:31
#cd /usr/ports/security/openvpn20/

/dev/pts/3
13:54:38
#make install clean
===>  Installing for openvpn-2.0.9_2
===>   openvpn-2.0.9_2 depends on file: /usr/local/lib/libcrypto.so.7 - found
===>   openvpn-2.0.9_2 depends on shared library: lzo2.2 - found
===>   Generating temporary packing list
===>  Checking if security/openvpn20 already installed
test -z "/usr/local/sbin" || /usr/ports/security/openvpn20/work/openvpn-2.0.9/install-sh -d "/usr/local/sbin"
  install  -s -o root -g wheel -m 555 'openvpn' '/usr/local/sbin/openvpn'
test -z "/usr/local/man/man8" || /usr/ports/security/openvpn20/work/openvpn-2.0.9/install-sh -d "/usr/local/man/man8"
 install  -o root -g wheel -m 444 './openvpn.8' '/usr/local/man/man8/openvpn.8'
===> Installing rc.d startup script(s)
...
      these network services to be started at boot time.
/usr/local/etc/rc.d/openvpn
      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.
      For more information, and contact details about the security
      status of this software, see the following webpage:
http://openvpn.net/index.php/open-source.html
===>  Cleaning for openvpn-2.0.9_2
/dev/pts/4
13:54:38
#make install clean
===>  Installing for openvpn-2.0.9_2
===>   openvpn-2.0.9_2 depends on file: /usr/local/lib/libcrypto.so.7 - found
===>   openvpn-2.0.9_2 depends on shared library: lzo2.2 - found
===>   Generating temporary packing list
===>  Checking if security/openvpn20 already installed
test -z "/usr/local/sbin" || /usr/ports/security/openvpn20/work/openvpn-2.0.9/install-sh -d "/usr/local/sbin"
  install  -s -o root -g wheel -m 555 'openvpn' '/usr/local/sbin/openvpn'
test -z "/usr/local/man/man8" || /usr/ports/security/openvpn20/work/openvpn-2.0.9/install-sh -d "/usr/local/man/man8"
 install  -o root -g wheel -m 444 './openvpn.8' '/usr/local/man/man8/openvpn.8'
===> Installing rc.d startup script(s)
...
      these network services to be started at boot time.
/usr/local/etc/rc.d/openvpn
      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.
      For more information, and contact details about the security
      status of this software, see the following webpage:
http://openvpn.net/index.php/open-source.html
===>  Cleaning for openvpn-2.0.9_2
/dev/pts/3
13:54:50
#cd /usr/local/share/d
dasher/              devhelp/             docky/
dbus-1/              dict/                doom/
deskbar-applet/      doc/
desktop-directories/ dockmanager/
13:54:50
#cd /usr/local/share/doc
doc/         dockmanager/ docky/
/dev/pts/4
13:54:50
#cd /usr/local/share/d
dasher/              devhelp/             docky/
dbus-1/              dict/                doom/
deskbar-applet/      doc/
desktop-directories/ dockmanager/
13:54:50
#cd /usr/local/share/doc
doc/         dockmanager/ docky/
/dev/pts/3
13:54:50
#cd /usr/local/share/doc/openvpn/easy-rsa/2.0/

/dev/pts/4
13:54:50
#cd /usr/local/share/doc/openvpn/easy-rsa/2.0/

/dev/pts/3
13:56:06
#ee vars
/dev/pts/4
13:56:06
#ee vars
--- /tmp/l3-saved-57535.11297.20096	2012-04-04 14:56:11.000000000 +0300
+++ vars	2012-04-04 14:57:18.000000000 +0300
@@ -36,7 +36,7 @@
 # a rm -rf on this directory
 # so make sure you define
 # it correctly!
-export KEY_DIR="$EASY_RSA/keys"
+export KEY_DIR="$EASY_RSA/keys/core"
 
 # Issue rm -rf warning
 echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR
@@ -46,7 +46,7 @@
 # down TLS negotiation performance
 # as well as the one-time DH parms
 # generation process.
-export KEY_SIZE=1024
+export KEY_SIZE=2048
 
 # In how many days should the root CA key expire?
 export CA_EXPIRE=3650
@@ -57,8 +57,8 @@
 # These are the default values for fields
 # which will be placed in the certificate.
 # Don't leave any of these fields blank.
-export KEY_COUNTRY="US"
-export KEY_PROVINCE="CA"
-export KEY_CITY="SanFrancisco"
-export KEY_ORG="Fort-Funston"
-export KEY_EMAIL="me@myhost.mydomain"
+export KEY_COUNTRY="UA"
+export KEY_PROVINCE="UA"
+export KEY_CITY="Kiev"
+export KEY_ORG="CREOLAB"
+export KEY_EMAIL="v.yaroshenko@creolab.edu"
/dev/pts/3
13:57:18
#chmod 544 *

/dev/pts/4
13:57:18
#chmod 544 *

/dev/pts/3
13:57:34
#mkdir -p keys/server

/dev/pts/4
13:57:34
#mkdir -p keys/server

/dev/pts/3
13:57:48
#ls
README                  build-key-server        openssl-0.9.6.cnf
build-ca                build-req               openssl.cnf
build-dh                build-req-pass          pkitool
build-inter             clean-all               revoke-full
build-key               inherit-inter           sign-req
build-key-pass          keys                    vars
build-key-pkcs12        list-crl                whichopensslcnf
/dev/pts/4
13:57:48
#ls
README                  build-key-server        openssl-0.9.6.cnf
build-ca                build-req               openssl.cnf
build-dh                build-req-pass          pkitool
build-inter             clean-all               revoke-full
build-key               inherit-inter           sign-req
build-key-pass          keys                    vars
build-key-pkcs12        list-crl                whichopensslcnf
/dev/pts/3
13:57:51
#ls -l /keys/
total 8
-rw-r--r--  1 root  wheel    0 Apr  4 14:33 index.txt
-rw-r--r--  1 root  wheel    3 Apr  4 14:33 serial
drwxr-xr-x  2 root  wheel  512 Apr  4 14:50 server
/dev/pts/4
13:57:51
#ls -l /keys/
total 8
-rw-r--r--  1 root  wheel    0 Apr  4 14:33 index.txt
-rw-r--r--  1 root  wheel    3 Apr  4 14:33 serial
drwxr-xr-x  2 root  wheel  512 Apr  4 14:50 server
/dev/pts/3
13:57:59
#. ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /usr/local/share/doc/openvpn/easy-rsa/2.0/keys/core
/dev/pts/4
13:57:59
#. ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /usr/local/share/doc/openvpn/easy-rsa/2.0/keys/core
/dev/pts/3
13:58:13
#./clean-all
bash: ./clean-all: /bin/bash: bad interpreter: No such file or directory
/dev/pts/4
13:58:13
#./clean-all
bash: ./clean-all: /bin/bash: bad interpreter: No such file or directory
/dev/pts/3
13:58:20
#. ./clean-all

/dev/pts/4
13:58:20
#. ./clean-all

/dev/pts/3
13:58:31
#. ./build-ca
Generating a 2048 bit RSA private key
..+++
...+++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [UA]:
State or Province Name (full name) [UA]:
Locality Name (eg, city) [Kiev]:
Organization Name (eg, company) [CREOLAB]:CREOLAB
Organizational Unit Name (eg, section) []:CREOLAB
Common Name (eg, your name or your server's hostname) [CREOLAB CA]:CREOLAB
Email Address [v.yaroshenko@creolab.edu]:
/dev/pts/4
13:58:31
#. ./build-ca
Generating a 2048 bit RSA private key
..+++
...+++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [UA]:
State or Province Name (full name) [UA]:
Locality Name (eg, city) [Kiev]:
Organization Name (eg, company) [CREOLAB]:CREOLAB
Organizational Unit Name (eg, section) []:CREOLAB
Common Name (eg, your name or your server's hostname) [CREOLAB CA]:CREOLAB
Email Address [v.yaroshenko@creolab.edu]:
/dev/pts/3
14:01:17
#. ./build-key-
build-key-pass    build-key-pkcs12  build-key-server
/dev/pts/4
14:01:17
#. ./build-key-
build-key-pass    build-key-pkcs12  build-key-server
/dev/pts/3
14:01:17
#. ./build-key-server creolab
Generating a 2048 bit RSA private key
.....+++
.................................+++
writing new private key to 'creolab.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
...
localityName          :PRINTABLE:'Kiev'
organizationName      :PRINTABLE:'CREOLAB'
organizationalUnitName:PRINTABLE:'CREOLAB'
commonName            :PRINTABLE:'creolab'
emailAddress          :IA5STRING:'v.yaroshenko@creolab.edu'
Certificate is to be certified until Apr  2 12:03:18 2022 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
/dev/pts/4
14:01:17
#. ./build-key-server creolab
Generating a 2048 bit RSA private key
.....+++
.................................+++
writing new private key to 'creolab.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
...
localityName          :PRINTABLE:'Kiev'
organizationName      :PRINTABLE:'CREOLAB'
organizationalUnitName:PRINTABLE:'CREOLAB'
commonName            :PRINTABLE:'creolab'
emailAddress          :IA5STRING:'v.yaroshenko@creolab.edu'
Certificate is to be certified until Apr  2 12:03:18 2022 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
/dev/pts/3
14:03:30
#. ./build-dh
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
....+............................................................................................................................................+..+..............................+.....+.+.........................................................................................................+........................................................................................+.................
/dev/pts/4
14:03:30
#. ./build-dh
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
....+............................................................................................................................................+..+..............................+.....+.+.........................................................................................................+........................................................................................+.................
/dev/pts/3
14:07:04
#openvpn --genkey --secret keys/server/ta.key

/dev/pts/4
14:07:04
#openvpn --genkey --secret keys/server/ta.key

/dev/pts/3
14:07:58
#ls
README                  build-req               openvpn
build-ca                build-req-pass          pkitool
build-dh                clean-all               revoke-full
build-inter             inherit-inter           sign-req
build-key               keys                    vars
build-key-pass          list-crl                whichopensslcnf
build-key-pkcs12        openssl-0.9.6.cnf
build-key-server        openssl.cnf
/dev/pts/4
14:07:58
#ls
README                  build-req               openvpn
build-ca                build-req-pass          pkitool
build-dh                clean-all               revoke-full
build-inter             inherit-inter           sign-req
build-key               keys                    vars
build-key-pass          list-crl                whichopensslcnf
build-key-pkcs12        openssl-0.9.6.cnf
build-key-server        openssl.cnf
/dev/pts/3
14:08:00
#cd keys/

/dev/pts/4
14:08:00
#cd keys/

/dev/pts/3
14:08:03
#ls
core    server
/dev/pts/4
14:08:03
#ls
core    server
14:08:04
#cd server

/dev/pts/3
14:08:04
#cd server

14:08:10
#ls
ta.key
/dev/pts/4
14:08:10
#ls
ta.key
/dev/pts/3
14:08:11
#cd ..

/dev/pts/4
14:08:11
#cd ..

/dev/pts/3
14:08:18
#cd core/

/dev/pts/4
14:08:18
#cd core/

/dev/pts/3
14:08:20
#ls
01.pem          creolab.crt     dh2048.pem      index.txt.old
ca.crt          creolab.csr     index.txt       serial
ca.key          creolab.key     index.txt.attr  serial.old
/dev/pts/4
14:08:20
#ls
01.pem          creolab.crt     dh2048.pem      index.txt.old
ca.crt          creolab.csr     index.txt       serial
ca.key          creolab.key     index.txt.attr  serial.old
/dev/pts/3
14:08:21
#mkdir /usr/local/etc/openvpn

/dev/pts/4
14:08:21
#mkdir /usr/local/etc/openvpn

/dev/pts/3
14:08:45
#mkdir /usr/local/etc/openvpn/keys

/dev/pts/4
14:08:45
#mkdir /usr/local/etc/openvpn/keys

Статистика

Время первой команды журнала13:45:15 2012- 4- 4
Время последней команды журнала14:08:45 2012- 4- 4
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, % 8.91
Процент синтаксически неверно набранных команд, % 1.98
Суммарное время работы с терминалом *, час 0.39
Количество командных строк в единицу времени, команда/мин 4.30
Частота использования команд
cd26|=========================| 25.74%
ls21|====================| 20.79%
.13|============| 12.87%
mkdir9|========| 8.91%
build-ca6|=====| 5.94%
chmod5|====| 4.95%
make5|====| 4.95%
ee3|==| 2.97%
pwd2|=| 1.98%
vars2|=| 1.98%
clean-all2|=| 1.98%
whereis2|=| 1.98%
rm2|=| 1.98%
openvpn2|=| 1.98%
sh1|| 0.99%
____
*) Интервалы неактивности длительностью 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$