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

Содержание

Журнал

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

/dev/pts/0
15:22:42
$sh

15:22:42
$sh

15:22:42
$sh

15:22:42
$sh

15:22:42
$sh

15:22:42
$sh

15:22:42
$sh

15:22:42
$sh

/dev/pts/0
15:22:58
$whereis screen
screen: /usr/ports/sysutils/screen
15:23:05
$cd /usr/ports/sysutils/screen

/dev/pts/0
15:23:20
$find / -path /dev -prune -o \( -type b -o -type c \) print

/dev/pts/0
15:24:20
$make install clean
             lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
             x                   Options for screen 4.0.3_10                      x
             x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
             x x [ ] CJK           Treat CJK ambiguous characters as full width x x
             x x [X] INFO          Build and install info documentation         x x
             x x [X] MAN           Build and install man pages                  x x
             x x [X] NETHACK       Enable nethack-style messages                x x
             x x [ ] XTERM_256     Enable support for 256 colour xterm          x x
             x x [ ] HOSTINLOCKED  Print user@host in locked message            x x
             x x [ ] SHOWENC       Show encoding on the status line             x x
...
===>  Returning to user credentials
===>  Vulnerability check disabled, database not found
===>  License check disabled, port has not defined LICENSE
===>  Found saved configuration for screen-4.0.3_10
=> screen-4.0.3.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> /usr/ports/distfiles is not writable by you; cannot fetch.
*** Error code 1
Stop in /usr/ports/sysutils/screen.
*** Error code 1
Stop in /usr/ports/sysutils/screen.
/dev/pts/0
15:25:15
$ssh
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-R [bind_address:]port:host:hostport] [-S ctl_path]
           [-W host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]
15:25:15
$ssh
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-R [bind_address:]port:host:hostport] [-S ctl_path]
           [-W host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]
15:25:15
$ssh
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-R [bind_address:]port:host:hostport] [-S ctl_path]
           [-W host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]
15:25:15
$ssh
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-R [bind_address:]port:host:hostport] [-S ctl_path]
           [-W host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]
15:25:15
$ssh
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-R [bind_address:]port:host:hostport] [-S ctl_path]
           [-W host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]
15:25:15
$ssh
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-R [bind_address:]port:host:hostport] [-S ctl_path]
           [-W host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]
15:25:15
$ssh
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-R [bind_address:]port:host:hostport] [-S ctl_path]
           [-W host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]
15:25:15
$ssh
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-R [bind_address:]port:host:hostport] [-S ctl_path]
           [-W host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]
15:25:15
$ssh
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-e escape_char] [-F configfile]
           [-I pkcs11] [-i identity_file]
           [-L [bind_address:]port:host:hostport]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-R [bind_address:]port:host:hostport] [-S ctl_path]
           [-W host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]
15:25:25
$find / -path /dev -prune -o -type b -o -type c
/dev
^C
15:25:25
$find / -path /dev -prune -o -type b -o -type c
/dev
^C
15:25:25
$find / -path /dev -prune -o -type b -o -type c
/dev
^C
15:25:25
$find / -path /dev -prune -o -type b -o -type c
/dev
^C
15:25:25
$find / -path /dev -prune -o -type b -o -type c
/dev
^C
15:25:25
$find / -path /dev -prune -o -type b -o -type c
/dev
^C
15:25:25
$find / -path /dev -prune -o -type b -o -type c
/dev
^C
15:25:25
$find / -path /dev -prune -o -type b -o -type c
/dev
^C
/dev/pts/0
15:25:57
$cd ..

15:26:24
$cd ..

15:26:27
$cd ..

15:26:28
$cd ..

15:26:29
$cd ..

15:26:30
$cd dev

15:26:37
$ls
acpi            ctty            kmem            stdin           ttyva
ad0             cuau0           led             stdout          ttyvb
ad0s1           cuau0.init      log             sysmouse        ttyvc
ad0s1a          cuau0.lock      lpt0            ttyu0           ttyvd
ad0s1b          dcons           lpt0.ctl        ttyu0.init      ttyve
ad0s1d          devctl          mdctl           ttyu0.lock      ttyvf
ad0s1e          devstat         mem             ttyv0           ufsid
ad0s1f          dgdb            nfslock         ttyv1           ugen0.1
ata             fd              null            ttyv2           ugen0.2
atkbd0          fido            pci             ttyv3           ums0
audit           geom.ctl        ppi0            ttyv4           urandom
bpf             io              psm0            ttyv5           usb
bpf0            kbd0            ptmx            ttyv6           usbctl
bpsm0           kbd1            pts             ttyv7           xpt0
console         kbdmux0         random          ttyv8           zero
consolectl      klog            stderr          ttyv9
15:26:40
$copy -R /dev/acd0c /tmp
l3script: copy: command not found
/dev/pts/0
15:26:54
$su -
Password:
l3-agent is already running: pid=15676; pidfile=/root/.lilalo/l3-agent.pid
[root@freebsd1 ~]# l3script
15:26:54
$su -
Password:
l3-agent is already running: pid=15676; pidfile=/root/.lilalo/l3-agent.pid
[root@freebsd1 ~]# l3script
15:26:54
$su -
Password:
l3-agent is already running: pid=15676; pidfile=/root/.lilalo/l3-agent.pid
[root@freebsd1 ~]# l3script
15:26:54
$su -
Password:
l3-agent is already running: pid=15676; pidfile=/root/.lilalo/l3-agent.pid
[root@freebsd1 ~]# l3script
15:26:54
$su -
Password:
l3-agent is already running: pid=15676; pidfile=/root/.lilalo/l3-agent.pid
[root@freebsd1 ~]# l3script
15:26:54
$su -
Password:
l3-agent is already running: pid=15676; pidfile=/root/.lilalo/l3-agent.pid
[root@freebsd1 ~]# l3script
15:26:54
$su -
Password:
l3-agent is already running: pid=15676; pidfile=/root/.lilalo/l3-agent.pid
[root@freebsd1 ~]# l3script
15:26:54
$su -
Password:
l3-agent is already running: pid=15676; pidfile=/root/.lilalo/l3-agent.pid
[root@freebsd1 ~]# l3script
15:26:54
$su -
Password:
l3-agent is already running: pid=15676; pidfile=/root/.lilalo/l3-agent.pid
[root@freebsd1 ~]# l3script
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
15:28:03
#find / -path /dev -prune -o -type b -o -type c
/dev
/dev/pts/0
15:28:09
$copy -R /dev/acpi /tmp
l3script: copy: command not found
15:28:28
$ls -l
total 3
crw-r--r--  1 root  wheel       0,  34 Nov 24 17:17 acpi
crw-r-----  1 root  operator    0,  73 Nov 24 17:17 ad0
crw-r-----  1 root  operator    0,  74 Nov 24 17:17 ad0s1
crw-r-----  1 root  operator    0,  75 Nov 24 17:17 ad0s1a
crw-r-----  1 root  operator    0,  76 Nov 24 17:17 ad0s1b
crw-r-----  1 root  operator    0,  77 Nov 24 17:17 ad0s1d
crw-r-----  1 root  operator    0,  78 Nov 24 17:17 ad0s1e
crw-r-----  1 root  operator    0,  79 Nov 24 17:17 ad0s1f
crw-------  1 root  operator    0,  33 Nov 24 17:17 ata
...
crw-------  1 root  wheel       0,  64 Nov 24 17:17 ttyvf
dr-xr-xr-x  2 root  wheel          512 Nov 24 17:17 ufsid
lrwxr-xr-x  1 root  wheel            9 Nov 24 17:17 ugen0.1 -> usb/0.1.0
lrwxr-xr-x  1 root  wheel            9 Nov 24 17:17 ugen0.2 -> usb/0.2.0
crw-r--r--  1 root  operator    0,  87 Nov 24 17:17 ums0
lrwxr-xr-x  1 root  wheel            6 Nov 24 17:17 urandom -> random
dr-xr-xr-x  2 root  wheel          512 Nov 24 17:17 usb
crw-r--r--  1 root  operator    0,  66 Nov 24 17:17 usbctl
crw-------  1 root  operator    0,  72 Nov 24 17:17 xpt0
crw-rw-rw-  1 root  wheel       0,   7 Nov 24 17:17 zero
/dev/pts/1
15:28:29
$cp -R .dev/acd0c /tmp
cp: .dev/acd0c: No such file or directory
/dev/pts/0
15:28:53
$cd ~

/dev/pts/1
15:28:57
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory
/dev/pts/0
15:29:43
$mkdir ~/soft

/dev/pts/0
15:29:52
#find / -path /dev -prune -o \(

15:29:52
#find / -path /dev -prune -o \(

15:29:52
#find / -path /dev -prune -o \(

15:29:52
#find / -path /dev -prune -o \(

15:29:52
#find / -path /dev -prune -o \(

15:29:52
#find / -path /dev -prune -o \(

15:29:52
#find / -path /dev -prune -o \(

15:29:52
#find / -path /dev -prune -o \(

15:29:52
#find / -path /dev -prune -o \(

/dev/pts/0
15:30:18
$find -E ~ -regex '.*(\.tar|\.gz|\.tgz|\.rpm)'

/dev/pts/1
15:30:51
$cd

/dev/pts/0
15:31:04
#exit
exit
[root@freebsd1 ~]# l3script
15:31:04
#exit
exit
[root@freebsd1 ~]# l3script
/dev/pts/1
15:31:16
$mkdir ` /sort
> ^C
/dev/pts/0
15:31:20
#exit
exit
[root@freebsd1 ~]# su
[root@freebsd1 ~]# su user
[user@freebsd1 /root]$ cd
[user@freebsd1 ~]$ pwd
/home/user
[user@freebsd1 ~]$ l3script
15:31:20
#exit
exit
[root@freebsd1 ~]# su
[root@freebsd1 ~]# su user
[user@freebsd1 /root]$ cd
[user@freebsd1 ~]$ pwd
/home/user
[user@freebsd1 ~]$ l3script
15:31:20
#exit
exit
[root@freebsd1 ~]# su
[root@freebsd1 ~]# su user
[user@freebsd1 /root]$ cd
[user@freebsd1 ~]$ pwd
/home/user
[user@freebsd1 ~]$ l3script
15:31:20
#exit
exit
[root@freebsd1 ~]# su
[root@freebsd1 ~]# su user
[user@freebsd1 /root]$ cd
[user@freebsd1 ~]$ pwd
/home/user
[user@freebsd1 ~]$ l3script
/dev/pts/1
15:31:34
$mkdir ` /sort
> ^C
15:31:40
$mkdir ~ /sort
mkdir: /home/user: File exists
mkdir: /sort: Permission denied
/dev/pts/1
15:32:11
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory
/dev/pts/0
15:32:11
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory
/dev/pts/1
15:32:11
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory
/dev/pts/0
15:32:11
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory
/dev/pts/1
15:32:11
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory
/dev/pts/0
15:32:11
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory
/dev/pts/1
15:32:11
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory
/dev/pts/0
15:32:11
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory
/dev/pts/1
15:32:11
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory
/dev/pts/0
15:32:11
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory
/dev/pts/1
15:32:11
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory
/dev/pts/0
15:32:11
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory
/dev/pts/1
15:32:11
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory
/dev/pts/0
15:32:11
$cp -R /dev/acd0c /tmp
cp: /dev/acd0c: No such file or directory

Статистика

Время первой команды журнала15:22:42 2012-11-28
Время последней команды журнала15:32:11 2012-11-28
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %35.64
Процент синтаксически неверно набранных команд, % 1.98
Суммарное время работы с терминалом *, час 0.16
Количество командных строк в единицу времени, команда/мин10.65
Частота использования команд
find34|================================| 32.69%
cp16|===============| 15.38%
ssh9|========| 8.65%
cd9|========| 8.65%
su9|========| 8.65%
sh8|=======| 7.69%
exit6|=====| 5.77%
mkdir4|===| 3.85%
copy2|=| 1.92%
ls2|=| 1.92%
\.tgz1|| 0.96%
\.gz1|| 0.96%
whereis1|| 0.96%
\.rpm)'1|| 0.96%
make1|| 0.96%
____
*) Интервалы неактивности длительностью 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$