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

Содержание

Журнал

Понедельник (03/10/08)

/dev/ttyp3
18:32:16
$id
uid=1001(user) gid=0(wheel) groups=0(wheel)
18:32:19
$ls -l
total 2976
-rw-------  1 user  wheel  3018752 Mar  7 16:40 fluxbox.core

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

/dev/ttyp6
14:50:07
$ls
fluxbox.core
14:50:29
$ls -la
total 3024
drwxr-xr-x  10 user  wheel     1024 Mar 10 16:31 .
drwxr-xr-x   4 root  wheel      512 Dec 23 11:36 ..
-rw-------   1 user  wheel        0 Mar  7 16:40 .Xauthority
-rw-------   1 user  wheel       90 Mar 10 16:32 .bash_history
-rw-r--r--   1 user  wheel       19 Mar 10 16:31 .bash_profile
-rw-r--r--   1 user  wheel       43 Mar 10 16:30 .bashrc
-rw-r--r--   1 user  wheel      751 Dec 23 11:36 .cshrc
drwx------   3 user  wheel      512 Dec 23 11:41 .dbus
drwx------   2 user  wheel      512 Dec 23 11:40 .fluxbox
...
-rw-r--r--   1 user  wheel      158 Dec 23 11:36 .login_conf
-rw-------   1 user  wheel      373 Dec 23 11:36 .mail_aliases
-rw-r--r--   1 user  wheel      331 Dec 23 11:36 .mailrc
drwx------   3 user  wheel      512 Dec 23 11:38 .mozilla
-rw-r--r--   1 user  wheel      766 Dec 23 11:36 .profile
-rw-------   1 user  wheel      276 Dec 23 11:36 .rhosts
-rw-r--r--   1 user  wheel      975 Dec 23 11:36 .shrc
-rwxr-xr-x   1 user  wheel       18 Dec 23 11:36 .xsession
-rw-------   1 user  wheel      167 Mar  7 16:40 .xsession-errors
-rw-------   1 user  wheel  3018752 Mar  7 16:40 fluxbox.core
14:52:09
$ls
[user@fbsd4:~]$ touch one\ space
fluxbox.core    one space
14:52:42
$ls
[user@fbsd4:~]$ touch o\'reily
fluxbox.core    o'reily         one space
14:54:26
$touch "-bab-man-"
[user@fbsd4:~]$ echo *
fluxbox.core o'reily one space
touch: illegal option -- b
usage:
touch [-A [-][[hh]mm]SS] [-acfhm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]] file ...
14:54:59
$echo *
[user@fbsd4:~]$ touch -- b-man-
-bab-man- fluxbox.core o'reily one space
15:00:59
$er
bash: er: command not found
15:02:55
$man find | grep exec
     and ``operands'' listed below) in terms of each file in the tree.
     The options are as follows:
[user@fbsd4:~]$ man find
FIND(1)                 FreeBSD General Commands Manual                FIND(1)
NAME
     find -- walk a file hierarchy
SYNOPSIS
     find [-H | -L | -P] [-EXdsx] [-f pathname] pathname ... expression
     find [-H | -L | -P] [-EXdsx] -f pathname [pathname ...] expression
     -P      Cause the file information and file type (see stat(2)) returned
...
             will be for the link itself.  File information of all symbolic
             links not on the command line is that of the link itself.
     -L      Cause the file information and file type (see stat(2)) returned
             for each symbolic link to be those of the file referenced by the
             link, not the link itself.  If the referenced file does not
             exist, the file information and type will be for the link itself.
             This option is equivalent to the deprecated -follow primary.
     -P      Cause the file information and file type (see stat(2)) returned
             for each symbolic link to be those of the link itself.  This is
             the default.
15:06:41
$b+3
[user@fbsd4:~]$ A=1
bash: b+3: command not found
15:06:54
$echo (A+B)
[user@fbsd4:~]$ B3
bash: syntax error near unexpected token `A+B'
15:09:35
$echo ((A+$))
[user@fbsd4:~]$ echo ((+B))
bash: syntax error near unexpected token `('
bash: syntax error near unexpected token `('
15:09:48
$echo $(A+B))
4
15:14:16
$echo $((A+B))
[user@fbsd4:~]$ echo $((A+Bcd ~
bash: A+Bcd ~: syntax error in expression (error token is "~")
15:14:19
$cd~
bash: cd~: command not found
15:14:22
$cd ~

15:14:37
$cd `
[user@fbsd4:~]$ cd `
>
> pwd
>
15:14:37
$pwd
/home/user
15:15:15
$find ~ -name 3
[user@fbsd4:~]$ touch 3 33 332 332
/home/user/3
15:16:00
$ls
[user@fbsd4:~]$ find ~ -name 3 -exec rm -f {} \;
-bab-man-       332             o'reily
33              fluxbox.core    one space
15:16:31
$ls
[user@fbsd4:~]$ find ~ -name 33-exec rm -f {} \
>
find: -exec: no terminating ";" or "+"
-bab-man-       332             o'reily
33              fluxbox.core    one space
15:17:22
$find ~ -name 33 -exec rm -f {};
find: -exec: no terminating ";" or "+"
15:17:38
$ls
[user@fbsd4:~]$ find ~ -name 33-exec rm -f {} \;
-bab-man-       332             fluxbox.core    o'reily         one space
15:23:11
$sort < /etc/passwd
NAME
     rm, unlink -- remove directory entries
SYNOPSIS
     rm [-f | -i] [-dIPRrvW] file ...
     unlink file
DESCRIPTION
     The rm utility attempts to remove the non-directory type files specified
     on the command line.  If the permissions of the file do not permit writ-
     ing, and the standard input device is a terminal, the user is prompted
     (on the standard error output) for confirmation.
...
pop:*:68:6:Post Office Owner:/nonexistent:/usr/sbin/nologin
proxy:*:62:62:Packet Filter pseudo-user:/nonexistent:/usr/sbin/nologin
root:*:0:0:Charlie &:/root:/usr/local/bin/bash
smmsp:*:25:25:Sendmail Submission User:/var/spool/clientmqueue:/usr/sbin/nologin
sshd:*:22:22:Secure Shell Daemon:/var/empty:/usr/sbin/nologin
toor:*:0:0:Bourne-again Superuser:/root:
tty:*:4:65533:Tty Sandbox:/:/usr/sbin/nologin
user:*:1001:0:User:/home/user:/usr/local/bin/bash
uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/local/libexec/uucp/uucico
www:*:80:80:World Wide Web Owner:/nonexistent:/usr/sbin/nologin
15:27:43
$sort < /etc/passwd
[user@fbsd4:~]$ cat c/passwd
# $FreeBSD: src/etc/master.passwd,v 1.40 2005/06/06 20:19:56 brooks Exp $
#
root:*:0:0:Charlie &:/root:/usr/local/bin/bash
toor:*:0:0:Bourne-again Superuser:/root:
daemon:*:1:1:Owner of many system processes:/root:/usr/sbin/nologin
operator:*:2:5:System &:/:/usr/sbin/nologin
bin:*:3:7:Binaries Commands and Source:/:/usr/sbin/nologin
tty:*:4:65533:Tty Sandbox:/:/usr/sbin/nologin
kmem:*:5:65533:KMem Sandbox:/:/usr/sbin/nologin
...
pop:*:68:6:Post Office Owner:/nonexistent:/usr/sbin/nologin
proxy:*:62:62:Packet Filter pseudo-user:/nonexistent:/usr/sbin/nologin
root:*:0:0:Charlie &:/root:/usr/local/bin/bash
smmsp:*:25:25:Sendmail Submission User:/var/spool/clientmqueue:/usr/sbin/nologin
sshd:*:22:22:Secure Shell Daemon:/var/empty:/usr/sbin/nologin
toor:*:0:0:Bourne-again Superuser:/root:
tty:*:4:65533:Tty Sandbox:/:/usr/sbin/nologin
user:*:1001:0:User:/home/user:/usr/local/bin/bash
uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/local/libexec/uucp/uucico
www:*:80:80:World Wide Web Owner:/nonexistent:/usr/sbin/nologin
15:29:34
$less file
15:30:11
$more sortf
15:32:41
$cat >>file
[user@fbsd4:~]$ cat > file
12123223346^D
fhr;tj;'herl'k
15:33:01
$cat >> file
[user@fbsd4:~]$ more file
12123223346
fhr;tj;'herl'k
^
^gf^[[D^[[D^[[C
15:33:21
$more file
15:33:45
$more file
15:34:18
$mkdir /tmp/etccopy
[user@fbsd4:~]$ cat file | less
12123223346
fhr;tj;'herl'k
^
^gfESC[DESC[DESC[C
1^2^3
...skipping...
12123223346
fhr;tj;'herl'k
^
...
~
~
~
~
~
~
~
~
~
~
15:36:42
$cp -v /etc/* /tmp/etccopy/ | less
15:39:46
$less /tmp/dirlist
15:40:54
$less /tmp/dirlist2
15:41:37
$ls - la
[user@fbsd4:~]$ ls /tmp/
1                               grub-install.log.9047
1!                              grub-install.log.9221
dirlist                         install.cfg
dirlist2                        lab2
etccopy                         lilalo-install-temp-10315
fam-user                        mfsroot.gz
grub-install.log.10372          patchrHcY96i
grub-install.log.8872
ls: -: No such file or directory
ls: la: No such file or directory
/tmp/:
1                               grub-install.log.9047
1!                              grub-install.log.9221
dirlist                         install.cfg
dirlist2                        lab2
etccopy                         lilalo-install-temp-10315
fam-user                        mfsroot.gz
grub-install.log.10372          patchrHcY96i
grub-install.log.8872
15:41:52
$less /tmp/dirlist2

Четверг (03/13/08)

/dev/ttyp3
14:47:19
$ssh ak@195.230.134.197
The authenticity of host '195.230.134.197 (195.230.134.197)' can't be established.
DSA key fingerprint is bd:2e:32:94:7c:fb:bf:96:c0:9b:3e:10:a9:a2:d0:91.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '195.230.134.197' (DSA) to the list of known hosts.
Password:
Last login: Thu Mar  6 09:12:59 2008 from 77.222.138.186
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
        The Regents of the University of California.  All rights reserved.
FreeBSD 5.4-STABLE (DOK) #1: Thu May  4 13:27:39 EEST 2006
Welcome to FreeBSD!
> exi
exi: Command not found.
> exit
logout
Connection to 195.230.134.197 closed.

Файлы

  • >>file
  • file
  • >>file
    >
    [user@fbsd4:~]$ cat > file
    12123223346^D
    fhr;tj;'herl'k
    
    file
    >
    [user@fbsd4:~]$ more file
    12123223346
    fhr;tj;'herl'k
    ^
    ^gf^[[D^[[D^[[C
    

    Статистика

    Время первой команды журнала18:32:16 2008- 3-10
    Время последней команды журнала14:47:19 2008- 3-13
    Количество командных строк в журнале39
    Процент команд с ненулевым кодом завершения, %17.95
    Процент синтаксически неверно набранных команд, % 7.69
    Суммарное время работы с терминалом *, час 0.86
    Количество командных строк в единицу времени, команда/мин 0.75
    Частота использования команд
    ls9|===================| 19.15%
    echo5|==========| 10.64%
    less5|==========| 10.64%
    more3|======| 6.38%
    sort2|====| 4.26%
    >2|====| 4.26%
    cd2|====| 4.26%
    cat2|====| 4.26%
    /etc/passwd2|====| 4.26%
    find2|====| 4.26%
    file2|====| 4.26%
    cd~1|==| 2.13%
    mkdir1|==| 2.13%
    touch1|==| 2.13%
    b+31|==| 2.13%
    pwd1|==| 2.13%
    man1|==| 2.13%
    cp1|==| 2.13%
    er1|==| 2.13%
    id1|==| 2.13%
    grep1|==| 2.13%
    ssh1|==| 2.13%
    ____
    *) Интервалы неактивности длительностью 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$