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

Содержание

Журнал

Понедельник (07/16/18)

/dev/pts/4
09:52:00
$cut /tmp/test
cut: вы должны задать список байт, символов или полей
Попробуйте «cut --help» для получения более подробного описания.
прошло 72 минуты
11:04:55
$cd /

прошло 118 минут
13:03:32
$ls
bin  boot  dev  etc  home  initrd.img  lib  lib32  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  selinux  srv  sys  tmp  usr  var  vmlinuz
13:03:37
$cd ~

13:03:47
$pwd
/home/user
13:03:52
$cd ..

13:04:03
$pwd
/home
13:04:06
$ls
ivan  petr  user
13:04:12
$cd

13:04:27
$ls -lF
итого 2928
-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   52884 Окт  9  2014 granata.jpg*
-rwxr-xr-x 1 user user 1751860 Окт  9  2014 Light_Alloy_4.4.784_RC2_by_FAFNIR.exe*
drwxr-xr-x 2 user user    4096 Окт  9  2014 lpi 1/
drwxr-xr-x 2 user user    4096 Окт  9  2014 lpi 2/
-rwxr-xr-x 1 user user   26648 Окт  9  2014 man_smb_conf*
-rwxr-xr-x 1 user user  755680 Окт  9  2014 matrix.jpg*
drwxr-xr-x 3 user user    4096 Окт  9  2014 names/
-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*
drwxr-xr-x 3 user user    4096 Окт  9  2014 proj/
drwxr-xr-x 2 user user    4096 Окт  9  2014 sh/
drwxr-xr-x 2 user user    4096 Окт  9  2014 text/
-rwxr-xr-x 1 user user      75 Окт  9  2014 touchlist*
13:04:56
$ls -alF
итого 2964
drwxr-xr-x 10 user user    4096 Окт  9  2014 ./
drwxr-xr-x  5 root root    4096 Июл 16 10:44 ../
-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  755680 Окт  9  2014 matrix.jpg*
drwxr-xr-x  3 user user    4096 Окт  9  2014 names/
-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  2 user user    4096 Окт  9  2014 text/
-rwxr-xr-x  1 user user      75 Окт  9  2014 touchlist*
13:05:09
$cd /usr/share/doc

13:05:31
$ls
acpi                    exim4-daemon-light      libacl1                   libgssapi-krb5-2          libsemanage1               logrotate                python-fpconst
acpid                   findutils               libalgorithm-c3-perl      libidn11                  libsemanage-common         lsb-base                 python-minimal
acpi-support-base       gcc                     libapt-inst1.5            libisc84                  libsepol1                  lynx                     python-reportbug
adduser                 gcc-4.7                 libapt-pkg4.12            libisccc80                libsigc++-2.0-0c2a         lynx-cur                 python-soappy
apt                     gcc-4.7-base            libasprintf0c2            libisccfg82               libslang2                  make                     python-support
aptitude                gcc-4.7-multilib        libattr1                  libitm1                   libsoftware-license-perl   man-db                   readline-common
aptitude-common         gcc-multilib            libbind9-80               libk5crypto3              libsqlite3-0               manpages                 reportbug
apt-utils               geoip-database          libblkid1                 libkeyutils1              libss2                     manpages-dev             rsyslog
base-files              gettext-base            libboost-iostreams1.49.0  libklibc                  libssl1.0.0                mawk                     screen
base-passwd             gnupg                   libbsd0                   libkmod2                  libstdc++6                 mime-support             sed
...
dmidecode               kbd                     libgc1c2                  libpci3                   libxmuu1                   procps                   wget
dmsetup                 keyboard-configuration  libgcc1                   libpcre3                  links                      psmisc                   whiptail
dnsutils                klibc-utils             libgcrypt11               libpipeline1              linux-base                 python                   xauth
dpkg                    kmod                    libgdbm3                  libpod-readme-perl        linux-image-3.2.0-4-amd64  python2.7                xkb-data
e2fslibs                laptop-detect           libgeoip1                 libpopt0                  linux-image-amd64          python2.7-minimal        xml-core
e2fsprogs               less                    libgmp10                  libprocps0                linux-libc-dev             python-apt               xz-utils
eject                   lib32gcc1               libgnutls26               libquadmath0              locales                    python-apt-common        zlib1g
exim4                   lib32gomp1              libgomp1                  libreadline6              locate                     python-chardet
exim4-base              lib32itm1               libgpg-error0             libregexp-common-perl     lockfile-progs             python-debian
exim4-config            lib32quadmath0          libgpm2                   libselinux1               login                      python-debianbts
13:05:39
$cd bash
bash/            bash-completion/
13:05:39
$cd bash

13:07:13
$ls
changelog.Debian.gz  COMPAT.gz  FAQ             INTRO.gz  POSIX.gz          README.bash_completion.gz  README.Debian.gz
CHANGES.gz           copyright  inputrc.arrows  NEWS.gz   README.abs-guide  README.commands.gz
13:07:14
$..
l3script: ..: команда не найдена
13:07:24
$cd ..

13:07:27
$cd bash/faq/
l3script: cd: bash/faq/: Нет такого файла или каталога
13:09:28
$cd bash/FAQ
l3script: cd: bash/FAQ: Это не каталог
13:09:36
$cd bash
bash/            bash-completion/
13:09:36
$cd bash
bash/            bash-completion/
13:09:36
$cd bash-completion/

13:10:06
$ls
AUTHORS  changelog.Debian.gz  changelog.gz  copyright  README.Debian  README.gz
13:10:08
$cd bash
l3script: cd: bash: Нет такого файла или каталога
13:11:05
$cd ../bash

13:11:12
$less
13:11:12
$less
13:11:12
$less copyright
13:11:57
$cd

13:12:21
$mkdir source doc pics

13:12:54
$ls -l
итого 2940
-rwxr-xr-x 1 user user    7994 Окт  9  2014 bigfile
drwxr-xr-x 2 user user    4096 Окт  9  2014 bin
drwxr-xr-x 2 user user    4096 Июл 16 14:12 doc
-rwxr-xr-x 1 user user  232966 Окт  9  2014 freebsd.jpg
-rwxr-xr-x 1 user user   52884 Окт  9  2014 granata.jpg
-rwxr-xr-x 1 user user 1751860 Окт  9  2014 Light_Alloy_4.4.784_RC2_by_FAFNIR.exe
drwxr-xr-x 2 user user    4096 Окт  9  2014 lpi 1
drwxr-xr-x 2 user user    4096 Окт  9  2014 lpi 2
-rwxr-xr-x 1 user user   26648 Окт  9  2014 man_smb_conf
-rwxr-xr-x 1 user user  755680 Окт  9  2014 matrix.jpg
drwxr-xr-x 3 user user    4096 Окт  9  2014 names
-rwxr-xr-x 1 user user   17622 Окт  9  2014 ogo.jpg
-rwxr-xr-x 1 user user   84663 Окт  9  2014 pamyatka.pdf
drwxr-xr-x 2 user user    4096 Июл 16 14:12 pics
-rwxr-xr-x 1 user user   23048 Окт  9  2014 press_any_key_to_continue.jpg
drwxr-xr-x 3 user user    4096 Окт  9  2014 proj
drwxr-xr-x 2 user user    4096 Окт  9  2014 sh
drwxr-xr-x 2 user user    4096 Июл 16 14:12 source
drwxr-xr-x 2 user user    4096 Окт  9  2014 text
-rwxr-xr-x 1 user user      75 Окт  9  2014 touchlist
13:12:58
$ls
bigfile  doc          granata.jpg                            lpi 1  man_smb_conf  names    pamyatka.pdf  press_any_key_to_continue.jpg  sh      text
bin      freebsd.jpg  Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  lpi 2  matrix.jpg    ogo.jpg  pics          proj                           source  touchlist
13:13:02
$mkdir -p doc/scripting/perl doc/scripting/python doc/c pics/forweb/info/2002/summer

13:18:03
$cd doc/scripting/perl
l3script: cd: doc/scripting/perl: Нет такого файла или каталога
13:18:16
$..
l3script: ..: команда не найдена
13:18:38
$cd ..

13:18:40
$ls
perl  python
13:18:42
$cd perl

13:18:46
$ls

13:18:48
$ls -all
итого 8
drwxr-xr-x 2 user user 4096 Июл 16 14:16 .
drwxr-xr-x 4 user user 4096 Июл 16 14:16 ..
13:18:50
$cd ..

13:19:23
$ls
perl  python
13:19:24
$cd ..

13:19:29
$ls
c  scripting
13:19:31
$tree
.
├── c
└── scripting
    ├── perl
    └── python
4 directories, 0 files
13:19:35
$pwd
/home/user/doc
13:19:40
$cd /pics
l3script: cd: /pics: Нет такого файла или каталога
13:20:04
$cd ../pics

13:20:15
$ls
forweb
13:20:17
$pwd
/home/user/pics
13:20:20
$cd forweb

13:20:32
$cd info/

13:20:37
$cd 2002/

13:20:41
$cd summer/

13:20:44
$tree
.
0 directories, 0 files
13:20:47
$pwd
/home/user/pics/forweb/info/2002/summer
13:20:52
$~
l3script: /home/user: Это каталог
13:20:57
$cd

13:20:59
$pwd
/home/user
13:21:02
$touch a b c

13:21:09
$ls
a  bigfile  c    freebsd.jpg  Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  lpi 2         matrix.jpg  ogo.jpg       pics                           proj  source  touchlist
b  bin      doc  granata.jpg  lpi 1                                  man_smb_conf  names       pamyatka.pdf  press_any_key_to_continue.jpg  sh    text
13:21:11
$rm -r a b c

13:21:40
$rm -r doc pics source

13:23:29
$ls
bigfile  freebsd.jpg  Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  lpi 2         matrix.jpg  ogo.jpg       press_any_key_to_continue.jpg  sh    touchlist
bin      granata.jpg  lpi 1                                  man_smb_conf  names       pamyatka.pdf  proj                           text
13:23:31
$touch 1

13:24:01
$mkdir 2

13:24:11
$ls
1  bigfile  freebsd.jpg  Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  lpi 2         matrix.jpg  ogo.jpg       press_any_key_to_continue.jpg  sh    touchlist
2  bin      granata.jpg  lpi 1                                  man_smb_conf  names       pamyatka.pdf  proj                           text
13:24:13
$rm -i 1
rm: удалить пустой обычный файл «1»? y
13:24:31
$rm -i 2
rm: невозможно удалить «2»: Это каталог
13:24:38
$rm -i -r 2
rm: удалить каталог «2»? y
13:24:45
$touch 1

13:24:51
$mkdir 2

13:24:56
$rm -v 1
удалён «1»
13:25:05
$rm -v -r 2
удален каталог: «2»
13:25:16
$ls
bigfile  freebsd.jpg  Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  lpi 2         matrix.jpg  ogo.jpg       press_any_key_to_continue.jpg  sh    touchlist
bin      granata.jpg  lpi 1                                  man_smb_conf  names       pamyatka.pdf  proj                           text
13:25:19
$cd ~/proj/x-project/x ~/proj/x-project/y ~/proj/x-project/z ~/bin
l3script: cd: /home/user/proj/x-project/x: Это не каталог
13:26:43
$cd ~/proj/x-project/x ~/proj/x-project/y ~/proj/x-project/z ~/bin
l3script: cd: /home/user/proj/x-project/x: Это не каталог
13:27:25
$cd ~/proj/x-project/x ~/proj/x-project/y ~/proj/x-project/z /bin
l3script: cd: /home/user/proj/x-project/x: Это не каталог
13:27:47
$cp ~/proj/x-project/x ~/proj/x-project/y ~/proj/x-project/z ~/bin

13:28:04
$cd ~/
bin/     .lilalo/ lpi 1/   lpi 2/   names/   proj/    sh/      text/
13:28:04
$cd ~/proj/x-project/

13:28:24
$ls
x  y  z
13:28:25
$cd ..

13:28:55
$cd ~/bin/

13:29:00
$ls
bigwork  signal_trap  x  y  z
13:29:01
$rm -v x y z
удалён «x»
удалён «y»
удалён «z»
13:29:14
$cd ~/proj/x-project/

13:29:26
$cp x y z ~/bin

13:29:38
$cd -
/home/user/bin
13:29:59
$ls
bigwork  signal_trap  x  y  z
13:30:02
$cd -
/home/user/proj/x-project
13:30:13
$cp -R ~/p
pamyatka.pdf                   press_any_key_to_continue.jpg  proj/
13:30:13
$cp -R ~/proj/
core       x-project/
13:30:13
$cp -R ~/proj/
core       x-project/
13:30:13
$cp -R ~/proj/x-project/ ~/
.bash_history                          freebsd.jpg                            lpi 2/                                 press_any_key_to_continue.jpg
.bash_logout                           granata.jpg                            man_smb_conf                           .profile
.bash_profile                          .l3rc                                  matrix.jpg                             proj/
.bashrc                                Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  names/                                 sh/
bigfile                                .lilalo/                               ogo.jpg                                text/
bin/                                   lpi 1/                                 pamyatka.pdf                           touchlist
13:30:13
$cp -R ~/proj/x-project/ ~/proj/x-backup

13:31:12
$cp -R -v ~/proj/x-project/ ~/proj/x-backup
«/home/user/proj/x-project/» -> «/home/user/proj/x-backup/x-project»
«/home/user/proj/x-project/y» -> «/home/user/proj/x-backup/x-project/y»
«/home/user/proj/x-project/z» -> «/home/user/proj/x-backup/x-project/z»
«/home/user/proj/x-project/x» -> «/home/user/proj/x-backup/x-project/x»
13:31:26
$cd

13:31:55
$mkdir ~/backup

Статистика

Время первой команды журнала09:52:00 2018- 7-16
Время последней команды журнала13:31:55 2018- 7-16
Количество командных строк в журнале100
Процент команд с ненулевым кодом завершения, %13.00
Процент синтаксически неверно набранных команд, % 2.00
Суммарное время работы с терминалом *, час 0.47
Количество командных строк в единицу времени, команда/мин 3.52
Частота использования команд
cd39|=======================================| 39.00%
ls22|======================| 22.00%
cp8|========| 8.00%
rm8|========| 8.00%
pwd6|======| 6.00%
mkdir5|=====| 5.00%
touch3|===| 3.00%
less3|===| 3.00%
..2|==| 2.00%
tree2|==| 2.00%
cut1|=| 1.00%
~1|=| 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$