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

Содержание

Журнал

Четверг (03/01/07)

/dev/pts/0
14:47:19
$echo $?
0
14:47:31
$test 5 -gt 1

14:48:24
$echo $?
0
14:48:34
$test 5 -lt 1

14:48:45
$echo $?
1
14:48:49
$test -z "$STRING"

14:50:08
$echo $?
0
14:50:11
$test -z $STRING

14:50:37
$echo $?
0
14:50:38
$test "$P" !=print
bash: test: : unary operator expected
14:51:52
$test -e /etc/motd

14:52:24
$echo $?
0
14:52:32
$test -d /usr/local/bin

14:54:41
$echo $?
0
14:54:45
$test -r /etc/shadow

14:55:27
$echo $?
1
14:55:32
$test -k /tmp

14:55:54
$echo $?
0
14:55:57
$test -w /etc/passwd

14:57:04
$echo $?
1
14:57:07
$echo "Ваш любимый цвет?" ; read FAV_COL ; \
>
прошло 66 минут
16:04:06
$echo "Ваш любимый цвет?" ; read FAV_COL ; \
>
16:05:38
$test $EUID -ne 0 -a -r ?etc/shadow && \
>
16:08:45
$echo "Ваш любимый цвет?"
Ваш любимый цвет?
16:08:54
$echo "Ваш любимый цвет?" ; read FAV_COL ; \
> echo Ваш любимый цвет - *АФÐ$FAV_COL
Ваш любимый цвет?
нжелтый
Ваш любимый цвет - желтый
16:11:09
$echo "Ваш любимый цвет?"

16:11:09
$test $EUID -ne 0 -a -r ?etc/shadow && \
> усÑecho 'Предупреждение, Файл /etc/shadow доступен для чтения!Ñ'
16:13:43
$echo"Ваша любимая ОС?"; read FAV_OS; ["$FAV_OS" == "BSD"] && \
> echo 'Хороший выбор!Ñ'
bash: echoВаша любимая ОС?: command not found
bash: [: missing `]'
16:22:40
$echo"Ваша любимая ОС?"; read FAV_OS; ["$FAV_OS" == "BSD"] && echo 'Хороши

16:22:40
$echo"Ваша любимая ОС?"; read FAV_OS; ["$FAV_OS" == "BSD"] && \
> echo 'Хороший выборÑ'
bash: echoВаша любимая ОС?: command not found
bash: [: missing `]'
16:23:50
$test -w /etc/passwd || \
> echo "Вы не имеете права на изменение вайла /etc/passwdwd
> test -w /etc/passwd || echo "Вы не имеете права на изменение вайла /etc/passwd"
>
>
16:26:06
$test -w /etc/passwd || echo "Вы не имеете права на изменение вайла /etc/p

16:33:42
$echo"Ваша любимая ОС?"; read FAV_OS; ["$FAV_OS" == "BSD"] && \ echo 'Хоро
ий выбор'
bash: echoВаша любимая ОС?: command not found
16:34:08
$echo"Ваша любимая ОС?"; read FAV_OS; ["$FAV_OS" == "BSD"] && \ echo 'Хоро

16:34:08
$echo"Ваша любимая ОС?"; read FAV_OS; ["$FAV_OS" == "BSD"] && \ ech
> echo 'Хороший выбор!Ð'
bash: echoВаша любимая ОС?: command not found
BSD
bash: [BSD: command not found
16:35:42
$echo"Ваша любимая ОС?"; read FAV_OS; ["$FAV_OS" == "BSD"] && echo 'Хороши

16:35:42
$echo"Ваша любимая ОС?"; read FAV_OS; ["$FAV_OS" == "BSD"] && \
> echo 'Хороший выбор!'
bash: echoВаша любимая ОС?: command not found
bash: [: missing `]'
16:37:28
$echo "Ваша любимая ОС?"; read FAV_OS; [ "$FAV_OS" == "BSD" ] && echo 'Хор
ший выбор!'
Ваша любимая ОС?
BSD
Хороший выбор!
16:37:51
$A=0

16:38:30
$while [ $A -lt 10 ]
> do
> A=$((A+1))
> echo $A
> done
1
2
3
4
5
6
7
8
9
10
16:40:01
$for file in /etc/*
/etc/motd.tail
bash: [: missing `]'
/etc/mtab
bash: [: missing `]'
/etc/mtools.conf
bash: [: missing `]'
/etc/Muttrc
bash: [: missing `]'
/etc/nanorc
bash: [: missing `]'
...
bash: [: missing `]'
/etc/wodim.conf
bash: [: missing `]'
/etc/wpa_supplicant
bash: [: missing `]'
/etc/X11
bash: [: missing `]'
/etc/xdg
bash: [: missing `]'
/etc/xml
16:42:01
$for file in /etc/*; do [ -r $file } || echo $file; done
/etc/motd.tail
bash: [: missing `]'
/etc/mtab
bash: [: missing `]'
/etc/mtools.conf
bash: [: missing `]'
/etc/Muttrc
bash: [: missing `]'
/etc/nanorc
bash: [: missing `]'
...
bash: [: missing `]'
/etc/wodim.conf
bash: [: missing `]'
/etc/wpa_supplicant
bash: [: missing `]'
/etc/X11
bash: [: missing `]'
/etc/xdg
bash: [: missing `]'
/etc/xml
16:42:21
$for file in /etc/*; do [ -r $file } || echo $file; done | more
16:48:51
$echo 'Окакой команде вы хотели бы получить информацию' ;\
> select command in man touch mount make exit clear
> do
> whatis $command
> break
> done
Окакой  команде вы хотели бы получить информацию
1) man
2) touch
3) mount
4) make
5) exit
6) clear
#? 4
make (1)             - GNU make utility to maintain groups of programs
16:56:49
$echo " При помощщи..." ;\
 clear; do whatis $command; break; doneы хотели бы получить информацию' ;select command in man touch mount make exit
16:58:17
$echo " При помощщи..."
 При помощщи...
16:58:31
$read answer
^[[A
16:59:07
$read answer

17:03:18
$read answer

17:04:32
$read answer
case $answer in
17:05:15
$read answer
case $answer in
17:05:54
$read answer
case $answer in "man" | "info" )
17:07:10
$read answer
case $answer in "man" | "info" )^[[A^[[A
17:09:41
$read $answer

17:10:57
$vim program
17:16:43
$func first
bash: func: command not found
17:17:11
$l3-agent
Removing stale pidfile
прошла 21 минута
17:38:32
$su -
Password:
17:39:18
#pkill -9 l3-agent

17:39:26
#l3-agent
Removing stale pidfile
17:39:29
#exit

17:39:44
$vim .
17:39:44
$vim .bash_profile
17:40:13
$vim .l3rc
17:40:27
$pkill -9 l3-agent
pkill: 12394 - Operation not permitted
17:40:36
$l3-agent
Removing stale pidfile
17:40:42
$su -
/usr/share/squid/icons/anthony-box2.gif
/usr/share/squid/icons/anthony-quill.gif
/usr/share/squid/icons/anthony-pdf.gif
/usr/share/squid/icons/anthony-portal.gif
Password:
su: Authentication failure
Извините.
прошло 18 минут
17:59:24
$su -
/usr/share/squid/icons/anthony-box2.gif
/usr/share/squid/icons/anthony-quill.gif
/usr/share/squid/icons/anthony-pdf.gif
/usr/share/squid/icons/anthony-portal.gif
Password:
su: Authentication failure
Извините.
18:00:48
$su -
/usr/share/squid/icons/anthony-layout.gif
/usr/share/squid/icons/anthony-box2.gif
/usr/share/squid/icons/anthony-quill.gif
/usr/share/squid/icons/anthony-pdf.gif
/usr/share/squid/icons/anthony-portal.gif
Password:
l3-agent is already running: pid=12394; pidfile=/root/.lilalo/l3-agent.pid
18:00:59
#id
/usr/share/squid/icons/anthony-tex.gif
/usr/share/squid/icons/anthony-layout.gif
/usr/share/squid/icons/anthony-box2.gif
/usr/share/squid/icons/anthony-quill.gif
/usr/share/squid/icons/anthony-pdf.gif
/usr/share/squid/icons/anthony-portal.gif
uid=0(root) gid=0(root) группы=0(root)
18:01:18
#w
 18:01:37 up  6:00,  3 users,  load average: 0,12, 0,12, 0,16
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
user     :0       -                12:02   ?xdm?   9:55m  0.91s x-session-manager
user     pts/0    :0.0             12:02    0.00s  1.85s  0.12s script -f -q /home/user/.lilal
user     pts/2    :0.0             12:03   26.00s  1.68s  0.04s script -f -q /home/user/.lilal
18:01:37
#lastb
btmp begins Thu Mar  1 12:07:12 2007
18:02:18
#man useradd
прошло 58 минут
19:01:11
#cp ~ /mymotd /etc/motd
/usr/share/squid/icons/anthony-tex.gif
/usr/share/squid/icons/anthony-layout.gif
/usr/share/squid/icons/anthony-box2.gif
/usr/share/squid/icons/anthony-quill.gif
/usr/share/squid/icons/anthony-pdf.gif
/usr/share/squid/icons/anthony-portal.gif
cp: указанная цель `/etc/motd' не является каталогом
19:03:26
#cp ~/mymotd /etc/motd
cp: переписать `/etc/motd'?
19:04:04
#cp ~/mymotd /etc/motd
cp: переписать `/etc/motd'? yes
19:04:13
#vim /etc/motd
19:07:15
#ls
install  mi.sh  mymotd  mynologin  mytgz
19:07:47
#vim mymotd
19:07:57
#iconv -f KOI8-R -t UTF-8 mymotd
Вас приветствует учебный центр Сетевые Технологии.
Добро пожаловать в систему!
19:08:21
#iconv -f KOI8-R -t UTF-8 mymotd > /etc/motd

19:08:27
#~
bash: /root: is a directory
19:11:37
#pwd
/root
19:11:45
#exit
/usr/share/squid/icons/anthony-tex.gif
/usr/share/squid/icons/anthony-layout.gif
/usr/share/squid/icons/anthony-box2.gif
/usr/share/squid/icons/anthony-quill.gif
/usr/share/squid/icons/anthony-pdf.gif
/usr/share/squid/icons/anthony-portal.gif
exit
19:11:55
$~
/usr/share/squid/icons/anthony-tex.gif
/usr/share/squid/icons/anthony-layout.gif
/usr/share/squid/icons/anthony-box2.gif
/usr/share/squid/icons/anthony-quill.gif
/usr/share/squid/icons/anthony-pdf.gif
/usr/share/squid/icons/anthony-portal.gif
bash: /home/user: is a directory
19:12:26
$pwd
/home/user
19:12:31
$touch ~/.hushlogin

19:13:10
$ls
base  errlog                      file3                   proj      test
bin   essential-20060611.tar.bz2  files                   projectX  text
body  file                        names                   sh        touchlist
c     file1                       newfile                 soft      unsorted
date  file2                       no_file_with_this_name  sorted    very_long_file_name
19:13:13
$ls .*
qt_plugins_3.3rc
.ssh:
authorized_keys  known_hosts
.xine:
catalog.cache
19:16:18
$ls
base  errlog                      file3                   proj      test
bin   essential-20060611.tar.bz2  files                   projectX  text
body  file                        names                   sh        touchlist
c     file1                       newfile                 soft      unsorted
date  file2                       no_file_with_this_name  sorted    very_long_file_name
19:16:24
$ls *.
ls: *.: No such file or directory

Статистика

Время первой команды журнала14:47:19 2007- 3- 1
Время последней команды журнала19:16:24 2007- 3- 1
Количество командных строк в журнале91
Процент команд с ненулевым кодом завершения, %28.57
Процент синтаксически неверно набранных команд, % 3.30
Суммарное время работы с терминалом *, час 2.39
Количество командных строк в единицу времени, команда/мин 0.64
Частота использования команд
echo24|================| 16.22%
read20|=============| 13.51%
test14|=========| 9.46%
\14|=========| 9.46%
&11|=======| 7.43%
["$FAV_OS"8|=====| 5.41%
vim6|====| 4.05%
echo"Ваша5|===| 3.38%
ls5|===| 3.38%
su4|==| 2.70%
l3-agent3|==| 2.03%
echo"Ваша3|==| 2.03%
cp3|==| 2.03%
for3|==| 2.03%
pwd2|=| 1.35%
pkill2|=| 1.35%
~2|=| 1.35%
exit2|=| 1.35%
do2|=| 1.35%
done2|=| 1.35%
iconv2|=| 1.35%
more1|| 0.68%
touch1|| 0.68%
func1|| 0.68%
while1|| 0.68%
man1|| 0.68%
A=01|| 0.68%
/etc/motd1|| 0.68%
id1|| 0.68%
[1|| 0.68%
lastb1|| 0.68%
w1|| 0.68%
____
*) Интервалы неактивности длительностью 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$