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

Содержание

Журнал

Вторник (03/27/12)

/dev/ttyq4
19:24:26
#exit

/dev/ttyq8
19:24:26
#exit

/dev/ttyqj
19:24:26
#exit

/dev/ttypj
19:24:26
#exit

/dev/ttyp8
19:24:26
#exit

/dev/ttyqo
19:24:26
#exit

/dev/ttyqk
19:24:26
#exit

/dev/ttyq5
19:24:26
#exit

/dev/ttyp9
19:24:26
#exit

/dev/ttyrd
19:24:26
#exit

/dev/ttypu
19:24:26
#exit

/dev/ttype
19:24:26
#exit

/dev/ttyq7
19:24:26
#exit

/dev/ttyr9
19:24:26
#exit

/dev/ttyr1
19:24:26
#exit

/dev/ttypn
19:24:26
#exit

/dev/ttypv
19:24:26
#exit

/dev/ttyr5
19:24:26
#exit

/dev/ttypt
19:24:26
#exit

/dev/ttyr3
19:24:26
#exit

/dev/ttyr8
19:24:26
#exit

/dev/ttyqs
19:24:26
#exit

/dev/ttyph
19:24:26
#exit

/dev/ttypb
19:24:26
#exit

/dev/ttyr6
19:24:26
#exit

/dev/ttyp2
19:24:26
#exit

/dev/ttyql
19:24:26
#exit

/dev/ttyre
19:24:26
#exit

/dev/ttypr
19:24:26
#exit

/dev/ttyq0
19:24:26
#exit

/dev/ttypf
19:24:26
#exit

/dev/ttypo
19:24:26
#exit

/dev/ttyqb
19:24:26
#exit

/dev/ttypm
19:24:26
#exit

/dev/ttyq6
19:24:26
#exit

/dev/ttyqa
19:24:26
#exit

/dev/ttyrc
19:24:26
#exit

/dev/ttyr2
19:24:26
#exit

/dev/ttyra
19:24:26
#exit

/dev/ttyqd
19:24:26
#exit

/dev/ttyq2
19:24:26
#exit

/dev/ttyqr
19:24:26
#exit

/dev/ttyrf
19:24:26
#exit

/dev/ttyr0
19:24:26
#exit

/dev/ttyqf
19:24:26
#exit

/dev/ttyqh
19:24:26
#exit

/dev/ttypk
19:24:26
#exit

/dev/ttypa
19:24:26
#exit

/dev/ttyp0
19:28:49
#mv /tmp /etc/passwd^C

19:28:55
#cat /etc/passwd | sort | tee sorted_passwd | less
19:31:28
#pwd
/root
19:33:31
#cp -v /etc/* /tmp/etccopy 2>$1 > /tmp/dirlist
bash: $1: ambiguous redirect
19:34:38
#cp -v /etc/* /tmp/etccopy > /tmp/dirlist 2>&1

19:35:29
#rm /tmp/dirlist

19:36:12
#cp -v /etc/* /tmp/etccopy 2>$1 > /tmp/dirlist
bash: $1: ambiguous redirect
19:36:16
#cat /tmp/dirlist
cat: /tmp/dirlist: No such file or directory

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

/dev/ttyp0
11:18:26
#vim .viminfo
11:18:31
#:q!
"syntax on
syntax on
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
".exrc" 4 lines, 53 characters written
11:18:49
#vim .exrc
11:18:54
#~
set hlsea
syntax onn
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
".exrc" 4 lines, 52 characters written
прошло 19 минут
/dev/ttyp0
11:38:36
#clear

11:38:38
#vim /etc/profile
11:47:17
#~
bin     etc     include info    lib     libdata libexec man     sbin    share   www
11:47:34
#ls /usr/local/etc/
bash_completion         gtk-2.0                 rc.d
bash_completion.d       man.d                   screenrc
devd                    pam.d                   xml2Conf.sh
fonts                   pango                   xsltConf.sh
11:47:51
#history
    5  info
    6  ls /usr/share/man
    7  man cd
    8  cd ~
    9  pwd
   10  cd
   11  cd /etc
   12  cd
   13  pwd
   14  cd /home/user/
...
  495  vim .viminfo
  496  vim .exrc
  497  vim .exrc
  498  vim .exrc
  499  exit
  500  clear
  501  vim /etc/profile
  502  ls /usr/local/
  503  ls /usr/local/etc/
  504  history
11:53:33
#history 444
   62  cat /usr/test/file -n
   63  cat -n /usr/test/file
   64  cat -nsb /usr/test/file
   65  cat -nb /usr/test/file
   66  cat -b /usr/test/file
   67  cat -b /usr/test/file
   68  tac -b /usr/test/file
   69  tac -n /usr/test/file
   70  tac -n /usr/test/file
   71  more
...
  496  vim .exrc
  497  vim .exrc
  498  vim .exrc
  499  exit
  500  clear
  501  vim /etc/profile
  502  ls /usr/local/
  503  ls /usr/local/etc/
  504  history
  505  history 444
11:53:55
#history $44
  463  cp .exrc .vimrc
  464  cd laba
  465  ls
  466  vim newfile
  467  vim .exrc
  468  vim ~.exrc
  469  cd
  470  vim .exrc
  471  vim ~/laba/newfile
  472  ~
...
  497  vim .exrc
  498  vim .exrc
  499  exit
  500  clear
  501  vim /etc/profile
  502  ls /usr/local/
  503  ls /usr/local/etc/
  504  history
  505  history 444
  506  history $444
11:54:01
#history 444
   64  cat -nsb /usr/test/file
   65  cat -nb /usr/test/file
   66  cat -b /usr/test/file
   67  cat -b /usr/test/file
   68  tac -b /usr/test/file
   69  tac -n /usr/test/file
   70  tac -n /usr/test/file
   71  more
   72  more /etc/init.d/rc
   73  less /etc/inittab
...
  498  vim .exrc
  499  exit
  500  clear
  501  vim /etc/profile
  502  ls /usr/local/
  503  ls /usr/local/etc/
  504  history
  505  history 444
  506  history $444
  507  history 444
прошло 17 минут
/dev/ttyp0
12:11:51
#egrep
Usage: egrep [OPTION]... PATTERN [FILE]...
Try `egrep --help' for more information.
прошла 21 минута
12:32:51
#fgrep
Usage: fgrep [OPTION]... PATTERN [FILE]...
Try `fgrep --help' for more information.
12:32:54
#grep
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
12:32:58
#awk
usage: awk [-F fs] [-v var=value] [-f progfile | 'prog'] [file ...]
прошло 36 минут
13:09:32
#tr
usage: tr [-Ccsu] string1 string2
       tr [-Ccu] -d string1
       tr [-Ccu] -s string1
       tr [-Ccu] -ds string1 string2
13:09:34
#sed
^C
13:09:41
#sed
^C
прошло 87 минут
/dev/ttyp0
14:37:13
#ls /usr/libexec/locate.upda
ls: /usr/libexec/locate.upda: No such file or directory
14:37:13
#ls /usr/libexec/locate.upda
ls: /usr/libexec/locate.upda: No such file or directory
14:37:13
#ls /usr/libexec/locate.upda
ls: /usr/libexec/locate.upda: No such file or directory
14:37:13
#ls /usr/libexec/locate.upda
ls: /usr/libexec/locate.upda: No such file or directory
14:37:13
#ls /usr/libexec/locate.upda
ls: /usr/libexec/locate.upda: No such file or directory
14:37:40
#ls /usr/libexec/
atrun                   lint2                   rpc.rquotad
bootpd                  locate.bigram           rpc.rstatd
bootpgw                 locate.code             rpc.rusersd
catman.local            locate.concatdb         rpc.rwalld
cc1                     locate.mklocatedb       rpc.sprayd
cc1obj                  locate.updatedb         rshd
cc1plus                 lpr                     save-entropy
comsat                  lukemftpd               sendmail
fingerd                 mail.local              sftp-server
ftpd                    make_index              sm.bin
getty                   makekey                 smrsh
hprop                   makewhatis.local        ssh-keysign
hpropd                  mknetid                 tcpd
ipropd-master           ntalkd                  telnetd
ipropd-slave            phttpget                tftp-proxy
kadmind                 pppoed                  tftpd
kdc                     pt_chown                vfontedpr
kpasswdd                rbootd                  yppwupdate
ld-elf.so.1             revnetgroup             ypxfr
lint1                   rlogind
14:37:40
#ls /usr/libexec/
atrun                   lint2                   rpc.rquotad
bootpd                  locate.bigram           rpc.rstatd
bootpgw                 locate.code             rpc.rusersd
catman.local            locate.concatdb         rpc.rwalld
cc1                     locate.mklocatedb       rpc.sprayd
cc1obj                  locate.updatedb         rshd
cc1plus                 lpr                     save-entropy
comsat                  lukemftpd               sendmail
fingerd                 mail.local              sftp-server
ftpd                    make_index              sm.bin
getty                   makekey                 smrsh
hprop                   makewhatis.local        ssh-keysign
hpropd                  mknetid                 tcpd
ipropd-master           ntalkd                  telnetd
ipropd-slave            phttpget                tftp-proxy
kadmind                 pppoed                  tftpd
kdc                     pt_chown                vfontedpr
kpasswdd                rbootd                  yppwupdate
ld-elf.so.1             revnetgroup             ypxfr
lint1                   rlogind
14:37:40
#ls /usr/libexec/
atrun                   lint2                   rpc.rquotad
bootpd                  locate.bigram           rpc.rstatd
bootpgw                 locate.code             rpc.rusersd
catman.local            locate.concatdb         rpc.rwalld
cc1                     locate.mklocatedb       rpc.sprayd
cc1obj                  locate.updatedb         rshd
cc1plus                 lpr                     save-entropy
comsat                  lukemftpd               sendmail
fingerd                 mail.local              sftp-server
ftpd                    make_index              sm.bin
getty                   makekey                 smrsh
hprop                   makewhatis.local        ssh-keysign
hpropd                  mknetid                 tcpd
ipropd-master           ntalkd                  telnetd
ipropd-slave            phttpget                tftp-proxy
kadmind                 pppoed                  tftpd
kdc                     pt_chown                vfontedpr
kpasswdd                rbootd                  yppwupdate
ld-elf.so.1             revnetgroup             ypxfr
lint1                   rlogind
14:37:40
#ls /usr/libexec/
atrun                   lint2                   rpc.rquotad
bootpd                  locate.bigram           rpc.rstatd
bootpgw                 locate.code             rpc.rusersd
catman.local            locate.concatdb         rpc.rwalld
cc1                     locate.mklocatedb       rpc.sprayd
cc1obj                  locate.updatedb         rshd
cc1plus                 lpr                     save-entropy
comsat                  lukemftpd               sendmail
fingerd                 mail.local              sftp-server
ftpd                    make_index              sm.bin
getty                   makekey                 smrsh
hprop                   makewhatis.local        ssh-keysign
hpropd                  mknetid                 tcpd
ipropd-master           ntalkd                  telnetd
ipropd-slave            phttpget                tftp-proxy
kadmind                 pppoed                  tftpd
kdc                     pt_chown                vfontedpr
kpasswdd                rbootd                  yppwupdate
ld-elf.so.1             revnetgroup             ypxfr
lint1                   rlogind
14:37:40
#ls /usr/libexec/
atrun                   lint2                   rpc.rquotad
bootpd                  locate.bigram           rpc.rstatd
bootpgw                 locate.code             rpc.rusersd
catman.local            locate.concatdb         rpc.rwalld
cc1                     locate.mklocatedb       rpc.sprayd
cc1obj                  locate.updatedb         rshd
cc1plus                 lpr                     save-entropy
comsat                  lukemftpd               sendmail
fingerd                 mail.local              sftp-server
ftpd                    make_index              sm.bin
getty                   makekey                 smrsh
hprop                   makewhatis.local        ssh-keysign
hpropd                  mknetid                 tcpd
ipropd-master           ntalkd                  telnetd
ipropd-slave            phttpget                tftp-proxy
kadmind                 pppoed                  tftpd
kdc                     pt_chown                vfontedpr
kpasswdd                rbootd                  yppwupdate
ld-elf.so.1             revnetgroup             ypxfr
lint1                   rlogind
14:37:47
#whereis
usage: whereis [-abmqsux] [-BMS dir ... -f] program ...
14:37:47
#whereis
usage: whereis [-abmqsux] [-BMS dir ... -f] program ...
14:37:47
#whereis
usage: whereis [-abmqsux] [-BMS dir ... -f] program ...
14:37:47
#whereis
usage: whereis [-abmqsux] [-BMS dir ... -f] program ...
14:37:47
#whereis
usage: whereis [-abmqsux] [-BMS dir ... -f] program ...
14:39:49
#man eis
14:39:49
#man eis
14:39:49
#man eis
14:39:49
#man eis
14:39:49
#man eis
14:40:00
#man locate
14:40:00
#man locate
14:40:00
#man locate
14:40:00
#man locate
14:40:00
#man locate
14:40:11
#find / -name find\*
/usr/bin/find
/usr/include/c++/4.2/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
/usr/include/c++/4.2/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
/usr/include/c++/4.2/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
/usr/include/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
/usr/include/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
/usr/include/c++/4.2/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
/usr/include/c++/4.2/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
/usr/include/c++/4.2/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
/usr/include/c++/4.2/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
/usr/include/c++/4.2/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
/usr/include/c++/4.2/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
/usr/include/c++/4.2/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
/usr/include/c++/4.2/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
/usr/include/c++/4.2/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
/usr/local/bin/find2perl
/usr/local/etc/bash_completion.d/findutils
/usr/local/lib/perl5/5.10.1/find.pl
/usr/local/lib/perl5/5.10.1/finddepth.pl
/usr/local/man/man1/find2perl.1.gz
^C

Статистика

Время первой команды журнала19:24:26 2012- 3-27
Время последней команды журнала14:40:11 2012- 3-28
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %18.81
Процент синтаксически неверно набранных команд, %47.52
Суммарное время работы с терминалом *, час 1.49
Количество командных строк в единицу времени, команда/мин 1.13
Частота использования команд
exit48|===========================================| 43.24%
ls11|=========| 9.91%
man10|=========| 9.01%
whereis5|====| 4.50%
history4|===| 3.60%
cp3|==| 2.70%
vim3|==| 2.70%
dirlist3|==| 2.70%
cat2|=| 1.80%
sed2|=| 1.80%
~2|=| 1.80%
$12|=| 1.80%
egrep1|| 0.90%
&1|| 0.90%
awk1|| 0.90%
pwd1|| 0.90%
sort1|| 0.90%
:q!1|| 0.90%
rm1|| 0.90%
fgrep1|| 0.90%
less1|| 0.90%
11|| 0.90%
grep1|| 0.90%
find1|| 0.90%
mv1|| 0.90%
clear1|| 0.90%
tee1|| 0.90%
tr1|| 0.90%
____
*) Интервалы неактивности длительностью 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$