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

Содержание

Журнал

Среда (03/12/08)

/dev/pts/6
15:35:58
$cp -v /etc/* /tmp/etccopy 2>&1 |less
15:43:30
$cp -v /etc/* /tmp/etccopy
`/etc/DIR_COLORS' -> `/tmp/etccopy/DIR_COLORS'
`/etc/HOSTNAME' -> `/tmp/etccopy/HOSTNAME'
`/etc/Muttrc' -> `/tmp/etccopy/Muttrc'
`/etc/SuSE-release' -> `/tmp/etccopy/SuSE-release'
`/etc/adjtime' -> `/tmp/etccopy/adjtime'
`/etc/aliases' -> `/tmp/etccopy/aliases'
`/etc/aliases.db' -> `/tmp/etccopy/aliases.db'
`/etc/at.deny' -> `/tmp/etccopy/at.deny'
`/etc/auto.master' -> `/tmp/etccopy/auto.master'
`/etc/auto.misc' -> `/tmp/etccopy/auto.misc'
...
cp: omitting directory `/etc/rc.d'
cp: omitting directory `/etc/reader.conf.d'
cp: omitting directory `/etc/resmgr.conf.d'
cp: cannot open `/etc/rsyncd.secrets' for reading: Permission denied
cp: omitting directory `/etc/security'
cp: omitting directory `/etc/sgml'
cp: cannot open `/etc/shadow' for reading: Permission denied
cp: cannot open `/etc/shadow.YaST2save' for reading: Permission denied
cp: cannot open `/etc/shadow.old' for reading: Permission denied
cp: omitting directory `/etc/skel'
15:44:13
$cp -v /etc/* /tmp/etccopy 2>&1 |less
15:44:47
$cp -v /etc/* /tmp/etccopy > /tmp/dirlist
...skipping...
~
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
~
15:45:51
$cat /tmp/dirlist
cp: omitting directory `/etc/joe'
`/etc/kde3rc' -> `/tmp/etccopy/kde3rc'
`/etc/krb5.conf' -> `/tmp/etccopy/krb5.conf'
`/etc/ksh.kshrc' -> `/tmp/etccopy/ksh.kshrc'
`/etc/ksysguarddrc' -> `/tmp/etccopy/ksysguarddrc'
`/etc/ld.so.cache' -> `/tmp/etccopy/ld.so.cache'
`/etc/ld.so.conf' -> `/tmp/etccopy/ld.so.conf'
cp: omitting directory `/etc/ld.so.conf.d'
`/etc/ldap.conf' -> `/tmp/etccopy/ldap.conf'
`/etc/lesskey' -> `/tmp/etccopy/lesskey'
...
cp: omitting directory `/etc/xinetd.d'
cp: omitting directory `/etc/xml'
`/etc/xpdfrc' -> `/tmp/etccopy/xpdfrc'
`/etc/xpdfrc-cjk' -> `/tmp/etccopy/xpdfrc-cjk'
`/etc/xpdfrc-cjk-auto' -> `/tmp/etccopy/xpdfrc-cjk-auto'
`/etc/xpdfrc-cjk.sjis' -> `/tmp/etccopy/xpdfrc-cjk.sjis'
cp: omitting directory `/etc/xscreensaver'
cp: omitting directory `/etc/zmd'
`/etc/zshenv' -> `/tmp/etccopy/zshenv'
`/etc/zshrc' -> `/tmp/etccopy/zshrc'
15:46:03
$cat /tmp/dirlist |less
15:47:08
$cat /tmp/dirlist wc -l
cat: invalid option -- l
Try `cat --help' for more information.
15:51:46
$cat /tmp/dirlist |
243
15:51:51
$cat /tmp/dirlist | egrep etc
cp: omitting directory `/etc/joe'
`/etc/kde3rc' -> `/tmp/etccopy/kde3rc'
`/etc/krb5.conf' -> `/tmp/etccopy/krb5.conf'
`/etc/ksh.kshrc' -> `/tmp/etccopy/ksh.kshrc'
`/etc/ksysguarddrc' -> `/tmp/etccopy/ksysguarddrc'
`/etc/ld.so.cache' -> `/tmp/etccopy/ld.so.cache'
`/etc/ld.so.conf' -> `/tmp/etccopy/ld.so.conf'
cp: omitting directory `/etc/ld.so.conf.d'
`/etc/ldap.conf' -> `/tmp/etccopy/ldap.conf'
`/etc/lesskey' -> `/tmp/etccopy/lesskey'
...
cp: omitting directory `/etc/xinetd.d'
cp: omitting directory `/etc/xml'
`/etc/xpdfrc' -> `/tmp/etccopy/xpdfrc'
`/etc/xpdfrc-cjk' -> `/tmp/etccopy/xpdfrc-cjk'
`/etc/xpdfrc-cjk-auto' -> `/tmp/etccopy/xpdfrc-cjk-auto'
`/etc/xpdfrc-cjk.sjis' -> `/tmp/etccopy/xpdfrc-cjk.sjis'
cp: omitting directory `/etc/xscreensaver'
cp: omitting directory `/etc/zmd'
`/etc/zshenv' -> `/tmp/etccopy/zshenv'
`/etc/zshrc' -> `/tmp/etccopy/zshrc'
15:53:24
$cat /tmp/dirlist | egrep etc | wc -l
243
15:53:36
$cat /tmp/dirlist | egrep sys
5
15:53:48
$cat /tmp/dirlist | egrep ^cp.
0
15:54:56
$cat /tmp/dirlist | egrep ^cp.*
2
15:55:11
$cat /tmp/dirlist | egrep ^cp.*sys
cp: omitting directory `/etc/sysconfig'
cp: omitting directory `/etc/syslog-ng'
15:57:33
$w
 17:09:26 up 1 day, 23:53,  5 users,  load average: 0.00, 0.00, 0.00
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0     Mon18    6:08m  0.04s  0.04s script -f -q /root/.lilalo//206757984258936455-12
root     sles2.un  Tue09    0.00s  0.00s  0.06s /bin/sh /usr/X11R6/bin/kde
root     :2/sles2  Tue09   ?xdm?   3:47   0.06s /bin/sh /usr/X11R6/bin/kde
root     pts/2     Tue09   31:21m  0.00s  0.20s kded [kdeinit]
root     pts/3     Tue09    0.00s  0.07s  0.02s script -f -q /root/.lilalo//175375349142847417-12

Файлы

  • /tmp/dirlist
  • |
  • /tmp/dirlist
    >
    cp: omitting directory `/etc/joe'
    `/etc/kde3rc' -> `/tmp/etccopy/kde3rc'
    `/etc/krb5.conf' -> `/tmp/etccopy/krb5.conf'
    `/etc/ksh.kshrc' -> `/tmp/etccopy/ksh.kshrc'
    `/etc/ksysguarddrc' -> `/tmp/etccopy/ksysguarddrc'
    `/etc/ld.so.cache' -> `/tmp/etccopy/ld.so.cache'
    `/etc/ld.so.conf' -> `/tmp/etccopy/ld.so.conf'
    cp: omitting directory `/etc/ld.so.conf.d'
    `/etc/ldap.conf' -> `/tmp/etccopy/ldap.conf'
    `/etc/lesskey' -> `/tmp/etccopy/lesskey'
    `/etc/lesskey.bin' -> `/tmp/etccopy/lesskey.bin'
    cp: omitting directory `/etc/lilalo'
    `/etc/localtime' -> `/tmp/etccopy/localtime'
    `/etc/logevent.conf' -> `/tmp/etccopy/logevent.conf'
    `/etc/login.defs' -> `/tmp/etccopy/login.defs'
    `/etc/logindevperm' -> `/tmp/etccopy/logindevperm'
    `/etc/logrotate.conf' -> `/tmp/etccopy/logrotate.conf'
    cp: omitting directory `/etc/logrotate.d'
    `/etc/lsb-release' -> `/tmp/etccopy/lsb-release'
    cp: omitting directory `/etc/lsb-release.d'
    cp: omitting directory `/etc/lvm'
    `/etc/magic' -> `/tmp/etccopy/magic'
    `/etc/mail.rc' -> `/tmp/etccopy/mail.rc'
    `/etc/mailcap' -> `/tmp/etccopy/mailcap'
    `/etc/manpath.config' -> `/tmp/etccopy/manpath.config'
    `/etc/microcode.dat' -> `/tmp/etccopy/microcode.dat'
    `/etc/mime.types' -> `/tmp/etccopy/mime.types'
    `/etc/modprobe.conf' -> `/tmp/etccopy/modprobe.conf'
    `/etc/modprobe.conf.local' -> `/tmp/etccopy/modprobe.conf.local'
    cp: omitting directory `/etc/modprobe.d'
    cp: omitting directory `/etc/mono'
    `/etc/motd' -> `/tmp/etccopy/motd'
    `/etc/mtab' -> `/tmp/etccopy/mtab'
    `/etc/my.cnf' -> `/tmp/etccopy/my.cnf'
    cp: cannot open `/etc/my.cnf' for reading: Permission denied
    `/etc/mysqlaccess.conf' -> `/tmp/etccopy/mysqlaccess.conf'
    cp: cannot open `/etc/mysqlaccess.conf' for reading: Permission denied
    cp: omitting directory `/etc/named.d'
    `/etc/netgroup' -> `/tmp/etccopy/netgroup'
    `/etc/networks' -> `/tmp/etccopy/networks'
    cp: omitting directory `/etc/news'
    `/etc/nntpserver' -> `/tmp/etccopy/nntpserver'
    `/etc/nscd.conf' -> `/tmp/etccopy/nscd.conf'
    `/etc/nsswitch.conf' -> `/tmp/etccopy/nsswitch.conf'
    `/etc/ntp.conf' -> `/tmp/etccopy/ntp.conf'
    cp: cannot open `/etc/ntp.conf' for reading: Permission denied
    `/etc/nxdrv.conf' -> `/tmp/etccopy/nxdrv.conf'
    `/etc/openct.conf' -> `/tmp/etccopy/openct.conf'
    cp: omitting directory `/etc/openldap'
    `/etc/opensc.conf' -> `/tmp/etccopy/opensc.conf'
    `/etc/opiekeys' -> `/tmp/etccopy/opiekeys'
    cp: cannot open `/etc/opiekeys' for reading: Permission denied
    cp: omitting directory `/etc/opielocks'
    cp: omitting directory `/etc/opt'
    cp: omitting directory `/etc/pam.d'
    `/etc/papersize' -> `/tmp/etccopy/papersize'
    `/etc/passwd' -> `/tmp/etccopy/passwd'
    `/etc/passwd.YaST2save' -> `/tmp/etccopy/passwd.YaST2save'
    `/etc/passwd.old' -> `/tmp/etccopy/passwd.old'
    `/etc/permissions' -> `/tmp/etccopy/permissions'
    cp: omitting directory `/etc/permissions.d'
    `/etc/permissions.easy' -> `/tmp/etccopy/permissions.easy'
    `/etc/permissions.local' -> `/tmp/etccopy/permissions.local'
    `/etc/permissions.paranoid' -> `/tmp/etccopy/permissions.paranoid'
    `/etc/permissions.secure' -> `/tmp/etccopy/permissions.secure'
    cp: omitting directory `/etc/php5'
    cp: omitting directory `/etc/postfix'
    `/etc/powerd.conf' -> `/tmp/etccopy/powerd.conf'
    cp: omitting directory `/etc/powersave'
    cp: omitting directory `/etc/ppp'
    cp: omitting directory `/etc/pptp.d'
    `/etc/printcap' -> `/tmp/etccopy/printcap'
    `/etc/printcap_nodefault' -> `/tmp/etccopy/printcap_nodefault'
    `/etc/profile' -> `/tmp/etccopy/profile'
    cp: omitting directory `/etc/profile.d'
    `/etc/protocols' -> `/tmp/etccopy/protocols'
    cp: omitting directory `/etc/pwdutils'
    `/etc/pythonstart' -> `/tmp/etccopy/pythonstart'
    `/etc/raw' -> `/tmp/etccopy/raw'
    cp: omitting directory `/etc/rc.d'
    `/etc/rc.d.README' -> `/tmp/etccopy/rc.d.README'
    `/etc/rc.splash' -> `/tmp/etccopy/rc.splash'
    `/etc/rc.status' -> `/tmp/etccopy/rc.status'
    cp: omitting directory `/etc/reader.conf.d'
    `/etc/resmgr.conf' -> `/tmp/etccopy/resmgr.conf'
    cp: omitting directory `/etc/resmgr.conf.d'
    `/etc/resolv.conf' -> `/tmp/etccopy/resolv.conf'
    `/etc/rmt' -> `/tmp/etccopy/rmt'
    `/etc/rpasswd.conf' -> `/tmp/etccopy/rpasswd.conf'
    `/etc/rpc' -> `/tmp/etccopy/rpc'
    `/etc/rsyncd.conf' -> `/tmp/etccopy/rsyncd.conf'
    `/etc/rsyncd.secrets' -> `/tmp/etccopy/rsyncd.secrets'
    cp: cannot open `/etc/rsyncd.secrets' for reading: Permission denied
    `/etc/scpm.users' -> `/tmp/etccopy/scpm.users'
    `/etc/screenrc' -> `/tmp/etccopy/screenrc'
    `/etc/scsi_id.config' -> `/tmp/etccopy/scsi_id.config'
    `/etc/securetty' -> `/tmp/etccopy/securetty'
    cp: omitting directory `/etc/security'
    `/etc/sensors.conf' -> `/tmp/etccopy/sensors.conf'
    `/etc/services' -> `/tmp/etccopy/services'
    cp: omitting directory `/etc/sgml'
    `/etc/shadow' -> `/tmp/etccopy/shadow'
    cp: cannot open `/etc/shadow' for reading: Permission denied
    `/etc/shadow.YaST2save' -> `/tmp/etccopy/shadow.YaST2save'
    cp: cannot open `/etc/shadow.YaST2save' for reading: Permission denied
    `/etc/shadow.old' -> `/tmp/etccopy/shadow.old'
    cp: cannot open `/etc/shadow.old' for reading: Permission denied
    `/etc/shells' -> `/tmp/etccopy/shells'
    cp: omitting directory `/etc/skel'
    `/etc/slp.conf' -> `/tmp/etccopy/slp.conf'
    `/etc/slp.reg' -> `/tmp/etccopy/slp.reg'
    cp: omitting directory `/etc/slp.reg.d'
    `/etc/slp.spi' -> `/tmp/etccopy/slp.spi'
    `/etc/slsh.rc' -> `/tmp/etccopy/slsh.rc'
    `/etc/smartd.conf' -> `/tmp/etccopy/smartd.conf'
    `/etc/smpppd-c.conf' -> `/tmp/etccopy/smpppd-c.conf'
    `/etc/smpppd.conf' -> `/tmp/etccopy/smpppd.conf'
    cp: cannot open `/etc/smpppd.conf' for reading: Permission denied
    cp: omitting directory `/etc/snmp'
    cp: omitting directory `/etc/ssh'
    cp: omitting directory `/etc/ssl'
    `/etc/sudoers' -> `/tmp/etccopy/sudoers'
    cp: cannot open `/etc/sudoers' for reading: Permission denied
    `/etc/suseRegister.conf' -> `/tmp/etccopy/suseRegister.conf'
    cp: omitting directory `/etc/susehelp.d'
    cp: omitting directory `/etc/sysconfig'
    `/etc/sysctl.conf' -> `/tmp/etccopy/sysctl.conf'
    cp: omitting directory `/etc/syslog-ng'
    `/etc/termcap' -> `/tmp/etccopy/termcap'
    `/etc/ttytype' -> `/tmp/etccopy/ttytype'
    cp: omitting directory `/etc/udev'
    `/etc/uniconf.conf' -> `/tmp/etccopy/uniconf.conf'
    cp: omitting directory `/etc/unixODBC'
    cp: omitting directory `/etc/uucp'
    `/etc/vimrc' -> `/tmp/etccopy/vimrc'
    `/etc/wgetrc' -> `/tmp/etccopy/wgetrc'
    `/etc/wvdial.conf' -> `/tmp/etccopy/wvdial.conf'
    cp: omitting directory `/etc/xdg'
    `/etc/xinetd.conf' -> `/tmp/etccopy/xinetd.conf'
    cp: omitting directory `/etc/xinetd.d'
    cp: omitting directory `/etc/xml'
    `/etc/xpdfrc' -> `/tmp/etccopy/xpdfrc'
    `/etc/xpdfrc-cjk' -> `/tmp/etccopy/xpdfrc-cjk'
    `/etc/xpdfrc-cjk-auto' -> `/tmp/etccopy/xpdfrc-cjk-auto'
    `/etc/xpdfrc-cjk.sjis' -> `/tmp/etccopy/xpdfrc-cjk.sjis'
    cp: omitting directory `/etc/xscreensaver'
    cp: omitting directory `/etc/zmd'
    `/etc/zshenv' -> `/tmp/etccopy/zshenv'
    `/etc/zshrc' -> `/tmp/etccopy/zshrc'
    
    |
    >
    243
    

    Статистика

    Время первой команды журнала15:35:58 2008- 3-12
    Время последней команды журнала15:57:33 2008- 3-12
    Количество командных строк в журнале15
    Процент команд с ненулевым кодом завершения, % 6.67
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 0.36
    Количество командных строк в единицу времени, команда/мин 0.69
    Частота использования команд
    cat10|=================================| 33.33%
    egrep6|====================| 20.00%
    cp4|=============| 13.33%
    less3|==========| 10.00%
    &2|======| 6.67%
    12|======| 6.67%
    wc1|===| 3.33%
    dirlist1|===| 3.33%
    w1|===| 3.33%
    ____
    *) Интервалы неактивности длительностью 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$