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

Содержание

Журнал

Понедельник (11/27/17)

/dev/pts/4
11:05:03
$ls
bigfile                                names
bin                                    ogo.jpg
freebsd.jpg                            pamyatka.pdf
granata.jpg                            press_any_key_to_continue.jpg
Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  proj
lpi 1                                  sh
lpi 2                                  text
man_smb_conf                           touchlist
matrix.jpg
11:05:18
$mkdir test

11:05:48
$ls
bigfile                                names
bin                                    ogo.jpg
freebsd.jpg                            pamyatka.pdf
granata.jpg                            press_any_key_to_continue.jpg
Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  proj
lpi 1                                  sh
lpi 2                                  test
man_smb_conf                           text
matrix.jpg                             touchlist
11:05:55
$cd test

11:06:22
$pwd
/home/user/test
11:06:46
$touch f1

11:07:30
$stat f1
  Файл: «f1»
  Размер: 0               Блоков: 0          Блок В/В: 4096   пустой обычный файл
Устройство: ca01h/51713d      Inode: 177         Ссылки: 1
Доступ: (0644/-rw-r--r--)  Uid: ( 1000/    user)   Gid: ( 1000/    user)
Доступ: 2017-11-27 12:07:30.014052111 +0200
Модифицирован: 2017-11-27 12:07:30.014052111 +0200
Изменён: 2017-11-27 12:07:30.014052111 +0200
 Создан: -
11:08:01
$touch f1

11:09:57
$stat f1
  Файл: «f1»
  Размер: 0               Блоков: 0          Блок В/В: 4096   пустой обычный файл
Устройство: ca01h/51713d      Inode: 177         Ссылки: 1
Доступ: (0644/-rw-r--r--)  Uid: ( 1000/    user)   Gid: ( 1000/    user)
Доступ: 2017-11-27 12:09:57.902105849 +0200
Модифицирован: 2017-11-27 12:09:57.902105849 +0200
Изменён: 2017-11-27 12:09:57.902105849 +0200
 Создан: -
11:09:59
$touch f2

11:11:39
$ls -l
итого 0
-rw-r--r-- 1 user user 0 Ноя 27 12:09 f1
-rw-r--r-- 1 user user 0 Ноя 27 12:11 f2
11:11:51
$mkdir d1

11:12:06
$mkdir d2

11:12:08
$ls
d1  d2  f1  f2
11:12:15
$ls --color
d1  d2  f1  f2
11:12:44
$ls -F
d1/  d2/  f1  f2
11:12:57
$ls -l
итого 8
drwxr-xr-x 2 user user 4096 Ноя 27 12:12 d1
drwxr-xr-x 2 user user 4096 Ноя 27 12:12 d2
-rw-r--r-- 1 user user    0 Ноя 27 12:09 f1
-rw-r--r-- 1 user user    0 Ноя 27 12:11 f2
11:13:22
$ls -la
итого 16
drwxr-xr-x  4 user user 4096 Ноя 27 12:12 .
drwxr-xr-x 11 user user 4096 Ноя 27 12:05 ..
drwxr-xr-x  2 user user 4096 Ноя 27 12:12 d1
drwxr-xr-x  2 user user 4096 Ноя 27 12:12 d2
-rw-r--r--  1 user user    0 Ноя 27 12:09 f1
-rw-r--r--  1 user user    0 Ноя 27 12:11 f2
11:13:31
$cp f1 d1

11:14:31
$ls d1
f1
11:15:19
$ls d2

11:15:26
$ls d1
f1
11:15:28
$apt-get install tree
E: Не удалось открыть файл блокировки /var/lib/dpkg/lock - open (13: Отказано в доступе)
E: Не удалось выполнить блокировку управляющего каталога (/var/lib/dpkg/); у вас есть права суперпользователя?
11:16:26
$cd d1

11:25:52
$cp ../f2
cp: после «../f2» пропущен операнд, задающий целевой файл
Попробуйте «cp --help» для получения более подробного описания.
11:28:51
$tree
.
└── f1
0 directories, 1 file
11:29:13
$cd

11:29:51
$tree
.
├── bigfile
├── bin
│   ├── bigwork
│   └── signal_trap
├── freebsd.jpg
├── granata.jpg
├── Light_Alloy_4.4.784_RC2_by_FAFNIR.exe
├── lpi 1
│   ├── core
...
│   └── f2
├── text
│   ├── comment-me.txt
│   ├── core
│   ├── hello-vi.txt
│   ├── hellow
│   ├── unixoid.err.txt
│   └── unixoid.orig.txt
└── touchlist
13 directories, 76 files
11:29:55
$cd tree
l3script: cd: tree: Нет такого файла или каталога
11:30:05
$cd test

11:30:13
$cp d1 d2
cp: пропускается каталог «d1»
11:30:27
$cp -rv d1 d2
«d1» -> «d2/d1»
«d1/f1» -> «d2/d1/f1»
11:30:56
$tree
.
├── d1
│   └── f1
├── d2
│   └── d1
│       └── f1
├── f1
└── f2
3 directories, 4 files
11:31:19
$cd -
/home/user
11:32:01
$cd test

11:32:17
$cd =
l3script: cd: =: Нет такого файла или каталога
11:32:23
$cd -
/home/user
11:32:27
$echo $oldpwd

11:33:07
$cd test

11:33:35
$echo $oldpwd

11:33:58
$tree
.
├── d1
│   └── f1
├── d2
│   └── d1
│       └── f1
├── f1
└── f2
3 directories, 4 files
11:34:11
$tree
.
├── d1
│   └── f1
├── d2
│   └── d1
│       └── f1
├── f1
└── f2
3 directories, 4 files
11:34:44
$mv f2 f3

11:36:08
$tree
.
├── d1
│   └── f1
├── d2
│   └── d1
│       └── f1
├── f1
└── f3
3 directories, 4 files
11:36:13
$mv f3 d1

11:36:42
$tree
.
├── d1
│   ├── f1
│   └── f3
├── d2
│   └── d1
│       └── f1
└── f1
3 directories, 4 files
11:36:45
$rm f1

11:38:10
$tree
.
├── d1
│   ├── f1
│   └── f3
└── d2
    └── d1
        └── f1
3 directories, 3 files
11:38:13
$rm d2/d1
rm: невозможно удалить «d2/d1»: Это каталог
11:39:11
$rm -r d2/d1

11:39:31
$tree
.
├── d1
│   ├── f1
│   └── f3
└── d2
2 directories, 2 files
11:39:34
$echo d
d
11:41:05
$echo d
d
11:41:08
$echo d
d
11:41:10
$echo d
d
11:41:11
$echo d
d
11:41:17
$echo d
d
11:41:18
$echo d*
d1 d2
11:41:24
$ls -l /dev/cdrom1
lrwxrwxrwx 1 root root 3 Ноя 24 15:19 /dev/cdrom1 -> sr0
11:42:27
$ls -l /dev/sr0
brw-rw---T 1 root cdrom 11, 0 Ноя 24 15:19 /dev/sr0
11:44:06
$mailq
exim: permission denied
11:45:06
$which mailq
/usr/bin/mailq
11:45:15
$tree
.
├── d1
│   ├── f1
│   └── f3
└── d2
2 directories, 2 files
11:47:43
$ln -s d1/f1 f1

11:48:19
$tree
.
├── d1
│   ├── f1
│   └── f3
├── d2
└── f1 -> d1/f1
2 directories, 3 files
11:48:27
$ls -l --color
итого 8
drwxr-xr-x 2 user user 4096 Ноя 27 12:36 d1
drwxr-xr-x 2 user user 4096 Ноя 27 12:39 d2
lrwxrwxrwx 1 user user    5 Ноя 27 12:48 f1 -> d1/f1
11:49:18
$ln d1/f1 f1 f1h
ln: указанная цель «f1h» не является каталогом
11:50:18
$ln d1/f1 f1h

11:50:34
$ls -l
итого 8
drwxr-xr-x 2 user user 4096 Ноя 27 12:36 d1
drwxr-xr-x 2 user user 4096 Ноя 27 12:39 d2
lrwxrwxrwx 1 user user    5 Ноя 27 12:48 f1 -> d1/f1
-rw-r--r-- 2 user user    0 Ноя 27 12:14 f1h
прошло 48 минут
12:39:24
$cd~
l3script: cd~: команда не найдена
12:39:55
$cd

12:39:57
$mkdir test1

12:40:17
$cd test1

12:40:28
$touch f3

12:40:44
$touch f4

12:40:46
$cd

12:40:55
$cd test

12:41:02
$tree
.
├── d1
│   ├── f1
│   └── f3
├── d2
├── f1 -> d1/f1
└── f1h
2 directories, 4 files
12:41:06
$pwd
/home/user/test
12:41:43
$cd

12:42:12
$cd test1

12:42:15
$tree
.
├── f3
└── f4
0 directories, 2 files
12:42:19
$ls
f3  f4
12:42:38
$ls -la
итого 8
drwxr-xr-x  2 user user 4096 Ноя 27 13:40 .
drwxr-xr-x 12 user user 4096 Ноя 27 13:40 ..
-rw-r--r--  1 user user    0 Ноя 27 13:40 f3
-rw-r--r--  1 user user    0 Ноя 27 13:40 f4
12:42:44
$cd

12:44:19
$ls
bigfile      Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  matrix.jpg    press_any_key_to_continue.jpg  test1
bin          lpi 1                                  names         proj                           text
freebsd.jpg  lpi 2                                  ogo.jpg       sh                             touchlist
granata.jpg  man_smb_conf                           pamyatka.pdf  test
12:44:21
$cd~
l3script: cd~: команда не найдена
12:44:37
$pwd
/home/user
12:44:46
$cd

12:45:18
$ls
bigfile      Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  matrix.jpg    press_any_key_to_continue.jpg  test1
bin          lpi 1                                  names         proj                           text
freebsd.jpg  lpi 2                                  ogo.jpg       sh                             touchlist
granata.jpg  man_smb_conf                           pamyatka.pdf  test
12:45:25
$pwd
/home/user
12:45:39
$ls user
ls: невозможно получить доступ к user: Нет такого файла или каталога
12:45:49
$cd

12:46:16
$ls -lf
lpi 1        .bashrc                        test1         .                                      test
proj         .lilalo                        granata.jpg   lpi 2                                  sh
..           .bash_history                  bigfile       man_smb_conf                           .bash_profile
text         press_any_key_to_continue.jpg  ogo.jpg       Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  touchlist
matrix.jpg   bin                            .l3rc         names
freebsd.jpg  .profile                       pamyatka.pdf  .bash_logout
12:46:28
$ls -la
итого 2972
drwxr-xr-x 12 user user    4096 Ноя 27 13:40 .
drwxr-xr-x  5 root root    4096 Ноя 27 11:11 ..
-rw-------  1 user user      11 Окт  9  2014 .bash_history
-rw-r--r--  1 user user     220 Июн 27  2014 .bash_logout
-rw-r--r--  1 user root      10 Июн 27  2014 .bash_profile
-rw-r--r--  1 user user    3457 Июн 27  2014 .bashrc
-rwxr-xr-x  1 user user    7994 Окт  9  2014 bigfile
drwxr-xr-x  2 user user    4096 Окт  9  2014 bin
-rwxr-xr-x  1 user user  232966 Окт  9  2014 freebsd.jpg
...
-rwxr-xr-x  1 user user   17622 Окт  9  2014 ogo.jpg
-rwxr-xr-x  1 user user   84663 Окт  9  2014 pamyatka.pdf
-rwxr-xr-x  1 user user   23048 Окт  9  2014 press_any_key_to_continue.jpg
-rw-r--r--  1 user user     675 Июн 27  2014 .profile
drwxr-xr-x  3 user user    4096 Окт  9  2014 proj
drwxr-xr-x  2 user user    4096 Окт  9  2014 sh
drwxr-xr-x  4 user user    4096 Ноя 27 12:50 test
drwxr-xr-x  2 user user    4096 Ноя 27 13:40 test1
drwxr-xr-x  2 user user    4096 Окт  9  2014 text
-rwxr-xr-x  1 user user      75 Окт  9  2014 touchlist
12:46:39
$cd /usr/share/doc

12:47:20
$ls
acpi                    isc-dhcp-common           libmro-compat-perl         mount
acpid                   kbd                       libncurses5                multiarch-support
acpi-support-base       keyboard-configuration    libncursesw5               nano
adduser                 klibc-utils               libnewt0.52                ncurses-base
apt                     kmod                      libnfnetlink0              ncurses-bin
aptitude                laptop-detect             libp11-kit0                ncurses-term
aptitude-common         less                      libpam0g                   netbase
apt-utils               lib32gcc1                 libpam-modules             netcat
base-files              lib32gomp1                libpam-modules-bin         netcat-traditional
base-passwd             lib32itm1                 libpam-runtime             netdiag
...
initramfs-tools         liblocale-gettext-perl    lsb-base                   wget
initscripts             liblockfile1              lynx                       whiptail
insserv                 liblockfile-bin           lynx-cur                   xauth
installation-report     liblwres80                make                       xkb-data
install-info            liblzma5                  man-db                     xml-core
iproute                 libmodule-build-perl      manpages                   xz-utils
iptables                libmodule-signature-perl  manpages-dev               zlib1g
iptraf                  libmount1                 mawk
iputils-ping            libmpc2                   mime-support
isc-dhcp-client         libmpfr4                  module-init-tools
12:47:24
$cd bash

12:47:38
$cd handbook
l3script: cd: handbook: Нет такого файла или каталога
12:48:31
$cd

Статистика

Время первой команды журнала11:05:03 2017-11-27
Время последней команды журнала12:48:31 2017-11-27
Количество командных строк в журнале100
Процент команд с ненулевым кодом завершения, %10.00
Процент синтаксически неверно набранных команд, % 2.00
Суммарное время работы с терминалом *, час 0.91
Количество командных строк в единицу времени, команда/мин 1.83
Частота использования команд
ls23|=======================| 23.00%
cd23|=======================| 23.00%
tree13|=============| 13.00%
echo9|=========| 9.00%
touch5|=====| 5.00%
mkdir4|====| 4.00%
pwd4|====| 4.00%
cp4|====| 4.00%
ln3|===| 3.00%
rm3|===| 3.00%
cd~2|==| 2.00%
stat2|==| 2.00%
mv2|==| 2.00%
apt-get1|=| 1.00%
which1|=| 1.00%
mailq1|=| 1.00%
____
*) Интервалы неактивности длительностью 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$