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

Содержание

Журнал

Вторник (03/11/08)

/dev/ttyp3
15:36:43
#ls
[root@fbsd4:tmp]# mkdir 1 2 3
.ICE-unix                       .snap
.X0-lock                        .xorg.conf6318
.X1-lock                        .xorg.conf6321
.X11-unix                       1
.XIM-unix                       2
.Xauth4j1eJJ                    3
.Xauth5MNp1A                    fam-user
.XauthVnvJcs                    grub-install.log.10372
.XauthWZCDmQ                    grub-install.log.8872
.XauthiEK9wY                    grub-install.log.9047
.XauthjJ4f1W                    grub-install.log.9221
.XauthjbfPhl                    install.cfg
.Xauthv3Drb2                    lab2
.XauthyYIU3v                    lilalo-install-temp-10315
.XauthzGCIuz                    mfsroot.gz
.font-unix                      patchrHcY96i
.gdm_socket
15:36:43
#ls
.ICE-unix                       .snap
.X0-lock                        .xorg.conf6318
.X1-lock                        .xorg.conf6321
.X11-unix                       1
.XIM-unix                       2
.Xauth4j1eJJ                    3
.Xauth5MNp1A                    fam-user
.XauthVnvJcs                    grub-install.log.10372
.XauthWZCDmQ                    grub-install.log.8872
.XauthiEK9wY                    grub-install.log.9047
.XauthjJ4f1W                    grub-install.log.9221
.XauthjbfPhl                    install.cfg
.Xauthv3Drb2                    lab2
.XauthyYIU3v                    lilalo-install-temp-10315
.XauthzGCIuz                    mfsroot.gz
.font-unix                      patchrHcY96i
.gdm_socket
15:36:45
#rmdir 1 2 3

15:37:05
#ls
[root@fbsd4:tmp]# rmdir 1 2 3
.ICE-unix                       .font-unix
.X0-lock                        .gdm_socket
.X1-lock                        .snap
.X11-unix                       .xorg.conf6318
.XIM-unix                       .xorg.conf6321
.Xauth4j1eJJ                    fam-user
.Xauth5MNp1A                    grub-install.log.10372
.XauthVnvJcs                    grub-install.log.8872
.XauthWZCDmQ                    grub-install.log.9047
.XauthiEK9wY                    grub-install.log.9221
.XauthjJ4f1W                    install.cfg
.XauthjbfPhl                    lab2
.Xauthv3Drb2                    lilalo-install-temp-10315
.XauthyYIU3v                    mfsroot.gz
.XauthzGCIuz                    patchrHcY96i
15:37:05
#ls
.ICE-unix                       .font-unix
.X0-lock                        .gdm_socket
.X1-lock                        .snap
.X11-unix                       .xorg.conf6318
.XIM-unix                       .xorg.conf6321
.Xauth4j1eJJ                    fam-user
.Xauth5MNp1A                    grub-install.log.10372
.XauthVnvJcs                    grub-install.log.8872
.XauthWZCDmQ                    grub-install.log.9047
.XauthiEK9wY                    grub-install.log.9221
.XauthjJ4f1W                    install.cfg
.XauthjbfPhl                    lab2
.Xauthv3Drb2                    lilalo-install-temp-10315
.XauthyYIU3v                    mfsroot.gz
.XauthzGCIuz                    patchrHcY96i
15:37:07
#cd lab2

15:37:07
#cd lab2

15:37:11
#mkdir 1 2 3

15:37:15
#ls
[root@fbsd4:lab2]# mkdir 1 2 3
1       2       3
15:37:15
#ls
1       2       3
15:37:17
#mkdir -p /3/4/5

15:37:40
#tree 1
[root@fbsd4:lab2]# mkdir -p /3/4/5
bash: tree: command not found
15:37:40
#tree 1
bash: tree: command not found
15:37:44
#tree /tmp/lab2
bash: tree: command not found
15:37:52
#tree
[root@fbsd4:lab2]# tree /tmp/lab2
bash: tree: command not found
bash: tree: command not found
15:37:52
#tree
bash: tree: command not found
15:37:56
#ls
1       2       3
15:37:56
#ls
1       2       3
15:38:04
#cd 1

15:38:06
#ls
[root@fbsd4:lab2]# cd 1
2
15:38:06
#ls
2
15:38:08
#cd 2/3

15:38:08
#cd 2/3

15:38:22
#ls
4
15:38:22
#ls
4
15:38:24
#cd ..

15:38:27
#cd ..
[root@fbsd4:3]# cd ..
15:38:27
#cd ..

15:38:28
#cd ..

15:38:28
#cd ..

15:38:29
#touch a b c

15:38:49
#ls
[root@fbsd4:lab2]# touch a b c
1       2       3       a       b       c
15:38:49
#ls
1       2       3       a       b       c
15:38:52
#ls -l
total 6
drwxr-xr-x  3 root  wheel  512 Mar 11 13:37 1
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 2
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 3
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 a
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 b
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 c
15:38:52
#ls -l
total 6
drwxr-xr-x  3 root  wheel  512 Mar 11 13:37 1
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 2
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 3
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 a
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 b
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 c
15:38:54
#rmdir
rmdir: 1: Directory not empty
15:39:20
#rmdir -r 1
[root@fbsd4:lab2]# rmdir
rmdir: 1: Directory not empty
rmdir: illegal option -- r
usage: rmdir [-pv] directory ...
15:39:20
#rmdir -r 1
rmdir: illegal option -- r
usage: rmdir [-pv] directory ...
15:39:24
#rmdir -rv1
rmdir: illegal option -- r
usage: rmdir [-pv] directory ...
15:39:24
#rmdir -rv1
rmdir: illegal option -- r
usage: rmdir [-pv] directory ...
15:39:30
#ls -l
total 6
drwxr-xr-x  3 root  wheel  512 Mar 11 13:37 1
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 2
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 3
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 a
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 b
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 c
15:39:30
#ls -l
total 6
drwxr-xr-x  3 root  wheel  512 Mar 11 13:37 1
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 2
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 3
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 a
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 b
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 c
15:39:35
#rmdir -r 2
rmdir: illegal option -- r
usage: rmdir [-pv] directory ...
15:39:50
#ls -l
[root@fbsd4:lab2]# rmdir -r 2
rmdir: illegal option -- r
usage: rmdir [-pv] directory ...
total 6
drwxr-xr-x  3 root  wheel  512 Mar 11 13:37 1
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 2
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 3
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 a
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 b
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 c
15:39:50
#ls -l
total 6
drwxr-xr-x  3 root  wheel  512 Mar 11 13:37 1
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 2
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 3
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 a
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 b
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 c
15:39:52
#rmdir -r 2
rmdir: illegal option -- r
usage: rmdir [-pv] directory ...
15:39:55
#rmdir -pv
[root@fbsd4:lab2]# rmdir -r 2
rmdir: illegal option -- r
usage: rmdir [-pv] directory ...
2
15:39:55
#rmdir -pv
2
15:40:04
#ls -l
total 4
drwxr-xr-x  3 root  wheel  512 Mar 11 13:37 1
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 3
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 a
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 b
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 c
15:40:04
#ls -l
total 4
drwxr-xr-x  3 root  wheel  512 Mar 11 13:37 1
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 3
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 a
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 b
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 c
15:40:10
#tree
bash: tree: command not found
15:41:15
#whereis tree
[root@fbsd4:lab2]# tree
bash: tree: command not found
tree: /usr/ports/sysutils/tree
15:41:15
#whereis tree
tree: /usr/ports/sysutils/tree
15:41:20
#/usr/ports/sysutils/tree
bash: /usr/ports/sysutils/tree: is a directory
15:41:30
#/usr/ports/sysutils/tree
[root@fbsd4:lab2]# /usr/ports/sysutils/tree
bash: /usr/ports/sysutils/tree: is a directory
bash: /usr/ports/sysutils/tree: is a directory
15:41:30
#/usr/ports/sysutils/tree
bash: /usr/ports/sysutils/tree: is a directory
15:41:31
#cd /usr/ports/sysutils/tree

15:41:31
#cd /usr/ports/sysutils/tree

15:41:36
#make nstall
===>  Vulnerability check disabled, database not found
=> tree-1.5.1.1.tgz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from ftp://mama.indstate.edu/linux/tree/.
tree-1.5.1.1.tgz                              100% of   30 kB   14 kBps
===>  Extracting for tree-1.5.1.1
=> MD5 Checksum OK for tree-1.5.1.1.tgz.
=> SHA256 Checksum OK for tree-1.5.1.1.tgz.
===>  Patching for tree-1.5.1.1
===>  Applying FreeBSD patches for tree-1.5.1.1
===>  Configuring for tree-1.5.1.1
...
cc  -o tree tree.o
===>  Installing for tree-1.5.1.1
===>   Generating temporary packing list
===>  Checking if sysutils/tree already installed
/bin/mkdir -p /usr/local/bin
/bin/mkdir -p /usr/local/man/man1
install  -s -o root -g wheel -m 555 tree /usr/local/bin
install  -o root -g wheel -m 444 man/tree.1 /usr/local/man/man1
===>   Compressing manual pages for tree-1.5.1.1
===>   Registering installation for tree-1.5.1.1
15:41:59
#cd -
[root@fbsd4:tree]# make nstall
===>  Vulnerability check disabled, database not found
=> tree-1.5.1.1.tgz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from ftp://mama.indstate.edu/linux/tree/.
tree-1.5.1.1.tgz                              100% of   30 kB   14 kBps
===>  Extracting for tree-1.5.1.1
=> MD5 Checksum OK for tree-1.5.1.1.tgz.
=> SHA256 Checksum OK for tree-1.5.1.1.tgz.
===>  Patching for tree-1.5.1.1
===>  Applying FreeBSD patches for tree-1.5.1.1
...
===>  Installing for tree-1.5.1.1
===>   Generating temporary packing list
===>  Checking if sysutils/tree already installed
/bin/mkdir -p /usr/local/bin
/bin/mkdir -p /usr/local/man/man1
install  -s -o root -g wheel -m 555 tree /usr/local/bin
install  -o root -g wheel -m 444 man/tree.1 /usr/local/man/man1
===>   Compressing manual pages for tree-1.5.1.1
===>   Registering installation for tree-1.5.1.1
/tmp/lab2
15:41:59
#cd -
/tmp/lab2
15:42:19
#tree
.
|
|
|
15:42:19
#tree
.
|
|
|
15:42:25
#cd ..

15:42:25
#cd ..

15:42:35
#tree lab2
lab2
|
|
|
15:42:39
#cd /lab2
[root@fbsd4:tmp]# tree lab2
lab2
|
|
|
bash: cd: /lab2: No such file or directory
15:42:39
#cd /lab2
bash: cd: /lab2: No such file or directory
15:42:56
#cd lab2

15:42:56
#cd lab2

15:42:59
#ls
1       3       a       b       c
15:42:59
#ls
1       3       a       b       c
15:43:00
#ls -l
total 4
drwxr-xr-x  3 root  wheel  512 Mar 11 13:37 1
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 3
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 a
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 b
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 c
15:43:00
#ls -l
total 4
drwxr-xr-x  3 root  wheel  512 Mar 11 13:37 1
drwxr-xr-x  2 root  wheel  512 Mar 11 13:37 3
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 a
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 b
-rw-r--r--  1 root  wheel    0 Mar 11 13:38 c
15:43:03
#tree 3
3
0 directories, 0 files
15:43:22
#tree 2
[root@fbsd4:lab2]# tree 3
3
0 directories, 0 files
2 [error opening dir]
0 directories, 0 files
15:43:22
#tree 2
2 [error opening dir]
0 directories, 0 files
15:43:25
#tree /2
/2 [error opening dir]
0 directories, 0 files
15:43:25
#tree /2
/2 [error opening dir]
0 directories, 0 files
15:43:30
#tree
.
|
|
|
15:43:33
#tree /?
[root@fbsd4:lab2]# tree
.
|
|
|
/? [error opening dir]
0 directories, 0 files
15:43:33
#tree /?
/? [error opening dir]
0 directories, 0 files
15:43:48
#tree /h
/h [error opening dir]
0 directories, 0 files
15:43:50
#tree -h
[root@fbsd4:lab2]# tree /h
/h [error opening dir]
0 directories, 0 files
.
|
|
|
15:43:50
#tree -h
.
|
|
|
15:43:53
#man tree
15:44:12
#tree 3
TREE(1)                                                                TREE(1)
NAME
       tree - list contents of directories in a tree-like format.
[root@fbsd4:lab2]# man tree
Formatting page, please wait...Done.
TREE(1)                                                                TREE(1)
NAME
       tree - list contents of directories in a tree-like format.
SYNOPSIS
       tree [-adfghilnopqrstuxACDFNS] [-L level [-R]] [-H baseHREF] [-T title]
...
       --help Outputs a verbose usage listing.
       and/or directories listed.
       --version
       By default, when a symbolic link is encountered, the path that the sym-
              Outputs the version of tree.
       bolic link refers to is printed after the name of the link in the  for-
3
       mat:
0 directories, 0 files
           name -> real-path
15:44:12
#tree 3
3
0 directories, 0 files
15:44:15
#tree 2
2 [error opening dir]
0 directories, 0 files
15:44:15
#tree 2
2 [error opening dir]
0 directories, 0 files
15:44:19
#tree 4
4 [error opening dir]
0 directories, 0 files
15:44:19
#tree 4
4 [error opening dir]
0 directories, 0 files
15:44:25
#man tree
15:45:00
#tree d
NAME
NAME
       tree - list contents of directories in a tree-like format.
SYNOPSIS
       tree [-adfghilnopqrstuxACDFNS] [-L level [-R]] [-H baseHREF] [-T title]
       [-o  filename]  [--nolinks]  [-P  pattern]  [-I   pattern]   [--inodes]
       [--device]  [--noreport]  [--dirsfirst] [--version] [--help] [directory
[root@fbsd4:lab2]# man tree
TREE(1)                                                                TREE(1)
NAME
...
              separates alternate patterns.
       -I pattern
              Do not list those files that match the wild-card pattern.
       --noreport
              Omits printing of the file and directory report at  the  end  of
              the tree listing.
       -p     Print  the  file  type  and permissions for each file (as per ls
              -l).
d [error opening dir]
0 directories, 0 files
15:45:00
#tree d
d [error opening dir]
0 directories, 0 files
15:45:05
#tree -d
.
|
|
|
15:45:05
#tree -d
.
|
|
|
15:45:07
#tree -a
.
|
|
|
15:45:07
#tree -a
.
|
|
|
15:45:11
#mv a /3

15:46:25
#tree
[root@fbsd4:lab2]# mv a /3
.
|
|
|

Статистика

Время первой команды журнала15:36:43 2008- 3-11
Время последней команды журнала15:46:25 2008- 3-11
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %11.88
Процент синтаксически неверно набранных команд, % 5.94
Суммарное время работы с терминалом *, час 0.16
Количество командных строк в единицу времени, команда/мин10.41
Частота использования команд
tree36|===================================| 35.64%
ls26|=========================| 25.74%
cd20|===================| 19.80%
rmdir10|=========| 9.90%
mkdir2|=| 1.98%
man2|=| 1.98%
whereis2|=| 1.98%
touch1|| 0.99%
mv1|| 0.99%
make1|| 0.99%
____
*) Интервалы неактивности длительностью 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$