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

Содержание

Журнал

Среда (09/30/15)

/dev/pts/8
10:58:29
$echo $?
1
10:58:36
$test 10 -eq 5

10:59:46
$echo $?
1
10:59:49
$test 10 -eq 10

10:59:53
$test 10 -eq 10

10:59:54
$echo $?
0
10:59:55
$test 10 -fq 5
l3script: test: -fq: ожидается использование бинарного оператора
11:01:10
$test 10 -f 5
l3script: test: -f: ожидается использование бинарного оператора
11:01:13
$test 5 -lt 10

11:02:00
$echo $?
0
11:02:04
$test 5 -gt 10

11:03:37
$echo $?
1
11:03:40
$test 10 -gt 5

11:03:45
$echo $?
0
/dev/pts/8
11:06:09
$test $EUID -ne 0 -a -r /etc/shadow && \
>
>
>
>
>
>
>
>
>
> l3script: ошибка синтаксиса: неожиданный конец файла
11:06:41
$test $EUID -ne 0 -a -r /etc/shadow && \
>
>
>
>
>
>
>
> l3script: ошибка синтаксиса: неожиданный конец файла
11:06:52
$test $EUID -ne 0 -a -r /etc/shadow && \ echo "$?"

11:07:19
$test $EUID -ne 0 -a -r /etc/shadow && \ echo "fgdfg"

11:07:24
$test $EUID -ne 0 -a -r /etc/shadow && \

11:07:31
$test $EUID -ne 0 -a -r /etc/shadow && \
> echo
11:07:40
$A=0

11:07:58
$while [ $A -lt 10 ]
> do
> A=$((A+1))
> echo $A
> done
1
2
3
4
5
6
7
8
9
10
11:08:38
$for file in /etc/*
> do
> [ -r $file ] || echo $file
> done
/etc/group-
/etc/gshadow
/etc/gshadow-
/etc/passwd-
/etc/shadow
/etc/shadow-
/dev/pts/12
11:17:20
$vi analizate.sh
11:17:47
$vi analizates.sh
11:17:59
$~
backup               jgffigj_fgkmfl_gfkglf                  ogo.jpg                        sortedlines
bigfile              light_alloy_4.4.784_rc2_by_fafnir.exe  pamyatka.pdf                   sorted_text
bin                  lpi_1                                  pics                           source
fgkjfdghjkfd.tar.gz  lpi_2                                  press_any_key_to_continue.jpg  text
file                 man_smb_conf                           proj                           touchlist
freebsd.jpg          matrix.jpg                             sh                             trans.sh
f.save               names                                  shhh.sh                        unsortedlines
granata.jpg          no_file_with_this_name                 soft
11:18:01
$ls swap
ls: невозможно получить доступ к swap: Нет такого файла или каталога
11:18:07
$ls /dev/swap
ls: невозможно получить доступ к /dev/swap: Нет такого файла или каталога
11:18:16
$ls /dev/swap/
ls: невозможно получить доступ к /dev/swap/: Нет такого файла или каталога
/dev/pts/14
11:19:50
$vi analizate.sh
11:20:17
$~
  1 #!/usr/local/bin/bash
  2 if [ $# -ne 2 ]
  3 then
~           echo "Uses: `basename $0` old-pattern new-pattern"
  5         # Команда "rn .cpp .C" переименовывает все файлы содержащие в названии .cpp
  6         #    в рабочем каталоге .Cеновывает все файлы содержащие в названии .cpp
  7         exit 1
  7         #    в рабочем каталоге .C
  9
  8 number=0   # Запомнить, сколько файлов было переименовано
...
~
~
~
~
~
~
~
~
~
-- ВСТАВКА --                                                                                                                                                                                                       23,5         Весь
прошло 12 минут
11:33:00
$chmod u+x analizate.sh

11:33:19
$echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
11:33:40
$cd /usr/local/bin

11:33:52
$ls
l3-agent  l3-config  l3script
11:34:22
$~

11:34:27
$vi analizate.sh
11:34:38
$~
cat: analizate.sh: Нет такого файла или каталога
11:34:49
$ls
l3-agent  l3-config  l3script
11:34:54
$c
l3script: c: команда не найдена
11:34:57
$cd

11:34:58
$vi analizate.sh
--- /tmp/l3-saved-3299.21004.10342	2015-09-30 12:35:01.829259314 +0300
+++ analizate.sh	2015-09-30 12:35:42.397300872 +0300
@@ -1,4 +1,4 @@
-#!/usr/local/bin/bash
+#!/bin/bash
 
 if [ $# -ne 2 ]
 then
11:35:42
$vi analizate.sh
11:36:06
$~
Uses: analizate.sh old-pattern new-pattern
11:36:11
$ls ~/sh/rn
/home/user/sh/rn
11:37:32
$cd ~/sh/rn
l3script: cd: /home/user/sh/rn: Это не каталог
11:37:40
$cd ~/sh

11:37:42
$ls
C.C  file.C  file.Cs  rn
11:37:44
$cd

11:37:49
$mkdir images

11:38:00
$cd images

11:38:03
$touch a.jpeg b.jpeg c.jpeg

11:38:39
$~/sh/rn .jpeg .jpg
Переименовано 3 файла
11:39:17
$ls
a.jpg  b.jpg  c.jpg
11:39:20
$cd

11:42:43
$vi sh/rn
11:43:44
$~

11:43:56
$ls
backup   fgkjfdghjkfd.tar.gz  f.save       jgffigj_fgkmfl_gfkglf                  lpi_2         names                   pamyatka.pdf                   proj     soft         source     trans.sh
bigfile  file                 granata.jpg  light_alloy_4.4.784_rc2_by_fafnir.exe  man_smb_conf  no_file_with_this_name  pics                           sh       sortedlines  text       unsortedlines
bin      freebsd.jpg          images       lpi_1                                  matrix.jpg    ogo.jpg                 press_any_key_to_continue.jpg  shhh.sh  sorted_text  touchlist
11:43:57
$su -
Пароль:
l3-agent is already running: pid=3409; pidfile=/root/.lilalo/l3-agent.pid
root@debian1:~# exit
logout
11:44:49
$cat /etc/apt/apt.conf
cat: /etc/apt/apt.conf: Нет такого файла или каталога
прошло 73 минуты
12:58:06
$cat /etc/gshadow
cat: /etc/gshadow: Отказано в доступе
прошло 47 минут
13:45:50
$cat /etc/shadow
cat: /etc/shadow: Отказано в доступе
13:45:54
$cat /etc/passd
cat: /etc/passd: Нет такого файла или каталога
13:46:01
$cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
...
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
user:x:1000:1000:user,,,:/home/user:/bin/bash
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001::/home/ivan:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
test:x:1003:100::/home/test:/bin/bash
13:46:03
$cat /etc/passwd-
cat: /etc/passwd-: Отказано в доступе
13:46:05
$echo $HISTCMD
462
прошло 15 минут
14:01:48
$less /etc/login.defs
14:03:50
$mkdir
mkdir: пропущен операнд
Попробуйте «mkdir --help» для получения более подробного описания.
прошло 28 минут
14:31:50
$mkdir d1

14:31:54
$ls -l d1
итого 0
14:32:03
$ls -ld d1
drwxr-xr-x 2 user user 4096 Сен 30 15:31 d1
14:32:09
$chmod u-r d1

14:33:46
$ls -ld d1
d-wxr-xr-x 2 user user 4096 Сен 30 15:31 d1
14:33:48
$ls d1
ls: невозможно открыть каталог d1: Отказано в доступе
14:34:02
$cd d1

14:34:09
$ls
ls: невозможно открыть каталог .: Отказано в доступе
14:34:11
$touch fds

14:34:27
$ls
ls: невозможно открыть каталог .: Отказано в доступе
14:34:30
$chmod u+r d1
chmod: невозможно получить доступ к «d1»: Нет такого файла или каталога
14:34:38
$cat fds

14:34:54
$date > fds

14:35:01
$cat fds
Срд Сен 30 15:35:01 EEST 2015
14:35:03
$cd

14:35:57
$chmod u+r-w d1

14:36:03
$cd d1

14:36:09
$ls
fds
14:36:12
$cat fds
Срд Сен 30 15:35:01 EEST 2015
14:36:16
$date >> fds

14:36:32
$cat fds
Срд Сен 30 15:35:01 EEST 2015
Срд Сен 30 15:36:32 EEST 2015
14:36:35
$mv fds date.txt
mv: невозможно переместить «fds» в «date.txt»: Отказано в доступе
14:36:52
$cd ..

14:37:32
$chmod u+w-x
chmod: пропущен операнд после «u+w-x»
Попробуйте «chmod --help» для получения более подробного описания.
14:37:50
$chmod u+w-x d1

14:37:53
$cd d1
l3script: cd: d1: Отказано в доступе
14:37:56
$chmod u+x d1

14:38:02
$ls -ld d1
drwxr-xr-x 2 user user 4096 Сен 30 15:34 d1
14:38:09
$cd d1

14:40:30
$ls
fds
14:40:31
$ls -l
итого 4
-rw-r--r-- 1 user user 72 Сен 30 15:36 fds
14:40:38
$chmod u-r
chmod: пропущен операнд после «u-r»
Попробуйте «chmod --help» для получения более подробного описания.
14:41:06
$chmod u-r fds

Файлы

  • /etc/passwd
  • fds
  • /etc/passwd
    >
    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/bin/sh
    bin:x:2:2:bin:/bin:/bin/sh
    sys:x:3:3:sys:/dev:/bin/sh
    sync:x:4:65534:sync:/bin:/bin/sync
    games:x:5:60:games:/usr/games:/bin/sh
    man:x:6:12:man:/var/cache/man:/bin/sh
    lp:x:7:7:lp:/var/spool/lpd:/bin/sh
    mail:x:8:8:mail:/var/mail:/bin/sh
    news:x:9:9:news:/var/spool/news:/bin/sh
    uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
    proxy:x:13:13:proxy:/bin:/bin/sh
    www-data:x:33:33:www-data:/var/www:/bin/sh
    backup:x:34:34:backup:/var/backups:/bin/sh
    list:x:38:38:Mailing List Manager:/var/list:/bin/sh
    irc:x:39:39:ircd:/var/run/ircd:/bin/sh
    gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
    nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
    libuuid:x:100:101::/var/lib/libuuid:/bin/sh
    Debian-exim:x:101:103::/var/spool/exim4:/bin/false
    user:x:1000:1000:user,,,:/home/user:/bin/bash
    sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
    ivan:x:1001:1001::/home/ivan:/bin/bash
    petr:x:1002:1002::/home/petr:/bin/bash
    test:x:1003:100::/home/test:/bin/bash
    
    fds
    >
    Срд Сен 30 15:35:01 EEST 2015
    Срд Сен 30 15:36:32 EEST 2015
    

    Статистика

    Время первой команды журнала10:58:29 2015- 9-30
    Время последней команды журнала14:41:06 2015- 9-30
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %34.65
    Процент синтаксически неверно набранных команд, % 0.99
    Суммарное время работы с терминалом *, час 1.69
    Количество командных строк в единицу времени, команда/мин 0.99
    Частота использования команд
    ls19|================| 16.38%
    test14|============| 12.07%
    cd13|===========| 11.21%
    cat10|========| 8.62%
    chmod9|=======| 7.76%
    echo8|======| 6.90%
    vi7|======| 6.03%
    &6|=====| 5.17%
    ~6|=====| 5.17%
    \6|=====| 5.17%
    mkdir3|==| 2.59%
    fds2|=| 1.72%
    touch2|=| 1.72%
    date2|=| 1.72%
    while1|| 0.86%
    c1|| 0.86%
    rn1|| 0.86%
    >1|| 0.86%
    for1|| 0.86%
    A=01|| 0.86%
    less1|| 0.86%
    mv1|| 0.86%
    su1|| 0.86%
    ____
    *) Интервалы неактивности длительностью 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$