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

Содержание

Журнал

Среда (03/30/11)

/dev/pts/9
10:25:17
#last
root     pts/9        :0.0             Wed Mar 30 12:07   still logged in
root     pts/2        linux253.unix.ba Wed Mar 30 11:55   still logged in
root     pts/6        :0.0             Wed Mar 30 11:37   still logged in
root     pts/4        :0.0             Wed Mar 30 10:57   still logged in
root     :0                            Wed Mar 30 10:57   still logged in
root     :0                            Wed Mar 30 10:57 - 10:57  (00:00)
root     pts/2        linux253.unix.ba Wed Mar 30 10:54 - 11:48  (00:53)
root     pts/2        linux253.unix.ba Wed Mar 30 10:54 - 10:54  (00:00)
root     tty5                          Wed Mar 30 10:40   still logged in
root     pts/8        :0.0             Wed Mar 30 10:23 - 10:55  (00:32)
...
user     :0                            Mon Mar 28 10:46 - 10:46  (00:00)
reboot   system boot  2.6.18-194.el5   Mon Mar 28 10:40          (07:48)
root     tty1                          Mon Mar 28 10:18 - down   (00:20)
reboot   system boot  2.6.18-194.el5   Mon Mar 28 10:17          (00:21)
root     tty1                          Sun Mar 27 22:22 - down   (00:00)
root     :0                            Sun Mar 27 22:22 - down   (00:00)
root     :0                            Sun Mar 27 22:22 - 22:22  (00:00)
reboot   system boot  2.6.18-194.el5   Sun Mar 27 21:38          (00:44)
reboot   system boot  2.6.18-194.el5   Sun Mar 27 21:35          (00:01)
wtmp begins Sun Mar 27 21:35:05 2011
прошло 22 минуты
10:47:43
#last | awk '{print $1}' | grep -v USER | sort | uniq -c | sort -rn
     43 root
     13 reboot
      8 user
      2 user1
      1 wtmp
      1
10:48:16
#last | awk '{print $1}' | grep -v USER | sort | uniq -c | sort -rn| sed '$d'
     43 root
     13 reboot
      8 user
      2 user1
      1 wtmp
10:51:01
#diff /etc/passwd /tmp/passwd -u | vim -
прошло 17 минут
11:08:05
#vimdiff /etc/passwd /tmp/passwd
+ +--  5 lines: root:x:0:0:root:/root:/b|
"/tmp/passwd" 36L, 1635C
  sync:x:5:0:sync:/sbin:/bin/sync       |
  shutdown:x:6:0:shutdown:/sbin:/sbin/sh|
  halt:x:7:0:halt:/sbin:/sbin/halt      |
  mail:x:8:12:mail:/var/spool/mail:/sbin|
  news:x:9:13:news:/etc/news:           |
  uucp:x:10:14:uucp:/var/spool/uucp:/sbi|
  operator:x:11:0:operator:/root:/sbin/n|
  games:x:12:100:games:/usr/games:/sbin/|
  ~                                     |
  ~                                     |
  ~                                     |
  ~                                     |
  ~                                     |
  ~                                     |
  ~                                     |
  nscd:x:28:28:NSCD Daemon:/:/sbin/nolog|
  vcsa:x:69:69:virtual console memory ow|
+ +-- 18 lines: pcap:x:77:77::/var/arpwa|
11:08:27
# euucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
S.5.....    /usr/sbin/libgcc_post_upgrade
11:12:00
#echo /usr/bin/
/usr/bin/
прошло 48 минут
12:00:11
#ls /usr/bin/
[
411toppm
a2p
a2ps
ab
ac
aconnect
acpi_listen
activation-client
addftinfo
...
zip
zipcloak
zipgrep
zipinfo
zipnote
zipsplit
zless
zmore
znew
zsoelim
12:00:21
#ls /usr/bin/ | grep ^1

12:00:43
#ls /usr/bin/ | grep ^d
dateconfig
dbus-binding-tool
dbus-launch
dc
dcraw
ddate
ddbugtopbm
deallocvt
debugsh
desktop-file-install
...
du
dumpiso
dund
dvcont
dvd-ram-control
dvdrecord
dvd+rw-booktype
dvd+rw-format
dvd+rw-mediainfo
dvipdf
12:00:46
#ls /usr/bin/ | grep -v ^d
[
411toppm
a2p
a2ps
ab
ac
aconnect
acpi_listen
activation-client
addftinfo
...
zip
zipcloak
zipgrep
zipinfo
zipnote
zipsplit
zless
zmore
znew
zsoelim
12:01:01
#ls -l /usr/bin/ | grep -v ^d
total 124264
-rwxr-xr-x 1 root root      32296 Mar  1  2010 [
-rwxr-xr-x 1 root root      10760 Sep  3  2009 411toppm
-rwxr-xr-x 1 root root     107872 Sep  3  2009 a2p
-rwxr-xr-x 1 root root     353464 May 25  2008 a2ps
-rwxr-xr-x 1 root root      47504 Apr  5  2010 ab
-rwxr-xr-x 1 root root      23984 Mar 12  2009 ac
-rwxr-xr-x 1 root root      22344 Jan 21  2009 aconnect
-rwxr-xr-x 1 root root      10800 Jan  8  2010 acpi_listen
-rwxr-xr-x 1 root root      17544 Jan  7  2007 activation-client
...
-rwxr-xr-x 1 root root      77280 Mar 12  2009 zip
-rwxr-xr-x 1 root root      34784 Mar 12  2009 zipcloak
-rwxr-xr-x 1 root root       1188 Mar 12  2009 zipgrep
-rwxr-xr-x 2 root root     125432 Mar 12  2009 zipinfo
-rwxr-xr-x 1 root root      30632 Mar 12  2009 zipnote
-rwxr-xr-x 1 root root      34728 Mar 12  2009 zipsplit
-rwxr-xr-x 1 root root         99 Jan 20  2010 zless
-rwxr-xr-x 1 root root       1933 Jan 20  2010 zmore
-rwxr-xr-x 1 root root       3420 Jan 20  2010 znew
lrwxrwxrwx 1 root root          6 Mar 27 21:08 zsoelim -> soelim
12:01:16
#ls -l /usr/bin/ | grep -v ^d|sort -rn
total 124264
---s--x--x 2 root root     180224 Mar 31  2010 sudoedit
---s--x--x 2 root root     180224 Mar 31  2010 sudo
-r-xr-xr-x 5 root root      10992 Jan  6  2007 x86_64
-r-xr-xr-x 5 root root      10992 Jan  6  2007 setarch
-r-xr-xr-x 5 root root      10992 Jan  6  2007 linux64
-r-xr-xr-x 5 root root      10992 Jan  6  2007 linux32
-r-xr-xr-x 5 root root      10992 Jan  6  2007 i386
-r-xr-xr-x 2 root root      18512 Mar 31  2010 pkill
-r-xr-xr-x 2 root root      18512 Mar 31  2010 pgrep
...
lrwxrwxrwx 1 root root         13 Mar 27 21:09 kbdrate -> consolehelper
lrwxrwxrwx 1 root root         13 Mar 27 21:09 halt -> consolehelper
lrwxrwxrwx 1 root root         13 Mar 27 21:09 env -> ../../bin/env
lrwxrwxrwx 1 root root         13 Mar 27 21:09 cut -> ../../bin/cut
lrwxrwxrwx 1 root root         13 Mar 27 21:09 authconfig-tui -> consolehelper
lrwxrwxrwx 1 root root         13 Mar 27 21:09 authconfig -> consolehelper
lrwxrwxrwx 1 root root         13 Mar 27 21:08 eject -> consolehelper
lrwxrwxrwx 1 root root         12 Mar 27 21:13 gimptool -> gimptool-2.0
lrwxrwxrwx 1 root root         10 Mar 27 21:11 pnminterp -> pamstretch
lrwxrwxrwx 1 root root         10 Mar 27 21:11 pnmenlarge -> pamenlarge
12:01:55
#ls -l /usr/bin/ | grep -v ^d
total 124264
-rwxr-xr-x 1 root root      32296 Mar  1  2010 [
-rwxr-xr-x 1 root root      10760 Sep  3  2009 411toppm
-rwxr-xr-x 1 root root     107872 Sep  3  2009 a2p
-rwxr-xr-x 1 root root     353464 May 25  2008 a2ps
-rwxr-xr-x 1 root root      47504 Apr  5  2010 ab
-rwxr-xr-x 1 root root      23984 Mar 12  2009 ac
-rwxr-xr-x 1 root root      22344 Jan 21  2009 aconnect
-rwxr-xr-x 1 root root      10800 Jan  8  2010 acpi_listen
-rwxr-xr-x 1 root root      17544 Jan  7  2007 activation-client
...
-rwxr-xr-x 1 root root      77280 Mar 12  2009 zip
-rwxr-xr-x 1 root root      34784 Mar 12  2009 zipcloak
-rwxr-xr-x 1 root root       1188 Mar 12  2009 zipgrep
-rwxr-xr-x 2 root root     125432 Mar 12  2009 zipinfo
-rwxr-xr-x 1 root root      30632 Mar 12  2009 zipnote
-rwxr-xr-x 1 root root      34728 Mar 12  2009 zipsplit
-rwxr-xr-x 1 root root         99 Jan 20  2010 zless
-rwxr-xr-x 1 root root       1933 Jan 20  2010 zmore
-rwxr-xr-x 1 root root       3420 Jan 20  2010 znew
lrwxrwxrwx 1 root root          6 Mar 27 21:08 zsoelim -> soelim
12:02:14
#ls -l /usr/bin/ | grep -v ^d | wc -c
103139

Статистика

Время первой команды журнала10:25:17 2011- 3-30
Время последней команды журнала12:02:14 2011- 3-30
Количество командных строк в журнале15
Процент команд с ненулевым кодом завершения, %20.00
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 0.81
Количество командных строк в единицу времени, команда/мин 0.31
Частота использования команд
grep9|==========================| 26.47%
ls8|=======================| 23.53%
sort3|========| 8.82%
last3|========| 8.82%
uniq2|=====| 5.88%
awk2|=====| 5.88%
wc1|==| 2.94%
echo1|==| 2.94%
diff1|==| 2.94%
vimdiff1|==| 2.94%
sed1|==| 2.94%
nologin1|==| 2.94%
vim1|==| 2.94%
____
*) Интервалы неактивности длительностью 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$