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

Содержание

Журнал

Среда (01/16/13)

/dev/pts/0
16:49:41
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"
> BSD
> bsd
> ^C
16:52:52
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"
BSD
bsd
> ^C
16:52:59
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"
BSD
16:52:59
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"

16:52:59
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"

16:52:59
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"
> BSD
> echo
> ^C
16:53:35
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"
BSD
16:53:35
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"

16:53:35
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"

16:53:35
$echo "You fav OS?"; read FAV_OS; [ "$FAV_OS == "BSD" ] && echo "Good"
> BSD
> ^C
16:53:55
$echo "You fav OS?"; read FAV_OS; [ "$FAV_OS == "BSD" ] && echo "Good"

16:53:55
$echo "You fav OS?"; read FAV_OS; [ "$FAV_OS == "BSD" ] && echo "Good"

16:53:55
$echo "You fav OS?"; read FAV_OS; [ "$FAV_OS == "BSD" ] && echo "Good"
> echo
> ^C
16:54:10
$echo "You fav OS?"; read FAV_OS; [ "$FAV_OS == "BSD" ] && echo "Good"

16:54:10
$echo "You fav OS?"; read FAV_OS; [ "$FAV_OS == "BSD" ] && echo "Good"

16:54:10
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"
> BSD
> bsd
> ^C
16:54:44
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"
BSD
16:54:44
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"

16:54:44
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"

16:54:44
$echo "You fav OS?"; read FAV_OS; [ "$FAV_OS == "BSD" ] && echo "Good"
> BSD
> ^C
16:55:42
$echo "You fav OS?"; read FAV_OS; [ "$FAV_OS == "BSD" ] && echo "Good"

16:55:42
$echo "You fav OS?"; read FAV_O\S ; [ "$FAV_OS == "BSD" ] && echo "Good"

16:55:42
$echo "You fav OS?"; read FAV_O\S ; [ "$FAV_OS == "BSD" ] && echo "Good"

16:55:42
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"
BSD
16:55:42
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"

16:55:42
$echo "You fav OS?"; read FAV_OS; ["$FAV_OS == "BSD"] && echo "Good"

16:55:42
$echo "You fav OS?"; read FAV_OS ["$FAV_OS == "BSD"] && echo "Good"
> DSd
> ^C
16:56:42
$echo "You fav OS?"; read FAV_OS ; ["$FAV_OS == "BSD"] && echo "Good"

16:56:42
$echo "You fav OS?"; read FAV_OS ; ["$FAV_OS == "BSD"] && echo "Good"

16:56:42
$echo "You fav OS?" ; read FAV_OS ; ["$FAV_OS == "BSD"] && echo "Good"
> BSD
> ^C
16:58:04
$echo $FAV_OS

16:58:18
$echo "You fav OS?" ; read FAV_OS ; ["$FAV_OS == "BSD"] && echo "Good"

16:58:18
$echo "You fav OS?" ; read FAV_OS ; ["$FAV_OS == "BSD"] && echo "Good"

16:58:18
$echo "You fav OS?" ; read FAV_OS ; ['$FAV_OS' == "BSD"] && echo "Good"
You fav OS?
BSD
su: [$FAV_OS: command not found
16:59:00
$echo "You fav OS?" ; read FAV_OS ; ['$FAV_OS' == 'BSD'] && echo "Good"
You fav OS?
bsd
su: [$FAV_OS: command not found
16:59:30
$echo "You fav OS?" ; read FAV_OS ; ['$FAV_OS' == 'BSD'] && echo "Good"
You fav OS?
BSD
su: [$FAV_OS: command not found
17:00:03
$echo "You fav OS?" ; read FAV_OS ; [ $FAV_OS == 'BSD' ] && echo "Good"
You fav OS?
BSD
Good
17:01:21
$echo "You fav OS?" ; read FAV_OS ; [ $FAV_OS == 'BSD' ] && echo "Good"
You fav OS?
Linux
17:01:26
$echo "You fav OS?" ; \
> read FAV_OS ; [ $FAV_OS == 'BSD' ] || echo "Stranno"
You fav OS?
BSD
17:08:29
$echo "You fav OS?" ; read FAV_OS ; [ $FAV_OS == 'BSD' ] || echo "Stranno"
You fav OS?
Linux
Stranno
17:08:51
$A=0

17:09:18
$while [ $A -lt 10 ]
> do
> A=$((A+1))
> echo $A
> done
1
2
3
4
5
6
7
8
9
10
17:10:29
$for file in /etc/*
> do
> [ -r $file ] || echo $file
> done
/etc/master.passwd
/etc/nsmb.conf
/etc/ntp
/etc/opieaccess
/etc/opiekeys
/etc/spwd.db
17:12:00
$cd ~

17:12:49
$ls
Light_Alloy_4.4.784_RC2_by_FAFNIR.exe   man_smb_conf
backup                                  matrix.jpg
bigfile                                 names
bin                                     ogo.jpg
dir                                     pamyatka.pdf
file                                    press_any_key_to_continue.jpg
freebsd.jpg                             proj
granata.jpg                             source
lpi 1                                   text
lpi 2                                   touchlist
17:12:58
$func () {
> if [ -z $1 ]
> then
> echo "No parametrs"
> return 0
> else
> echo "Param #1 is $1"
> fi
> if [ $2 ]
> then
> echo "Param #2 is $2."
> echo "Param #2 is $2"; then echo "No parametrs"; return 0; else echo "Param #1 is $1"; fi; if [ $2
> fi
> }
17:16:34
$func
No parametrs
17:16:41
$func fir
Param #1 is fir
17:17:00
$func fir sec
Param #1 is fir
Param #2 is sec
17:17:03
$func fir sec thr
Param #1 is fir
Param #2 is sec
17:17:18
$func 2 1
Param #1 is 2
Param #2 is 1
17:17:30
$func 1 2
Param #1 is 1
Param #2 is 2
17:17:35
$func 2 1
Param #1 is 2
Param #2 is 1
17:20:05
$func first second
Param #1 is first
Param #2 is second
17:20:27
$func 2 1
Param #1 is 2
Param #2 is 1
17:20:32
$func 1 2
Param #1 is 1
Param #2 is 2
17:20:38
$func Dima Lox
Param #1 is Dima
Param #2 is Lox
17:20:50
$func () { if [ -z $1 ]; then echo "No parametrs"; return 0; else echo "Param #1

17:20:50
$func () { if [ -z $1 ]; then echo "No parametrs"; return 0; else echo "Param #1

17:20:50
$func

17:23:49
$func
No parametrs
17:23:51
$func Dimka Poshli-buxat
#1 Dimka
#2 Poshli-buxat
17:24:10
$func Dimka Poshli-buxat
#1 Dimka
#2 Poshli-buxat
17:24:14
$func () { if [ -z $1 ]; then echo "No parametrs"; return 0; else echo "#1 $1"; f
; if [ $2 ]; then echo -n "#2 $2"; fi; }
17:28:30
$func Dimka Poshli-buxat
#1 Dimka
17:28:43
$man echo
17:28:57
$func () { if [ -z $1 ]; then echo "No parametrs"; return 0; else echo -n

17:29:26
$func 2 1

17:29:33
$func () { if [ -z $1 ]; then echo "No parametrs"; return 0; else echo -n "#1 $1"

17:29:33
$func () { if [ -z $1 ]; then echo "No parametrs"; return 0; else echo

17:30:18
$func 1 2
#1 1
#2 2
17:30:22
$func () { if [ -z $1 ]; then echo "No parametrs"; return 0; else echo "#1 $1"; fi
                   func () { if [ -z $1 ]; then echo "No parametrs"; return 0; else echo "#1 $1"; f
; if [ $2 ]; then echo "#2 $2"; fi; }
; if [ $2 ]; then echo -n $2"; fi; }
17:31:08
$func 1 2
#1 1
-n#2 2
17:31:21
$func 1 2
#1 1
17:31:23
$func 1 2
#1 1
17:31:25
$func () { if [ -z $1 ]; then echo "No parametrs"; return 0; else echo -n

17:31:46
$func 1 2
#1 1#2 2
17:31:54
$func () { if [ -z $1 ]; then echo "No parametrs"; return 0; else echo -n "

17:32:32
$func 1 2
12
17:32:53
$func Dimka Molodec
DimkaMolodec -
17:33:06
$func () { if [ -z $1 ]; then echo "No parametrs"; return 0; else echo -n "$1 -

17:33:20
$func Dimka Molodec
Dimka - Molodec
17:33:23
$func 1 2
1 - 2
17:33:30
$calc
su: calc: command not found
прошло 16 минут
17:49:49
$cal
cal        calendar   callbootd  caller
17:49:49
$man
17:53:44
$c=2^16

17:55:22
$echo Sc
Sc
17:55:27
$echo $c
2^16
17:55:33
$echo $((2^16
18
17:55:49
$id 65535
id: 65535: no such user
17:57:00
$vi /etc/passwd
прошло 12 минут
18:09:14
$wtmp u 4 5Co 6RenMov 7Mkdir 8D1892/1892PullDn 10Quit100%
  Left~....FileebootCommand.....Options.....Right
.................@óOpts/0...user............fobos.net.nt....ôDóOpts/0...............................
....úFóOpts/0...user............fobos.net.nt.....GóOpts/0...................................ÃHóOttyv
1...root............................{}õO~.......reboot..........................D¯õOttyv0...root....
........................f¼õO~.......shutdown.........................¼õOttyv0.......................
.............¼õO~.......reboot..........................»¼õOttyv0...root............................
ܼõOpts/0...root............fobos.net.nt.....½õOttyv0....................................½õOpts/0...
user.............................ÓõOpts/0....................................ÓõOpts/0...root........
....fobos.net.nt.....ÓõOpts/0....................................ÓõOpts/0...root............fobos.ne
t.nt.....ÓõOpts/0...................................ÚÓõO~.......reboot...........................
    OP~.......reboot..........................È;óPpts/0...root............fobos.net.nt....å;óPpts/0.
..................................M<óPpts/0...root............fobos.net.nt....Q<óP~.......shutdown..
......................\<óPpts/0...................................]<óP~.......reboot................
..........Ê=óPpts/0...root............192.168.17.107..tßóPpts/0...................................H.
ôPpts/0...root............192.168.17.107....ôPpts/0...................................f.ôPpts/0...ro
ot............192.168.17.107..~.ôPpts/0....................................:ôPpts/0...root..........
..192.168.17.107... õP~.......shutdown........................T.öPpts/0.............................
......T.öP~.......reboot..........................«.öPpts/0...root............192.168.17.107..µ.öP
Hint: Completion: use M-Tab (or Esc+Tab).  Type it twice to get a list.
            UnWrap   3Quit      Hex       Goto               7Search   8Raw      9Format
18:09:26
$motd sr/ho ser q qqqqq qqqqq kl<q /var/log qqqqqqqqqq1114/1114qqqqqqqqqqqq.[100%
  Left     File     Command     Options     Right
Welcome to FreeBSD!
Before seeking technical support, please use the following resources:
o  Security advisories and updated errata information for all releases are
   at http://www.FreeBSD.org/releases/ - always consult the ERRATA section
   for your release first as it's updated frequently.
o  The Handbook and FAQ documents are at http://www.FreeBSD.org/ and,
   along with the mailing lists, can be searched by going to
   http://www.FreeBSD.org/search/.  If the doc distribution has
   been installed, they're also available formatted in /usr/share/doc.
If you still have a question or problem, please take the output of
`uname -a', along with any relevant error messages, and email it
as a question to the questions@FreeBSD.org mailing list.  If you are
unfamiliar with FreeBSD's directory layout, please refer to the hier(7)
manual page.  If you are not familiar with manual pages, type `man man'.
You may also use sysinstall(8) to re-enter the installation and
configuration utility.  Edit /etc/motd to change this login announcement.
Hint: Bring text back from the dead with C-y.
            UnWrap   3Quit      Hex       Goto               7Search   8Raw      9Format
18:13:29
$lastlog
su: lastlog: command not found
18:21:41
$lastlog
su: lastlog: command not found
18:21:57
$lastlogin
root              pts/0    192.168.17.107     Wed Jan 16 14:14:45 2013
user              pts/0                       Thu Jul  5 20:48:55 2012
18:22:08
$last
root             pts/0    192.168.17.107   Wed Jan 16 14:14   still logged in
reboot           ~                         Wed Jan 16 14:14
shutdown         ~                         Wed Jan 16 14:13
root             pts/0    192.168.17.107   Tue Jan 15 11:25 - shutdown (1+02:47)
root             pts/0    192.168.17.107   Mon Jan 14 15:56 - 19:02  (03:05)
root             pts/0    192.168.17.107   Mon Jan 14 15:31 - 15:55  (00:24)
root             pts/0    192.168.17.107   Mon Jan 14 12:35 - 15:29  (02:54)
reboot           ~                         Mon Jan 14 01:05
shutdown         ~                         Mon Jan 14 00:59
root             pts/0    fobos.net.nt     Mon Jan 14 00:59 - shutdown  (00:00)
...
shutdown         ~                         Thu Jul  5 19:10
root             ttyv0                     Thu Jul  5 19:10 - shutdown  (00:00)
reboot           ~                         Thu Jul  5 18:14
root             ttyv1                     Thu Jul  5 14:41 - crash  (03:32)
user             pts/0    fobos.net.nt     Tue Jul  3 22:24 - 22:32  (00:07)
user             pts/0    fobos.net.nt     Tue Jul  3 22:16 - 22:24  (00:08)
root             ttyv0                     Tue Jul  3 21:50 - 21:57  (00:06)
root             ttyv0                     Tue Jul  3 21:44 - 21:50  (00:06)
reboot           ~                         Tue Jul  3 21:43
wtmp begins Tue Jul  3 21:43:59 EEST 2012
18:23:55
$exit

Четверг (01/17/13)

/dev/pts/0
13:06:15
#cp ~/mymotd /etc/motd
cp: /root/mymotd: No such file or directory
13:06:47
#whoami
root

Статистика

Время первой команды журнала16:49:41 2013- 1-16
Время последней команды журнала13:06:47 2013- 1-17
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, % 2.97
Процент синтаксически неверно набранных команд, % 6.93
Суммарное время работы с терминалом *, час 1.58
Количество командных строк в единицу времени, команда/мин 1.07
Частота использования команд
echo43|=================| 17.48%
read38|===============| 15.45%
func37|===============| 15.04%
&36|==============| 14.63%
["$FAV_OS21|========| 8.54%
[13|=====| 5.28%
then10|====| 4.07%
return10|====| 4.07%
else10|====| 4.07%
['$FAV_OS'3|=| 1.22%
lastlog2|| 0.81%
man2|| 0.81%
Частота использования этих команд < 0.5%while1 , cp1 , last1 , calc1 , cd1 , A=01 , wtmp1 , motd1 , f1 , whoami1 , ls1 , \1 , c=2^161 , q1 , fi1 , cal1 , for1 , lastlogin1 , id1 , vi1 , exit1
____
*) Интервалы неактивности длительностью 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$