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

Содержание

Журнал

Понедельник (04/08/13)

/dev/pts/2
11:57:53
#cd/:
l3script: cd/:: Нет такого файла или каталога
прошло 20 минут
12:18:34
#/.
l3script: /.: является директорией
12:18:48
#ls

12:19:21
#cd~:
l3script: cd~:: команда не найдена
12:19:37
#cd ~:
l3script: cd: /root:: Нет такого файла или каталога
12:19:50
#man cd
12:19:57
#man ls
12:22:11
#man ls~
12:22:19
#man ls
12:23:03
#ls

12:23:08
#dir

12:23:15
#ls user
ls: невозможно получить доступ к user: Нет такого файла или каталога
12:23:30
#ls -lf
.  .l3rc  .bash_history  .bashrc  ..  .profile  .bash_profile  .lilalo  .aptitude  .viminfo
12:23:46
#ls -alf
.  .l3rc  .bash_history  .bashrc  ..  .profile  .bash_profile  .lilalo  .aptitude  .viminfo
12:24:03
#cd /usr/share/doc

12:24:28
#ls
acpi                    geoip-database               libfreetype6            libtext-charwidth-perl            os-prober
acpid                   gettext-base                 libgc1c2                libtext-iconv-perl                parted
acpi-support-base       gnupg                        libgcc1                 libtext-wrapi18n-perl             passwd
adduser                 gpgv                         libgcrypt11             libtimedate-perl                  patch
anacron                 grep                         libgdbm3                libtokyocabinet8                  pciutils
apt                     groff-base                   libgeoip1               libudev0                          pcmciautils
aptitude                grub-common                  libgmp3c2               libusb-0.1-4                      perl
apt-listchanges         grub-pc                      libgnutls26             libuuid1                          perl-base
apt-utils               gzip                         libgomp1                libuuid-perl                      perl-modules
aspell                  host                         libgpg-error0           libwrap0                          portmap
...
FAQ                     libdns69                     libsm6                  netdiag                           x11-common
file                    libdpkg-perl                 libsqlite3-0            net-tools                         xauth
findutils               libedit2                     libss2                  nfs-common                        xkb-data
fontconfig-config       libept1                      libssh2-1               nmap                              xml-core
ftp                     libevent-1.4-2               libssl0.9.8             openbsd-inetd                     xz-utils
g++                     libexpat1                    libstdc++6              openssh-blacklist                 zlib1g
g++-4.4                 libextutils-cbuilder-perl    libstdc++6-4.4-dev      openssh-blacklist-extra           zlib1g-dev
gcc                     libextutils-parsexs-perl     libsysfs2               openssh-client
gcc-4.4                 libfile-copy-recursive-perl  libtasn1-3              openssh-server
gcc-4.4-base            libfontconfig1               libterm-readkey-perl    openssl
12:24:35
#cd bash

12:25:20
#ls
changelog.Debian.gz  COMPAT.gz  FAQ             INTRO.gz  POSIX.gz          README.bash_completion.gz  README.Debian.gz
CHANGES.gz           copyright  inputrc.arrows  NEWS.gz   README.abs-guide  README.commands.gz
12:25:32
#cd handbook
l3script: cd: handbook: Нет такого файла или каталога
12:26:09
#cd ..

12:26:39
#cd/:
l3script: cd/:: Нет такого файла или каталога
12:27:06
#pwd
/usr/share/doc
12:27:17
#ls
acpi                    geoip-database               libfreetype6            libtext-charwidth-perl            os-prober
acpid                   gettext-base                 libgc1c2                libtext-iconv-perl                parted
acpi-support-base       gnupg                        libgcc1                 libtext-wrapi18n-perl             passwd
adduser                 gpgv                         libgcrypt11             libtimedate-perl                  patch
anacron                 grep                         libgdbm3                libtokyocabinet8                  pciutils
apt                     groff-base                   libgeoip1               libudev0                          pcmciautils
aptitude                grub-common                  libgmp3c2               libusb-0.1-4                      perl
apt-listchanges         grub-pc                      libgnutls26             libuuid1                          perl-base
apt-utils               gzip                         libgomp1                libuuid-perl                      perl-modules
aspell                  host                         libgpg-error0           libwrap0                          portmap
...
FAQ                     libdns69                     libsm6                  netdiag                           x11-common
file                    libdpkg-perl                 libsqlite3-0            net-tools                         xauth
findutils               libedit2                     libss2                  nfs-common                        xkb-data
fontconfig-config       libept1                      libssh2-1               nmap                              xml-core
ftp                     libevent-1.4-2               libssl0.9.8             openbsd-inetd                     xz-utils
g++                     libexpat1                    libstdc++6              openssh-blacklist                 zlib1g
g++-4.4                 libextutils-cbuilder-perl    libstdc++6-4.4-dev      openssh-blacklist-extra           zlib1g-dev
gcc                     libextutils-parsexs-perl     libsysfs2               openssh-client
gcc-4.4                 libfile-copy-recursive-perl  libtasn1-3              openssh-server
gcc-4.4-base            libfontconfig1               libterm-readkey-perl    openssl
12:27:50
#ls -a
.                       gcc-4.4                    libfile-copy-recursive-perl  libtasn1-3                        openssh-server
..                      gcc-4.4-base               libfontconfig1               libterm-readkey-perl              openssl
acpi                    geoip-database             libfreetype6                 libtext-charwidth-perl            os-prober
acpid                   gettext-base               libgc1c2                     libtext-iconv-perl                parted
acpi-support-base       gnupg                      libgcc1                      libtext-wrapi18n-perl             passwd
adduser                 gpgv                       libgcrypt11                  libtimedate-perl                  patch
anacron                 grep                       libgdbm3                     libtokyocabinet8                  pciutils
apt                     groff-base                 libgeoip1                    libudev0                          pcmciautils
aptitude                grub-common                libgmp3c2                    libusb-0.1-4                      perl
apt-listchanges         grub-pc                    libgnutls26                  libuuid1                          perl-base
...
exim4-daemon-light      libdevmapper1.02.1         libsigc++-2.0-0c2a           netcat                            whois
fakeroot                libdiscover2               libslang2                    netcat-traditional                x11-apps
FAQ                     libdns69                   libsm6                       netdiag                           x11-common
file                    libdpkg-perl               libsqlite3-0                 net-tools                         xauth
findutils               libedit2                   libss2                       nfs-common                        xkb-data
fontconfig-config       libept1                    libssh2-1                    nmap                              xml-core
ftp                     libevent-1.4-2             libssl0.9.8                  openbsd-inetd                     xz-utils
g++                     libexpat1                  libstdc++6                   openssh-blacklist                 zlib1g
g++-4.4                 libextutils-cbuilder-perl  libstdc++6-4.4-dev           openssh-blacklist-extra           zlib1g-dev
gcc                     libextutils-parsexs-perl   libsysfs2                    openssh-client
12:28:52
#cd /usr/share/doc

прошло >2 часов
14:59:10
#cd bash

14:59:28
#mkdir source doc pics

15:00:05
#ls
changelog.Debian.gz  doc             NEWS.gz           README.bash_completion.gz
CHANGES.gz           FAQ             pics              README.commands.gz
COMPAT.gz            inputrc.arrows  POSIX.gz          README.Debian.gz
copyright            INTRO.gz        README.abs-guide  source
15:00:10
#ls -a
.                    COMPAT.gz  inputrc.arrows  POSIX.gz                   README.Debian.gz
..                   copyright  INTRO.gz        README.abs-guide           source
changelog.Debian.gz  doc        NEWS.gz         README.bash_completion.gz
CHANGES.gz           FAQ        pics            README.commands.gz
15:00:20
#cd coc
l3script: cd: coc: Нет такого файла или каталога
15:00:55
#cd doc

15:01:03
#cd /usr/share/doc

15:06:06
#dir
acpi                       libc6-dev                    libxmu6
acpid                      libc6-i686                   libxmuu1
acpi-support-base          libcap2                      libxpm4
adduser                    libc-bin                     libxrender1
anacron                    libc-dev-bin                 libxt6
apt                        libcomerr2                   libyaml-perl
aptitude                   libcurl3                     libyaml-syck-perl
apt-listchanges            libcurses-perl               links
apt-utils                  libcurses-ui-perl            linux-base
aspell                     libcwidget3                  linux-image-2.6.39-bpo.2-686-pae
...
libalgorithm-merge-perl    libxau6                      whois
libarchive-zip-perl        libxaw7                      x11-apps
libaspell15                libxcb1                      x11-common
libattr1                   libxcursor1                  xauth
libbind9-60                libxdmcp6                    xkb-data
libblkid1                  libxext6                     xml-core
libboost-iostreams1.42.0   libxfixes3                   xz-utils
libbsd0                    libxft2                      zlib1g
libbz2-1.0                 libxkbfile1                  zlib1g-dev
libc6                      libxml2
15:06:12
#cd ..

15:06:24
#dir
acpi-support     debconf              i18n                 nano            reportbug
adduser          debhelper            ifupdown             ncat            sgml
applications     debianutils          info                 nfs-common      sgml-base
apps             dict                 initramfs-tools      nmap            ssh
aptitude         dictd                initrd-tools         opendict        sysvinit
apt-listchanges  dictionaries-common  initscripts          os-prober       sysv-rc
aspell           discover             insserv              pam             tabset
base-files       doc                  installation-report  pam-configs     tasksel
base-passwd      doc-base             iptables             perl            terminfo
binfmts          dpkg                 java                 perl5           texinfo
bsd-mailx        e2fsprogs            keyrings             pixmaps         texmf
bug              emacs                konwert              pkgconfig       tools
build-essential  exim4                lintian              ppp             vim
ca-certificates  file                 locale               pycentral-data  w3m
calendar         fonts                man                  pyshared        X11
common-licenses  GeoIP                man8                 python          xml
consolefonts     gnupg                man-db               python-apt      xml-core
console-setup    groff                menu                 python-support  zoneinfo
consoletrans     grub                 misc                 readline
15:06:29
#mkkdir test
l3script: mkkdir: команда не найдена
15:07:17
#mkdir test

15:07:28
#cd test

15:07:34
#cd testdoc source pics
l3script: cd: testdoc: Нет такого файла или каталога
15:07:49
#mkdir doc source pics

15:08:21
#ls
doc  pics  source
15:08:35
#mkdir -p doc/scripting /perl,doc/scripting/pyton

15:15:13
#ls
doc  pics  source
15:15:18
#cd doc

15:15:22
#ls
scripting
15:15:29
#cd scripting

15:15:46
#ls

15:15:49
#dir

15:15:58
#cd ..

15:16:31
#mkdir -p scripting/perl scripting/pyton

15:17:31
#cd ..

15:18:38
#dir
scripting
15:18:46
#cd ..

15:18:55
#mkdir -p c pics/forweb/info/2002/summer

15:20:21
#ls
c  doc  pics  source
15:20:29
#cd pics

15:20:37
#cd forweb

15:20:53
#cd info

15:21:08
#cd 2002

15:21:18
#cd summer

15:21:25
#dir

15:21:28
#cd /user/share/test
l3script: cd: /user/share/test: Нет такого файла или каталога
15:22:04
#fwd
l3script: fwd: команда не найдена
15:22:29
#pwd
/usr/share/test/pics/forweb/info/2002/summer
15:22:37
#cd /usr/share/test

15:22:59
#touch a b c

15:25:06
#ls
a  b  c  doc  pics  source
15:25:11
#ls -l
итого 16
-rw-r--r-- 1 root root    0 Апр  8 16:25 a
-rw-r--r-- 1 root root    0 Апр  8 16:25 b
drwxr-xr-x 2 root root 4096 Апр  8 16:25 c
drwxr-xr-x 3 root root 4096 Апр  8 16:15 doc
drwxr-xr-x 3 root root 4096 Апр  8 16:20 pics
drwxr-xr-x 2 root root 4096 Апр  8 16:08 source
15:27:40
#rmdir -p doc
rmdir: не удалось удалить «doc»: Каталог не пуст
15:27:57
#rmdir -r doc
rmdir: неверный ключ -- r
Попробуйте `rmdir --help' для получения более подробного описания.
15:28:09
#rm -r doc

15:28:24
#ls
a  b  source
15:28:29
#ls -l
итого 4
-rw-r--r-- 1 root root    0 Апр  8 16:25 a
-rw-r--r-- 1 root root    0 Апр  8 16:25 b
drwxr-xr-x 2 root root 4096 Апр  8 16:08 source
15:28:36
#mkdir ddd bbb

15:30:06
#cd ..

15:30:14
#rmdir -pi bbb
rmdir: неверный ключ -- i
Попробуйте `rmdir --help' для получения более подробного описания.
15:30:51
#rmdir -pv bbb
rmdir: удаление каталога, «bbb»
15:31:17
#rmdir -pv ddd
rmdir: удаление каталога, «ddd»
rmdir: не удалось удалить «ddd»: Каталог не пуст
15:31:29
#rm -rvi ddd
rm: спуститься в каталог «ddd»? y
rm: удалить пустой обычный файл «ddd/a»? y
удалён «ddd/a»
rm: удалить пустой обычный файл «ddd/c»? y
удалён «ddd/c»
rm: удалить пустой обычный файл «ddd/b»? y
удалён «ddd/b»
rm: удалить каталог «ddd»? y
удален каталог: «ddd»
15:32:18
#cd~
l3script: cd~: команда не найдена
15:33:25
#cd ~

15:33:33
#pwd
/root
15:34:07
#dir

15:34:14
#ls

15:34:21
#cd root
l3script: cd: root: Нет такого файла или каталога
15:34:29
#cd usr/test
l3script: cd: usr/test: Нет такого файла или каталога
15:34:46
#cd /usr/test
l3script: cd: /usr/test: Нет такого файла или каталога
15:35:05
#cd /usr/share/test

15:35:46
#dir
a  b  source
15:35:52
#mkdir 22 33 44

15:36:25
#cd 22

15:36:45
#touch a b c d

15:36:57
#ls
a  b  c  d
15:37:03
#cd ..

15:37:14
#cp ~/22/a /33
cp: невозможно выполнить stat для «/root/22/a»: Нет такого файла или каталога
15:38:42
#cp /22/a /33
cp: невозможно выполнить stat для «/22/a»: Нет такого файла или каталога
15:39:01
#cd 22

15:39:11
#cp a /33

15:39:30
#cd ..

15:39:39
#cd 33

Статистика

Время первой команды журнала11:57:53 2013- 4- 8
Время последней команды журнала15:39:39 2013- 4- 8
Количество командных строк в журнале100
Процент команд с ненулевым кодом завершения, %18.00
Процент синтаксически неверно набранных команд, % 6.00
Суммарное время работы с терминалом *, час 1.19
Количество командных строк в единицу времени, команда/мин 1.40
Частота использования команд
cd36|====================================| 36.00%
ls22|======================| 22.00%
mkdir8|========| 8.00%
dir8|========| 8.00%
rmdir5|=====| 5.00%
man4|====| 4.00%
pwd3|===| 3.00%
cp3|===| 3.00%
touch2|==| 2.00%
:2|==| 2.00%
rm2|==| 2.00%
cd~1|=| 1.00%
fwd1|=| 1.00%
cd~:1|=| 1.00%
/.1|=| 1.00%
mkkdir1|=| 1.00%
____
*) Интервалы неактивности длительностью 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$