/l3/users/lav/nt-bsdnet/root :1 :2 :3 :4 :5 :6 :7 :8 :9 :10 :11 :12 |
|
#ldd `which inetd`
/usr/sbin/inetd: libutil.so.5 => /lib/libutil.so.5 (0x2807c000) libwrap.so.4 => /usr/lib/libwrap.so.4 (0x28088000) libipsec.so.2 => /lib/libipsec.so.2 (0x2808f000) libc.so.6 => /lib/libc.so.6 (0x28095000) |
#ldd `which inetd`
/usr/sbin/inetd: libutil.so.5 => /lib/libutil.so.5 (0x2807c000) libwrap.so.4 => /usr/lib/libwrap.so.4 (0x28088000) libipsec.so.2 => /lib/libipsec.so.2 (0x2808f000) libc.so.6 => /lib/libc.so.6 (0x28095000) |
#exec
|
#exec
|
#man exec
|
#man exec
|
#vi /etc/inetd.conf
53c53 < #chargen stream tcp nowait root internal --- > chargen stream tcp nowait root internal |
#vi /etc/inetd.conf
|
#/etc/rc.d/
Display all 129 possibilities? (y or n) DAEMON hostname named route6d LOGIN ike natd routed NETWORKING inetd netif routing SERVERS initrandom netoptions rpcbind abi ip6addrctl network_ipv6 rtadvd accounting ip6fw newsyslog rwho addswap ipfilter nfsclient savecore adjkerntz ipfs nfsd securelevel amd ipfw nfslocking sendmail ... atm2 isdnd ntpdate syscons atm3 jail othermta sysctl bgfsck kadmind pccard syslogd bootparams kerberos pcvt timed bsnmpd keyserv pf tmp ccd kldxref pflog ugidfw cleanvar kpasswdd pfsync usbd cleartmp ldconfig power_profile var cron local powerd virecover devd localpkg ppp-user watchdogd |
#vi /etc/rc.d/inetd restart
|
#/etc/rc.d/
Display all 129 possibilities? (y or n) DAEMON hostname named route6d LOGIN ike natd routed NETWORKING inetd netif routing SERVERS initrandom netoptions rpcbind abi ip6addrctl network_ipv6 rtadvd accounting ip6fw newsyslog rwho addswap ipfilter nfsclient savecore adjkerntz ipfs nfsd securelevel amd ipfw nfslocking sendmail ... atm2 isdnd ntpdate syscons atm3 jail othermta sysctl bgfsck kadmind pccard syslogd bootparams kerberos pcvt timed bsnmpd keyserv pf tmp ccd kldxref pflog ugidfw cleanvar kpasswdd pfsync usbd cleartmp ldconfig power_profile var cron local powerd virecover devd localpkg ppp-user watchdogd |
#vi /etc/rc.d/inetd restart
|
#/etc/rc.d/inetd restart
Stopping inetd. Starting inetd. |
#/etc/rc.d/inetd restart
Stopping inetd. Starting inetd. |
#telnet localhost 19
RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789: STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:; TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;< UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<= VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=> WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>? XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ YZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@A Z[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@AB [\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABC ... ~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk %&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl &'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno |
#telnet localhost 19
RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789: STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:; TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;< UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<= VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=> WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>? XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ YZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@A Z[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@AB [\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABC ... ~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk %&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl &'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno |
#vi /etc/host
|
#vi /etc/host.allow
|
#vi /etc/host
|
#vi /etc/host.allow
|
#vi /etc/hosts.allow
22a23 > chargen : 192.168.15.2 192.168.15.4 : deny |
#vi /etc/hosts.allow
|
#man xinend
|
#man xinend
|
#man xinetd
|
#man xinetd
|
#pkg_add -r xinetd
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.0-release/Latest/xinetd.tbz... Done. |
#pkg_add -r xinetd
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.0-release/Latest/xinetd.tbz... Done. |
#man xinetd
|
#man xinetd
|
#ps aux
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND user 4647 45,4 5,2 29148 25208 ?? R 11:04 45:47,21 kdeinit: kdeinit: root 5562 44,3 0,2 1260 788 ?? Rs 11:39 14:57,17 script -t 0 -q /r root 5228 6,4 1,6 9096 7608 ?? Ss 11:16 3:43,09 l3-agent (perl5.8 root 0 0,0 0,0 0 0 ?? WLs 10:47 0:00,00 [swapper] root 1 0,0 0,1 724 244 ?? ILs 10:47 0:00,01 /sbin/init -- root 2 0,0 0,0 0 8 ?? DL 10:47 0:00,23 [g_event] root 3 0,0 0,0 0 8 ?? DL 10:47 0:09,09 [g_up] root 4 0,0 0,0 0 8 ?? DL 10:47 0:04,90 [g_down] root 5 0,0 0,0 0 8 ?? DL 10:47 0:00,00 [kqueue taskq] ... user 4938 0,0 0,4 3224 1976 p7 Is+ 11:08 0:00,05 /usr/local/bin/ba root 4994 0,0 0,4 3268 2020 p8 Ss 11:08 0:00,22 /usr/local/bin/ba root 5981 0,0 0,2 1456 1024 p8 R+ 12:12 0:00,00 ps aux user 5062 0,0 0,2 1260 804 p9 Ss+ 11:14 0:00,32 script -t 0 -q /h user 5098 0,0 0,4 3220 1980 pa Is 11:14 0:00,03 /usr/local/bin/ba root 5123 0,0 0,3 1600 1220 pa I 11:14 0:00,01 su root 5124 0,0 0,2 1260 804 pa S+ 11:14 0:00,49 script -t 0 -q /r root 5160 0,0 0,4 3220 1980 pb Is 11:14 0:00,03 /usr/local/bin/ba root 5188 0,0 0,5 3400 2448 pb S+ 11:15 0:00,84 ssh 192.168.15.2 root 5598 0,0 0,4 3228 1996 pe Is+ 11:39 0:00,03 /usr/local/bin/ba |
#ps aux
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND user 4647 45,4 5,2 29148 25208 ?? R 11:04 45:47,21 kdeinit: kdeinit: root 5562 44,3 0,2 1260 788 ?? Rs 11:39 14:57,17 script -t 0 -q /r root 5228 6,4 1,6 9096 7608 ?? Ss 11:16 3:43,09 l3-agent (perl5.8 root 0 0,0 0,0 0 0 ?? WLs 10:47 0:00,00 [swapper] root 1 0,0 0,1 724 244 ?? ILs 10:47 0:00,01 /sbin/init -- root 2 0,0 0,0 0 8 ?? DL 10:47 0:00,23 [g_event] root 3 0,0 0,0 0 8 ?? DL 10:47 0:09,09 [g_up] root 4 0,0 0,0 0 8 ?? DL 10:47 0:04,90 [g_down] root 5 0,0 0,0 0 8 ?? DL 10:47 0:00,00 [kqueue taskq] ... user 4938 0,0 0,4 3224 1976 p7 Is+ 11:08 0:00,05 /usr/local/bin/ba root 4994 0,0 0,4 3268 2020 p8 Ss 11:08 0:00,22 /usr/local/bin/ba root 5981 0,0 0,2 1456 1024 p8 R+ 12:12 0:00,00 ps aux user 5062 0,0 0,2 1260 804 p9 Ss+ 11:14 0:00,32 script -t 0 -q /h user 5098 0,0 0,4 3220 1980 pa Is 11:14 0:00,03 /usr/local/bin/ba root 5123 0,0 0,3 1600 1220 pa I 11:14 0:00,01 su root 5124 0,0 0,2 1260 804 pa S+ 11:14 0:00,49 script -t 0 -q /r root 5160 0,0 0,4 3220 1980 pb Is 11:14 0:00,03 /usr/local/bin/ba root 5188 0,0 0,5 3400 2448 pb S+ 11:15 0:00,84 ssh 192.168.15.2 root 5598 0,0 0,4 3228 1996 pe Is+ 11:39 0:00,03 /usr/local/bin/ba |
#ps aux |grep inetd
root 5810 0,0 0,2 1384 1056 ?? Is 11:53 0:00,01 /usr/sbin/inetd - root 5988 0,0 0,2 1520 1024 p8 S+ 12:12 0:00,00 grep inetd |
#ps aux |grep inetd
root 5810 0,0 0,2 1384 1056 ?? Is 11:53 0:00,01 /usr/sbin/inetd - root 5988 0,0 0,2 1520 1024 p8 S+ 12:12 0:00,00 grep inetd |
#killall inetd
|
#killall inetd
|
#ps aux |grep inetd
root 6001 0,0 0,2 1520 1024 p8 S+ 12:12 0:00,00 grep inetd |
#ps aux |grep inetd
root 6001 0,0 0,2 1520 1024 p8 S+ 12:12 0:00,00 grep inetd |
#vi /etc/rc.conf
4c4 < inetd_enable="YES" --- > inetd_enable="NO" |
#vi /etc/rc.conf
|
#xconv < /etc/inetd.conf > /usr/local/etc/xinetd.conf
|
#xconv < /etc/inetd.conf > /usr/local/etc/xinetd.conf
|
#mkdir /usr/local/etc/xinetd.d
|
#mkdir /usr/local/etc/xinetd.d
|
#vi /usr/local/etc/xinetd.conf
|
#vi /usr/local/etc/xinetd.conf
|
#cp /usr/local/etc/xinetd.conf /usr/local/etc/xinetd.d/
|
#cp /usr/local/etc/xinetd.conf /usr/local/etc/xinetd.d/
|
#vi /usr/local/etc/xinetd.d/xinetd.conf
|
#vi /usr/local/etc/xinetd.d/xinetd.conf
|
#vi /usr/local/etc/xinetd.conf
1,59c1 < # This file generated by xconv.pl, included with the xinetd < # package. xconv.pl was written by Rob Braun (bbraun@synack.net) < # < # The file is merely a translation of your inetd.conf file into < # the equivalent in xinetd.conf syntax. xinetd has many < # features that may not be taken advantage of with this translation. < # Please refer to the xinetd.conf man page for more information < # on how to properly configure xinetd. < < < # The defaults section sets some information for all services < defaults < { < #The maximum number of requests a particular service may handle < # at once. < instances = 25 < < # The type of logging. This logs to a file that is specified. < # Another option is: SYSLOG syslog_facility [syslog_level] < log_type = FILE /var/log/servicelog < < # What to log when the connection succeeds. < # PID logs the pid of the server processing the request. < # HOST logs the remote host's ip address. < # USERID logs the remote user (using RFC 1413) < # EXIT logs the exit status of the server. < # DURATION logs the duration of the session. < log_on_success = HOST PID < < # What to log when the connection fails. Same options as above < log_on_failure = HOST < < # The maximum number of connections a specific IP address can < # have to a specific service. < per_source = 5 < } < < service chargen < { < flags = NAMEINARGS < socket_type = stream < protocol = tcp < wait = no < user = root < type = INTERNAL < id = chargen-stream < } < < service imap4 < { < flags = NAMEINARGS < socket_type = stream < protocol = tcp < wait = no < user = root < server = /usr/local/bin/bash < server_args = bash < } < --- > includedir /usr/local/etc/xinetd.d |
#vi /usr/local/etc/xinetd.conf
|
#cd /usr/local/etc/xinetd.d/
|
#cd /usr/local/etc/xinetd.d/
|
#ls
xinetd.conf |
#ls
xinetd.conf |
#cp xinetd.conf defaults
|
#cp xinetd.conf defaults
|
#cp xinetd.conf chargen
|
#cp xinetd.conf chargen
|
#cp xinetd.conf imap4
|
#cp xinetd.conf imap4
|
#cp xinetd.conf echo
|
#cp xinetd.conf echo
|
#vi defaults
1,11d0 < # This file generated by xconv.pl, included with the xinetd < # package. xconv.pl was written by Rob Braun (bbraun@synack.net) < # < # The file is merely a translation of your inetd.conf file into < # the equivalent in xinetd.conf syntax. xinetd has many < # features that may not be taken advantage of with this translation. < # Please refer to the xinetd.conf man page for more information < # on how to properly configure xinetd. < < < # The defaults section sets some information for all services 14,15d2 < #The maximum number of requests a particular service may handle < # at once. 36,38d22 < } < < service chargen 40,59d23 < flags = NAMEINARGS < socket_type = stream < protocol = tcp < wait = no < user = root < type = INTERNAL < id = chargen-stream < } < < service imap4 < { < flags = NAMEINARGS < socket_type = stream < protocol = tcp < wait = no < user = root < server = /usr/local/bin/bash < server_args = bash < } < |
#vi defaults
|
#vi chargen
1,37d0 < # This file generated by xconv.pl, included with the xinetd < # package. xconv.pl was written by Rob Braun (bbraun@synack.net) < # < # The file is merely a translation of your inetd.conf file into < # the equivalent in xinetd.conf syntax. xinetd has many < # features that may not be taken advantage of with this translation. < # Please refer to the xinetd.conf man page for more information < # on how to properly configure xinetd. < < < # The defaults section sets some information for all services < defaults < { < #The maximum number of requests a particular service may handle < # at once. < instances = 25 < < # The type of logging. This logs to a file that is specified. < # Another option is: SYSLOG syslog_facility [syslog_level] < log_type = FILE /var/log/servicelog < < # What to log when the connection succeeds. < # PID logs the pid of the server processing the request. < # HOST logs the remote host's ip address. < # USERID logs the remote user (using RFC 1413) < # EXIT logs the exit status of the server. < # DURATION logs the duration of the session. < log_on_success = HOST PID < < # What to log when the connection fails. Same options as above < log_on_failure = HOST < < # The maximum number of connections a specific IP address can < # have to a specific service. < per_source = 5 < } < 48,59d10 < < service imap4 < { < flags = NAMEINARGS < socket_type = stream < protocol = tcp < wait = no < user = root < server = /usr/local/bin/bash < server_args = bash < } < |
#vi chargen
|
#vi imap4
1,48d0 < # This file generated by xconv.pl, included with the xinetd < # package. xconv.pl was written by Rob Braun (bbraun@synack.net) < # < # The file is merely a translation of your inetd.conf file into < # the equivalent in xinetd.conf syntax. xinetd has many < # features that may not be taken advantage of with this translation. < # Please refer to the xinetd.conf man page for more information < # on how to properly configure xinetd. < < < # The defaults section sets some information for all services < defaults < { < #The maximum number of requests a particular service may handle < # at once. < instances = 25 < < # The type of logging. This logs to a file that is specified. < # Another option is: SYSLOG syslog_facility [syslog_level] < log_type = FILE /var/log/servicelog < < # What to log when the connection succeeds. < # PID logs the pid of the server processing the request. < # HOST logs the remote host's ip address. < # USERID logs the remote user (using RFC 1413) < # EXIT logs the exit status of the server. < # DURATION logs the duration of the session. < log_on_success = HOST PID < < # What to log when the connection fails. Same options as above < log_on_failure = HOST < < # The maximum number of connections a specific IP address can < # have to a specific service. < per_source = 5 < } < < service chargen < { < flags = NAMEINARGS < socket_type = stream < protocol = tcp < wait = no < user = root < type = INTERNAL < id = chargen-stream < } < 59d10 < |
#vi imap4
|
#vi echo
1,38c1 < # This file generated by xconv.pl, included with the xinetd < # package. xconv.pl was written by Rob Braun (bbraun@synack.net) < # < # The file is merely a translation of your inetd.conf file into < # the equivalent in xinetd.conf syntax. xinetd has many < # features that may not be taken advantage of with this translation. < # Please refer to the xinetd.conf man page for more information < # on how to properly configure xinetd. < < < # The defaults section sets some information for all services < defaults < { < #The maximum number of requests a particular service may handle < # at once. < instances = 25 < < # The type of logging. This logs to a file that is specified. < # Another option is: SYSLOG syslog_facility [syslog_level] < log_type = FILE /var/log/servicelog < < # What to log when the connection succeeds. < # PID logs the pid of the server processing the request. < # HOST logs the remote host's ip address. < # USERID logs the remote user (using RFC 1413) < # EXIT logs the exit status of the server. < # DURATION logs the duration of the session. < log_on_success = HOST PID < < # What to log when the connection fails. Same options as above < log_on_failure = HOST < < # The maximum number of connections a specific IP address can < # have to a specific service. < per_source = 5 < } < < service chargen --- > service echo 46,57c9 < id = chargen-stream < } < < service imap4 < { < flags = NAMEINARGS < socket_type = stream < protocol = tcp < wait = no < user = root < server = /usr/local/bin/bash < server_args = bash --- > id = echo-Stream 59d10 < |
#vi echo
|
#vi chargen
|
Время первой команды журнала | 11:43:57 2006- 9-19 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 12:28:37 2006- 9-19 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 73 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 8.22 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.00 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 0.74 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 1.63 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.
Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
$ l s-l bash: l: command not found |
Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
$ test 5 -lt 4 |
Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
$ 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 |
Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
# id uid=0(root) gid=0(root) Gruppen=0(root) |
Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
$ vi ~/.bashrc
|
Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
$ patch ~/.bashrc |
Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.
Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.
Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.
Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора
Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.
Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.
Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:
$ whoami
user
$ #^ Интересно, кто я?в журнале это будет выглядеть так:
$ whoami
user
Интересно, кто я? |
Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:
$ whoami
user
$ cat > /dev/null #^ Интересно, кто я?
Программа whoami выводит имя пользователя, под которым мы зарегистрировались в системе. - Она не может ответить на вопрос о нашем назначении в этом мире.В журнале это будет выглядеть так:
$ whoami user
|
Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=
1 2 3 4Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.
LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008