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

Содержание

Журнал

Среда (04/13/11)

12:05:21
#find / -name '*\.ext2'
/sbin/mkfs.ext2
/sbin/fsck.ext2
12:05:25
#find / -name '*(\.ext2|\.rpm\)'

12:05:46
#find / -name '*(\.ext2 | \.rpm\)'

12:05:58
#find / -name '*(\.ext2 || \.rpm\)'

12:06:03
#find / -name '*.(\.ext2 | \.rpm\)'

12:08:16
#find / -name '*.(\.ext2)'

12:08:22
#find / -name '*(\.ext2)'

12:08:25
#find / -name '*.ext2'
/sbin/mkfs.ext2
/sbin/fsck.ext2
12:08:34
#find / -name '*.ext2|*.dat'

12:08:48
#find / -name '*.ext2 | *.dat'

12:09:00
#find / -regex '*.ext2 | *.dat'

12:09:22
#find / -regex '*.ext2'

12:09:27
#find / -regex *.ext2

12:09:49
#find / -regex *\.ext2

12:09:55
#find / -regex *
find: paths must precede expression: touchlist
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
12:10:02
#find / -regex *.ext2

12:10:14
#find / -regex '*\.ext2'

12:10:34
#find / -regex '.*\.ext2'
/sbin/mkfs.ext2
/sbin/fsck.ext2
12:10:59
#find / -regex '.*\.ext2| .*\.dat'

12:11:24
#find / -regex '.*(\.ext2|\.dat)'

12:11:47
#find / -regextype posix-egrep '.*(\.ext2|\.dat)'
find: paths must precede expression: .*(\.ext2|\.dat)
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
12:13:06
#find / -regextype posix-egrep -regex '.*(\.ext2|\.dat)'
/root/.lilalo/.report.dat
/var/cache/debconf/config.dat
/var/cache/debconf/passwords.dat
/var/cache/debconf/templates.dat
/sbin/mkfs.ext2
/sbin/fsck.ext2
/home/user/.lilalo/.report.dat
12:13:28
#set
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:expand_aliases:extglob:extquote:force_fignore:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_COMPLETION=/etc/bash_completion
BASH_COMPLETION_COMPAT_DIR=/etc/bash_completion.d
BASH_COMPLETION_DIR=/etc/bash_completion.d
BASH_LINENO=()
...
MACHTYPE=i486-pc-linux-gnu
MAIL=/var/mail/root
MAILCHECK=60
OLDPWD=/root/laba
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PIPESTATUS=([0]="0")
PPID=6702
прошло 28 минут
12:42:26
#set vim

12:42:42
#set
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:expand_aliases:extglob:extquote:force_fignore:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_COMPLETION=/etc/bash_completion
BASH_COMPLETION_COMPAT_DIR=/etc/bash_completion.d
BASH_COMPLETION_DIR=/etc/bash_completion.d
BASH_LINENO=()
...
MACHTYPE=i486-pc-linux-gnu
MAIL=/var/mail/root
MAILCHECK=60
OLDPWD=/root/laba
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PIPESTATUS=([0]="0")
PPID=6702
12:42:50
#echo $vim

12:44:27
#echo $vim()
bash: syntax error near unexpected token `('
12:44:34
#echo $
$
12:44:43
#echo $A

12:44:51
#echo $a

12:44:53
#echo $path

12:45:00
#echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
12:45:04
#echo $BASH
/bin/bash
12:45:20
#echo $SSH

12:45:42
#echo $EDITOR

12:45:47
#echo $BASH
/bin/bash
12:45:57
#echo $EUID
0
12:46:20
#echo $BASH
$BASH                        $BASH_CMDS                   $BASH_COMPLETION_DIR         $BASH_SOURCE
$BASH_ALIASES                $BASH_COMMAND                $BASH_LINENO                 $BASH_SUBSHELL
$BASH_ARGC                   $BASH_COMPLETION             $BASHOPTS                    $BASH_VERSINFO
$BASH_ARGV                   $BASH_COMPLETION_COMPAT_DIR  $BASHPID                     $BASH_VERSION
12:46:20
#echo $BASH_VERSION
4.1.5(1)-release
12:46:46
#echo $CO
$COLUMNS          $COMP_WORDBREAKS
12:46:46
#echo $COLUMNS
165
12:47:15
#echo $OSTYPE
linux-gnu
прошло 40 минут
13:27:41
#cp asdd /tmp
cp: невозможно выполнить stat для «asdd»: Нет такого файла или каталога
прошла 41 минута
14:09:32
#echo $?
1
14:10:03
#ls
laba  touchlist
14:11:08
#cp touchlist
cp: после «touchlist» пропущен операнд, задающий целевой файл
Попробуйте `cp --help' для получения более подробного описания.
14:11:29
#cp touchlist /tmp

14:11:39
#echo $?
0
14:11:44
#test 5 -gt 1

14:12:39
#echo $?
0
14:12:42
#test 5 -lt 1

14:12:55
#echo $?
1
14:12:57
#test -z "$STRING"

14:14:10
#test -z $STRING

14:14:20
#echo $?
0
14:14:27
#test -z "$STRING"

14:14:31
#echo $?
0
14:14:33
#test "$P" != print

14:15:17
#echo $?
0
14:15:19
#echo $P

14:15:50
#echo $$
6703
14:16:40
#echo $?
0
14:16:48
#test -d /usr/local/bin

14:17:20
#test -r /etc/shadow

14:17:51
#echo $?
0
14:17:52
#test -k /tmp

14:18:09
#echo $?
0
14:18:10
#test -w touchlist

14:20:25
#echo $?
0
14:20:29
#test -w touchlist1

14:20:38
#echo $?
1
14:20:40
#x=5

14:21:45
#y=10

14:21:51
#test x>y

14:22:04
#echo $?
0
14:22:07
#x=10

14:22:37
#y=5

14:22:40
#test x>y

14:22:45
#echo $?
0
14:22:47
#test x<y

14:23:03
#echo $?
0
14:23:04
#test x lt y
bash: test: lt: ожидается использование бинарного оператора
14:23:27
#test x -lt y
bash: test: x: integer expression expected
14:23:35
#test x -lt y
bash: test: x: integer expression expected
14:23:52
#test $x -lt $y

14:24:12
#echo $?
1
14:24:16
#test $x -gt $y

14:24:24
#echo $?
0
14:24:26
#x=5

14:24:38
#y=10

14:24:42
#echo $?
0
14:24:43
#test $x -gt $y

14:24:48
#echo $?
1
14:24:49
#test $x -lt $y

14:24:58
#echo $?
0
14:25:02
#$echo "ваш цвет?"; read FAV_COL; \
> echo ваш цвет - $FAV_COL
bash: ваш цвет?: команда не найдена
ваш цвет -
14:29:54
#www
bash: www: команда не найдена
14:30:08
#A=0

14:30:29
#while [ $A -lt 10 ]
> do
> A=$((A+1))
> echo $A
> done
1
2
3
4
5
6
7
8
9
10
14:31:47
#for file in /etc/*
> do
> [ -r $file] || echo $file
> done
bash: [: пропущен `]'
/etc/adduser.conf
bash: [: пропущен `]'
/etc/alternatives
bash: [: пропущен `]'
/etc/apt
bash: [: пропущен `]'
...
bash: [: пропущен `]'
/etc/udev
bash: [: пропущен `]'
/etc/ufw
bash: [: пропущен `]'
/etc/vim
bash: [: пропущен `]'
/etc/wgetrc
bash: [: пропущен `]'
/etc/X11
14:32:36
#for file in /etc/*; do [ -r $file ] || echo $file; done
/etc/nologin

Статистика

Время первой команды журнала12:05:21 2011- 4-13
Время последней команды журнала14:32:36 2011- 4-13
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %11.88
Процент синтаксически неверно набранных команд, % 0.99
Суммарное время работы с терминалом *, час 1.08
Количество командных строк в единицу времени, команда/мин 1.55
Частота использования команд
echo40|=================================| 33.33%
find22|==================| 18.33%
test21|=================| 17.50%
\.rpm\)'4|===| 3.33%
cp3|==| 2.50%
*.dat'3|==| 2.50%
set3|==| 2.50%
y3|==| 2.50%
\.dat)'3|==| 2.50%
x=52|=| 1.67%
for2|=| 1.67%
y=102|=| 1.67%
while1|| 0.83%
y=51|| 0.83%
x=101|| 0.83%
A=01|| 0.83%
read1|| 0.83%
$echo1|| 0.83%
ls1|| 0.83%
do1|| 0.83%
done1|| 0.83%
www1|| 0.83%
\1|| 0.83%
.*\.dat'1|| 0.83%
____
*) Интервалы неактивности длительностью 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$