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

Содержание

Журнал

Понедельник (06/11/12)

20:57:28
#shutdown -h now

прошло >2 часов
/dev/hvc0
23:08:16
#ifocnfig
l3script: ifocnfig: команда не найдена
23:08:19
#ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:3e:0e:00:13
          inet addr:192.168.7.23  Bcast:192.168.7.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fe0e:13/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:924 (924.0 B)  TX bytes:2942 (2.8 KiB)
          Interrupt:247
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Вторник (06/26/12)

/dev/pts/0
18:12:42
#pwd
/root
18:12:48
#uname -a
Linux debian13 2.6.32-5-xen-686 #1 SMP Wed Mar 9 01:27:54 UTC 2011 i686 GNU/Linux
18:12:55
#bc
l3script: bc: команда не найдена
18:13:46
#which bc

18:13:49
#lang=C

18:13:53
#bc
l3script: bc: команда не найдена
18:14:01
#lang=C

18:14:08
#bc
l3script: bc: команда не найдена
18:14:17
#LANG=C

18:14:23
#bc
l3script: bc: command not found
18:14:26
#pwd
/root
18:14:29
#ls
install
18:14:29
#ls -ltr
total 8
-rwxr-xr-x 1 root root 5342 Jun 11 18:50 install
18:14:32
#apt-get install bc^C

18:14:41
#bc
l3script: bc: command not found
18:14:42
#apt-get install l3script
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package l3script
18:14:54
#apt-get update
Hit http://debian.org.ua squeeze Release.gpg
Ign http://debian.org.ua/debian/ squeeze/main Translation-en
Hit http://debian.org.ua squeeze Release
Hit http://debian.org.ua squeeze/main i386 Packages
Reading package lists... Done
18:15:06
#apt-get install l3script
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package l3script
18:15:31
#lynx
18:15:34
#lo
local       locale      locale-gen  localedef   logger      login       logname     logout      logrotate   logsave     look        lorder      losetup
18:15:34
#li
libnetcfg  line       link       linux32    linux64
18:15:34
#link
link: missing operand
Try `link --help' for more information.
18:15:54
#pwd
/root
18:15:57
#ls
install
18:15:59
#apt-get install l3script^C

18:16:23
#apt-get install bc
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  bc
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 104 kB of archives.
After this operation, 307 kB of additional disk space will be used.
Get:1 http://debian.org.ua/debian/ squeeze/main bc i386 1.06.95-2 [104 kB]
Fetched 104 kB in 0s (365 kB/s)
Selecting previously deselected package bc.
(Reading database ... 17570 files and directories currently installed.)
Unpacking bc (from .../archives/bc_1.06.95-2_i386.deb) ...
Processing triggers for install-info ...
Processing triggers for man-db ...
Setting up bc (1.06.95-2) ...
18:19:52
#apt-get install concalc
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
18:20:05
#apt-get install concalc
Reading package lists... Done
Building dependency tree
Reading state information... Done
concalc is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
18:20:15
#concalc 5-6
-1
18:20:25
#concalc 5/6
0.833333333333333333
18:20:31
#pwd
/root
18:21:54
#ls -ltr
total 8
-rwxr-xr-x 1 root root 5342 Jun 11 18:50 install
18:21:56
#pwd
/root
18:21:57
#ls
install
18:21:58
#ls -ltr
total 8
-rwxr-xr-x 1 root root 5342 Jun 11 18:50 install
18:22:57
#pwd
/root
18:22:58
#ls -ltr
total 8
-rwxr-xr-x 1 root root 5342 Jun 11 18:50 install
18:23:08
#pwd
/root
18:25:22
#ls
install
18:25:23
#ls -ltr
total 8
-rwxr-xr-x 1 root root 5342 Jun 11 18:50 install
18:25:24
#ls ?????
ls: cannot access ?????: No such file or directory
18:25:34
#ls ??????
ls: cannot access ??????: No such file or directory
18:25:40
#ls ???????
install
18:25:50
#echo *
install
18:28:08
#ls -ltr
total 8
-rwxr-xr-x 1 root root 5342 Jun 11 18:50 install
18:28:19
#touch temp

18:28:22
#touch OMG

18:28:27
#TYPE
l3script: TYPE: command not found
18:28:29
#touch type

18:28:34
#ls -ltr
total 8
-rwxr-xr-x 1 root root 5342 Jun 11 18:50 install
-rw-r--r-- 1 root root    0 Jun 26 16:28 temp
-rw-r--r-- 1 root root    0 Jun 26 16:28 OMG
-rw-r--r-- 1 root root    0 Jun 26 16:28 type
18:28:34
#ls
OMG  install  temp  type
18:28:37
#echo *
OMG install temp type
18:28:40
#ls -a
.  ..  .bash_history  .bash_profile  .bashrc  .concalcvariables  .l3rc  .lilalo  .profile  .ssh  .viminfo  OMG  install  temp  type
18:28:51
#echo .*
. .. .bash_history .bash_profile .bashrc .concalcvariables .l3rc .lilalo .profile .ssh .viminfo
18:29:14
#echo [.]*
[.]*
18:29:48
#echo [.,^.]
[.,^.]
18:30:10
#echo .?*
.. .bash_history .bash_profile .bashrc .concalcvariables .l3rc .lilalo .profile .ssh .viminfo
18:30:30
#echo .*
. .. .bash_history .bash_profile .bashrc .concalcvariables .l3rc .lilalo .profile .ssh .viminfo
18:30:46
#echo * .[^.]*
OMG install temp type .bash_history .bash_profile .bashrc .concalcvariables .l3rc .lilalo .profile .ssh .viminfo
18:33:19
#bash
root@debian13:~# echo $0
bash
root@debian13:~# exit
18:33:36
#echp $0
l3script: echp: command not found
18:33:41
#echo * .[^.]*
OMG install temp type .bash_history .bash_profile .bashrc .concalcvariables .l3rc .lilalo .profile .ssh .viminfo
18:33:48
#echo $0
l3script
18:33:56
#bash
root@debian13:~# pwd
/root
root@debian13:~# pwd\
> ^C
root@debian13:~# cd /
root@debian13:/# uname -a
Linux debian13 2.6.32-5-xen-686 #1 SMP Wed Mar 9 01:27:54 UTC 2011 i686 GNU/Linux
root@debian13:/# pwd
/
root@debian13:/# ls
...
root@debian0:~#
root@debian0:~#
root@debian0:~#
Display all 799 possibilities? (y or n)
root@debian0:~# ^C
root@debian0:~# xit
[screen is terminating]
root@debian0:~# logout
Connection to 192.168.7.10 closed.
root@debian13:/tmp# exit

Статистика

Время первой команды журнала20:57:28 2012- 6-11
Время последней команды журнала18:33:56 2012- 6-26
Количество командных строк в журнале67
Процент команд с ненулевым кодом завершения, %10.45
Процент синтаксически неверно набранных команд, %16.42
Суммарное время работы с терминалом *, час 0.35
Количество командных строк в единицу времени, команда/мин 3.15
Частота использования команд
ls16|=======================| 23.88%
echo10|==============| 14.93%
apt-get8|===========| 11.94%
pwd7|==========| 10.45%
bc5|=======| 7.46%
touch3|====| 4.48%
bash2|==| 2.99%
lang=C2|==| 2.99%
concalc2|==| 2.99%
ifconfig1|=| 1.49%
li1|=| 1.49%
ifocnfig1|=| 1.49%
TYPE1|=| 1.49%
link1|=| 1.49%
lo1|=| 1.49%
lynx1|=| 1.49%
shutdown1|=| 1.49%
echp1|=| 1.49%
which1|=| 1.49%
uname1|=| 1.49%
LANG=C1|=| 1.49%
____
*) Интервалы неактивности длительностью 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$