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

Содержание

Журнал

Вторник (01/09/07)

/dev/pts/0
19:57:10
$dlkgjпмрдло

Среда (01/10/07)

/dev/pts/3
11:10:08
$ls /dev
adsp     null      ram6      tty2   tty51  ttyS2
agpgart  parport0  ram7      tty20  tty52  ttyS3
audio    port      ram8      tty21  tty53  urandom
bus      ppp       ram9      tty22  tty54  usbdev1.1_ep00
console  psaux     random    tty23  tty55  usbdev1.1_ep81
core     ptmx      rtc       tty24  tty56  usbdev2.1_ep00
disk     pts       sda       tty25  tty57  usbdev2.1_ep81
dri      ptyp0     sda1      tty26  tty58  usbdev3.1_ep00
dsp      ptyp1     sda2      tty27  tty59  usbdev3.1_ep81
fd       ptyp2     sda3      tty28  tty6   usbdev4.1_ep00
...
loop4    ram10     tty10     tty42  ttyp8  vcsa4
loop5    ram11     tty11     tty43  ttyp9  vcsa5
loop6    ram12     tty12     tty44  ttypa  vcsa6
loop7    ram13     tty13     tty45  ttypb  vcsa7
lp0      ram14     tty14     tty46  ttypc  xconsole
MAKEDEV  ram15     tty15     tty47  ttypd  zero
mapper   ram2      tty16     tty48  ttype
mem      ram3      tty17     tty49  ttypf
mixer    ram4      tty18     tty5   ttyS0
net      ram5      tty19     tty50  ttyS1
прошло 19 минут
11:29:24
$ls -l/dev | grep hda
ls: invalid option -- /
Попробуйте `ls --help' для получения более подробного описания.
11:32:26
$ls
base  c        names     sh    touchlist
bin   Desktop  proj      test  very_long_file_name
body  files    projectX  text
11:33:03
$ls
base  c        names     sh    touchlist
bin   Desktop  proj      test  very_long_file_name
body  files    projectX  text
11:36:11
$ls --help
ull-iso, long-iso, iso, locale, +ФОРМАТ.information about the FILEs (the current directory by default).
Использование: ls [КÐФАЙÐ
                             ФОРМАТ интерпретируется как в `date'; если ФОРМАТ
                             -- это ФОРМАТ1<перевод-строки>ФОРМАТ2, ФОРМАТ1
                             применяется к старым файлам, а ФОРМАТ2 к новым; коротких.
posix-', то он           если к СТИÐь файлы начинающиеся с .
                             действует только в локали, отличной от POSIX
  -t                         сортировать по времени изменения³Ð¾ файла
  -T, --tabsize=ЧИСÐым ЧИСР                        с -lt: сортировать и показывать время доступа
                              c -l: показывать время доступа и сортировать по имени
...
  -S                         сортировать по размеру файла
      --sort=СÐ
                xtension -X, none -U, size -S, time -t,
                             version -v, status -c, time -t, atime -u,
                             access -u, use -u
      --time=СÐ, показывать вместо времени изменения время,
                             заданное СРtime, access, use, ctime или
                             status; если --sort=time, использовать указанное
                             время в качестве ключа сортировки
      --time-style=СТИÐ, показывать время используя указанный СТИÐ
11:38:34
$ls --help
ull-iso, long-iso, iso, locale, +ФОРМАТ.information about the FILEs (the current directory by default).
Использование: ls [КÐФАЙÐ
                             ФОРМАТ интерпретируется как в `date'; если ФОРМАТ
                             -- это ФОРМАТ1<перевод-строки>ФОРМАТ2, ФОРМАТ1
                             применяется к старым файлам, а ФОРМАТ2 к новым; коротких.
posix-', то он           если к СТИÐь файлы начинающиеся с .
                             действует только в локали, отличной от POSIX
  -t                         сортировать по времени изменения³Ð¾ файла
  -T, --tabsize=ЧИСÐым ЧИСР                        с -lt: сортировать и показывать время доступа
                              c -l: показывать время доступа и сортировать по имени
...
  -S                         сортировать по размеру файла
      --sort=СÐ
                xtension -X, none -U, size -S, time -t,
                             version -v, status -c, time -t, atime -u,
                             access -u, use -u
      --time=СÐ, показывать вместо времени изменения время,
                             заданное СРtime, access, use, ctime или
                             status; если --sort=time, использовать указанное
                             время в качестве ключа сортировки
      --time-style=СТИÐ, показывать время используя указанный СТИÐ
/dev/pts/0
11:47:10
$man
прошло 13 минут
12:00:47
$passwd1
bash: passwd1: command not found
12:01:09
$man passwd
12:04:43
$man n
12:09:56
$/n
bash: /n: No such file or directory
12:10:01
$/N
bash: /N: No such file or directory
12:10:08
$del
bash: del: command not found
/dev/pts/0
12:12:16
$ssh@192.168.15.1
bash: ssh@192.168.15.1: command not found
~
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
E433: No tags file
E433: No tags file
12:13:07
$ssh root@192.168.15.1
The authenticity of host '192.168.15.1 (192.168.15.1)' can't be established.
RSA key fingerprint is b5:42:fd:4a:45:6f:16:0b:50:73:e9:c4:85:ac:c0:f1.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added '192.168.15.1' (RSA) to the list of known hosts.
root@192.168.15.1@192.168.15.1's password:
Permission denied, please try again.
root@192.168.15.1@192.168.15.1's password:
Permission denied, please try again.
root@192.168.15.1@192.168.15.1's password:
Permission denied (publickey,password).
12:15:12
$su -
Password:
12:16:11
#screen -x
12:16:48
#screen - x
12:17:07
#screen -x
12:17:37
#ssh 192.168.15.1
The authenticity of host '192.168.15.1 (192.168.15.1)' can't be established.
RSA key fingerprint is b5:42:fd:4a:45:6f:16:0b:50:73:e9:c4:85:ac:c0:f1.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.15.1' (RSA) to the list of known hosts.
root@192.168.15.1's password:
Last login: Wed Jan 10 12:15:59 2007 from linux7.unix.nt
Linux linux1 2.6.18-3-686 #1 SMP Mon Dec 4 16:41:14 UTC 2006 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
l3-agent is already running: pid=4109; pidfile=/root/.lilalo/l3-agent.pid
12:17:39
#screen -x
прошло 111 минут
/dev/pts/0
14:09:38
$$ cd /
Jan 11 12:28:48 linux1 syslogd 1.4.1#18: restart.
[root@linux1:~]# tail -f /var/log/message
Jan 11 12:29:00 linux1 exiting on signal 15
tail: невозможно открыть `/var/log/message' для чтения: No such file or directory
Jan 11 12:29:01 linux1 syslogd 1.4.1#18: restart.
tail: больше нет файлов
[root@linux1:~]# tail -f /var/log/messages
Jan 11 10:40:50 linux1 -- MARK --
Jan 11 11:00:52 linux1 -- MARK --
Jan 11 11:20:53 linux1 -- MARK --
Jan 11 11:40:55 linux1 -- MARK --
Jan 11 12:00:58 linux1 -- MARK --
Jan 11 12:30:08 linux1 logger: RRIVET
Jan 11 12:21:01 linux1 -- MARK --
Jan 11 12:30:26 linux1 root: HI
Jan 11 12:28:47 linux1 exiting on signal 15
Jan 11 12:30:42 linux1 root: Linux linux1 2.6.18-3-686 #1 SMP Mon Dec 4 16:41:14 UTC 2006 i
bash: $: command not found
14:14:36
$$ cd/
bash: $: command not found
14:14:50
$cd/
bash: cd/$: No such file or directory
14:15:16
$ls
base  body  Desktop  names  projectX  test  touchlist
bin   c     files    proj   sh        text  very_long_file_name
14:15:31
$cd

14:15:43
$cd ~

14:15:59
$pwd
/home/user
14:16:25
$cd ..

14:16:40
$pwd
/home
14:17:04
$ls
lost+found  user
14:17:23
$cd

14:18:20
$ls -1F
base
bin/
body
c/
Desktop/
files/
names/
proj/
projectX/
sh/
test/
text/
touchlist
very_long_file_name
14:18:55
$ls -a1F
./
../
base
.bash_history
.bash_logout
.bash_profile
.bashrc
bin/
body
c/
...
.ssh/
test/
text/
.thumbnails/
touchlist
.update-notifier/
very_long_file_name
.vimrc
.Xauthority
.xsession-errors
14:19:41
$cd /usr/share/doc

14:21:08
$ls
desktop-base                  libblkid1                        libpam-modules            policycoreutils
desktop-file-utils            libbonobo2-0                     libpam-runtime            poppler-utils
dhcdbd                        libbonobo2-common                libpanel-applet2-0        portmap
dhcp3-client                  libbonoboui2-0                   libpango1.0-0             powermgmt-base
dhcp3-common                  libbonoboui2-common              libpango1.0-common        printconf
dictd                         libbz2-1.0                       libpaper1                 procmail
dictionaries-common           libc6                            libparted1.7-1            procps
dictzip                       libc6-amd64                      libpci2                   psmisc
diff                          libc6-i686                       libpcre3                  python
discover1                     libcaca0                         libperl5.8                python2.4
...
gtk2-engines-pixbuf           libhal1                          makedev                   xterm
gtk2-engines-spherecrystal    libhal-storage1                  man-db                    xutils
gtkhtml3.8                    libhsqldb-java                   manpages                  xutils-dev
gucharmap                     libice6                          manpages-ru               xxkb
guile-1.6-libs                libicu36                         mawk                      yelp
gzip                          libid3tag0                       menu                      zenity
hal                           libident                         menu-xdg                  zip
hicolor-icon-theme            libidl0                          metacity                  zlib1g
hostname                      libidn11                         metacity-common
hotkey-setup                  libiec61883-0                    mime-support
14:21:30
$cd bash

14:24:42
$cd handbook
bash: cd: handbook: No such file or directory
14:25:00
$ls
BUGS.bash_completion          changelog.gz  completion-contrib  inputrc.arrows  POSIX.gz                   README.commands.gz
changelog.bash_completion.gz  CHANGES.gz    copyright           INTRO.gz        README.abs-guide           README.Debian.gz
changelog.Debian.gz           COMPAT.gz     FAQ                 NEWS.gz         README.bash_completion.gz
14:25:26
$mkdir source doc pics
mkdir: невозможно создать каталог `source': Permission denied
mkdir: невозможно создать каталог `doc': Permission denied
mkdir: невозможно создать каталог `pics': Permission denied
14:27:30
$cd

14:28:18
$pwd
/home/user
14:28:30
$mkdir source doc pics

14:28:57
$ls
base  bin  body  c  Desktop  doc  files  names  pics  proj  projectX  sh  source  test  text  touchlist  very_long_file_name
14:29:05
$mkdir doc/scripting/perl
mkdir: невозможно создать каталог `doc/scripting/perlscripting/perl': No such file or directory
14:34:45
$mkdir -p doc/scripting/perl

14:36:11
$mkdir -p doc/scripting/python doc/c pics/forweb/info/2002/summer

14:40:39
$ls
base  bin  body  c  Desktop  doc  files  names  pics  proj  projectX  sh  source  test  text  touchlist  very_long_file_name
14:40:50
$pwd
/home/user
14:41:21
$cd

14:41:29
$pwd
/home/user
14:41:55
$ls
base  bin  body  c  Desktop  doc  files  names  pics  proj  projectX  sh  source  test  text  touchlist  very_long_file_name
14:42:00
$cd doc

14:42:25
$ls
c  scripting
14:42:32
$touch a b c

14:45:16
$rm a b c
rm: невозможно удалить `c': Is a directory
14:46:06
$cd c

14:47:00
$ls

14:47:33
$rmdir -p pics/forweb/info/2002/summer
rmdir: pics/forweb/info/2002/summer: No such file or directory
14:50:19
$rm -r doc
rm: невозможно удалить `doc': No such file or directory
14:51:23
$pwd
/home/user/doc/c
14:52:56
$pwd
/home/user/doc/c
14:53:49
$cd

14:54:07
$pwd
/home/user
14:54:16
$rm -r doc

14:54:30
$mkdir -p anaj/ona vanaj/on

15:03:39
$pwd
/home/user
15:03:56
$ls
anaj  bin   c        files  pics  projectX  source  text       vanaj
base  body  Desktop  names  proj  sh        test    touchlist  very_long_file_name
15:04:23
$rm -i anaj
rm: невозможно удалить каталог `anaj': Is a directory
15:05:27
$cd

15:05:44
$rm -i anaj
rm: невозможно удалить каталог `anaj': Is a directory
15:05:48
$pwd
/home/user
15:05:58
$rm -i anaj
rm: невозможно удалить каталог `anaj': Is a directory
15:06:02
$rmdir -r anaj
rmdir: invalid option -- r
Попробуйте `rmdir --help' для получения более подробного описания.
15:07:09
$rm -r anaj

15:07:56
$ls
base  bin  body  c  Desktop  files  names  pics  proj  projectX  sh  source  test  text  touchlist  vanaj  very_long_file_name
15:08:19
$rm -v vanaj
rm: невозможно удалить `vanaj': Is a directory
15:12:21
$rm -v vanaj/on
rm: невозможно удалить `vanaj/on': No such file or directory
15:12:42
$rm -r vanay
rm: невозможно удалить `vanay': No such file or directory
15:13:11
$pwd
/home/user
15:13:41
$ls
base  bin  body  c  Desktop  files  names  pics  proj  projectX  sh  source  test  text  touchlist  vanaj  very_long_file_name
15:13:46
$rm -r vanaj

15:14:09
$cp ~/proj/x-project/x ~/proj/x-project/y ~/proj/x-project/z ~/bin

15:18:28
$cd ~/proj/x-project

15:20:37
$cp x y z ~/bin

15:21:04
$cp -R ~/proj/x-project ~/proj/x-backup

15:25:15
$mkdir ~backup
mkdir: невозможно создать каталог `/var/backups': File exists
/dev/pts/2
15:27:14
$vi
15:27:51
$help
GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu)
These shell commands are defined internally.  Type `help' to see this list.
Type `help name' to find out more about the function `name'.
Use `info bash' to find out more about the shell in general.
Use `man -k' or `info' to find out more about commands not in this list.
A star (*) next to a name means that the command is disabled.
 JOB_SPEC [&]                       (( expression ))
 . filename [arguments]             :
 [ arg... ]                         [[ expression ]]
 alias [-p] [name[=value] ... ]     bg [job_spec ...]
...
 shift [n]                          shopt [-pqsu] [-o long-option] opt
 source filename [arguments]        suspend [-f]
 test [expr]                        time [-p] PIPELINE
 times                              trap [-lp] [arg signal_spec ...]
 true                               type [-afptP] name [name ...]
 typeset [-afFirtx] [-p] name[=valu ulimit [-SHacdfilmnpqstuvx] [limit
 umask [-p] [-S] [mode]             unalias [-a] name [name ...]
 unset [-f] [-v] [name ...]         until COMMANDS; do COMMANDS; done
 variables - Some variable names an wait [n]
 while COMMANDS; do COMMANDS; done  { COMMANDS ; }
15:29:22
$su -
Password:
l3-agent is already running: pid=4401; pidfile=/root/.lilalo/l3-agent.pid
15:30:32
#ssh root@192.168.15.1
root@192.168.15.1's password:
Last login: Wed Jan 10 15:30:44 2007 from linux7.unix.nt
Linux linux1 2.6.18-3-686 #1 SMP Mon Dec 4 16:41:14 UTC 2006 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
l3-agent is already running: pid=4109; pidfile=/root/.lilalo/l3-agent.pid
15:30:53
#ssh root@192.168.15.1
ssh: 192.168.15.1x: Name or service not known
прошло 11 минут
/dev/pts/0
15:42:42
$cd

/dev/pts/2
15:44:57
$vi
прошло 25 минут
16:10:09
$exit
There are stopped jobs.
16:10:12
$фУВ ЙА
bash: фУВ: command not found
16:10:13
$SFDG
bash: SFDG: command not found
16:10:15
$VI
bash: VI: command not found
/dev/pts/2
16:12:14
$gvim
E149: Sorry, no help for help.txt
Press ENTER or type command to continue
                                       bash: gvim: command not found
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
E433: No tags file

Статистика

Время первой команды журнала19:57:10 2007- 1- 9
Время последней команды журнала16:12:14 2007- 1-10
Количество командных строк в журнале100
Процент команд с ненулевым кодом завершения, %23.00
Процент синтаксически неверно набранных команд, %15.00
Суммарное время работы с терминалом *, час 3.17
Количество командных строк в единицу времени, команда/мин 0.53
Частота использования команд
ls20|===================| 19.80%
cd15|==============| 14.85%
pwd11|==========| 10.89%
rm11|==========| 10.89%
mkdir7|======| 6.93%
screen4|===| 3.96%
ssh4|===| 3.96%
man3|==| 2.97%
cp3|==| 2.97%
vi2|=| 1.98%
rmdir2|=| 1.98%
$2|=| 1.98%
su2|=| 1.98%
SFDG1|| 0.99%
/N1|| 0.99%
touch1|| 0.99%
dlkgjпмрдло1|| 0.99%
VI1|| 0.99%
passwd11|| 0.99%
del1|| 0.99%
gvim1|| 0.99%
фУВ1|| 0.99%
help1|| 0.99%
grep1|| 0.99%
ssh@192.168.15.11|| 0.99%
/n1|| 0.99%
exit1|| 0.99%
cd/1|| 0.99%
____
*) Интервалы неактивности длительностью 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$