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

Содержание

Журнал

Пятница (09/11/09)

/dev/ttyp3
15:18:37
$ps awux |
user      2965  0.0  0.1   4624   744 ttyp6    R+   16:18   0:00 grep screen
15:18:53
$screen -w
15:18:57
$kill -9 1786

/dev/ttyp7
15:19:02
$screen -x
/dev/ttyp3
15:19:03
$screen -w
15:19:06
$screen
/dev/ttyp7
15:19:12
$screen -x
/dev/ttyp0
15:19:20
$ssh 192.168.16.254
  1 #!/bin/bash
  2 #set -x
  3 #rsync -az nt.ua:/tmp/test/ /backup-nt/test/ && echo rsync_is_done | ssh clint@nt.ua mail -s rsync_nt sergey.cherepenin@gmail.com
  4 route add -host nt.ua gw 10.0.1.1
  5 rsync -az nt.ua:/usr/www/nt.com.ua/ /backup-nt/nt.com.ua/ && ssh clint@nt.ua 'df -h | mail -s rsync_nt_done sergey.cherepenin@gmail.com'
  6 route del -host nt.ua gw 10.0.1.1
"/sbin/rsync_nt" 6L, 355C
/dev/ttyp8
15:19:28
$screen -x
/dev/ttyp0
15:28:12
$lspci --help
lspci: invalid option -- -
Usage: lspci [<switches>]
-v              Be verbose
-n              Show numeric ID's
-nn             Show both textual and numeric ID's (names & numbers)
-b              Bus-centric view (PCI addresses and IRQ's instead of those seen by the CPU)
-x              Show hex-dump of the standard portion of config space
-xxx            Show hex-dump of the whole config space (dangerous; root only)
-xxxx           Show hex-dump of the 4096-byte extended config space (root only)
-s [[[[<domain>]:]<bus>]:][<slot>][.[<func>]]   Show only devices in selected slots
-d [<vendor>]:[<device>]        Show only selected devices
-t              Show bus tree
-m              Produce machine-readable output
-i <file>       Use specified ID database instead of /usr/share/misc/pci.ids
-D              Always show domain numbers
-M              Enable `bus mapping' mode (dangerous; root only)
-P <dir>        Use specified directory instead of /proc/bus/pci
-H <mode>       Use direct hardware access (<mode> = 1 or 2)
-F <file>       Read configuration data from given file
-G              Enable PCI access debugging
прошло 15 минут
15:44:05
$whois
bash: whois: command not found
15:51:14
$sudo
Password:
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Будут установлены следующие дополнительные пакеты:
  libidn11
НОВЫЕ пакеты, которые будут установлены:
  libidn11 whois
обновлено 0, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 55 пакетов не обновлено.
Необходимо скачать 163kБ архивов.
После распаковки объем занятого дискового пространства возрастёт на 594kB.
Хотите продолжить [Д/н]?
Получено:1 http://debian.org.ua etch/main libidn11 0.6.5-1 [116kB]
Получено:2 http://debian.org.ua etch/main whois 4.7.20 [47,7kB]
Получено 163kB за 0s (738kB/c)
Выбор ранее не выбранного пакета libidn11.
(Чтение базы данных... на данный момент установлено 23070 файлов и каталогов.)
Распаковывается пакет libidn11 (из файла .../libidn11_0.6.5-1_i386.deb)...
Выбор ранее не выбранного пакета whois.
Распаковывается пакет whois (из файла .../archives/whois_4.7.20_i386.deb)...
Настраивается пакет libidn11 (0.6.5-1) ...
Настраивается пакет whois (4.7.20) ...
15:51:30
$whois nt.ua | grep gmail
e-mail:         sergey.cherepenin@gmail.com

Понедельник (09/14/09)

/dev/ttyp2
19:28:55
$cd /tmp

19:28:57
$mkdir find

19:29:01
$cd find

19:29:03
$touch 1.cnf

19:29:07
$touch 1.conf

19:29:10
$touch 1.config

19:29:12
$find . -regex 1.*
find: пути должны быть перед выражением
Usage: find [-H] [-L] [-P] [path...] [expression]
19:29:23
$find . -regex 1\

19:29:26
$find . -regex 1\..

19:29:35
$find . -regex '

19:29:42
$find . -regex '1\.\(config\|cnf\|conf\)

19:30:06
$find . -regex '.*
./1.cnf
./1.config
./1.conf
19:30:20
$find . -regex '1

19:30:27
$find . -regex '\
find: Invalid back reference
19:30:34
$find . -regex '
./1.cnf
./1.config
./1.conf
19:30:54
$touch 123.c
[user@debian1:find]$ find . -regex '
./1.cnf
./1.config
./1.conf
19:31:00
$find . -regex '.*\(config\|cnf\|conf\)'
./1.cnf
./1.config
./1.conf
19:31:02
$ls
123.c  1.cnf  1.conf  1.config
19:31:05
$find . -regex '1

19:31:12
$find . -regex 1

19:31:20
$find . -regex '^1

19:31:59
$find . -regex '^1.*(config|cnf|conf

19:32:07
$find . -regex '^

19:32:11
$find . -regex '^.*(config\

19:32:15
$find . -regex '^.*\
./1.cnf
./1.config
./1.conf
19:32:18
$find . -regex '^1\.\(config\|cnf\|conf\)

19:32:32
$find . -regex '

19:32:36
$find . -regex '\
find: Invalid back reference
19:32:39
$find . -regex .config -o -regex .cnf

19:32:55
$find ./

19:32:59
$find ./ -regex '

19:33:10
$find ./ -regex '.*config' -o -regex '.*
./1.cnf
./1.config

Статистика

Время первой команды журнала15:18:37 2009- 9-11
Время последней команды журнала19:33:10 2009- 9-14
Количество командных строк в журнале45
Процент команд с ненулевым кодом завершения, %15.56
Процент синтаксически неверно набранных команд, % 2.22
Суммарное время работы с терминалом *, час 0.62
Количество командных строк в единицу времени, команда/мин 1.21
Частота использования команд
find24|============================================| 44.44%
screen6|===========| 11.11%
touch4|=======| 7.41%
cnf\3|=====| 5.56%
conf\)2|===| 3.70%
cd2|===| 3.70%
whois2|===| 3.70%
cnf1|=| 1.85%
ps1|=| 1.85%
mkdir1|=| 1.85%
sudo1|=| 1.85%
conf1|=| 1.85%
conf\)'1|=| 1.85%
lspci1|=| 1.85%
grep1|=| 1.85%
kill1|=| 1.85%
ls1|=| 1.85%
ssh1|=| 1.85%
____
*) Интервалы неактивности длительностью 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$