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

Содержание

Журнал

Пятница (12/01/17)

/dev/pts/16
11:39:34
$init [2]
l3script: init: команда не найдена
11:39:39
$ps -aux
warning: bad ps syntax, perhaps a bogus '-'?
See http://gitorious.org/procps/procps/blobs/master/Documentation/FAQ
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  10648   836 ?        Ss   Ноя24   0:10 init [2]
root         2  0.0  0.0      0     0 ?        S    Ноя24   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Ноя24   0:03 [ksoftirqd/0
root         5  0.0  0.0      0     0 ?        S    Ноя24   0:00 [kworker/u:0
root         6  0.0  0.0      0     0 ?        S    Ноя24   0:00 [migration/0
root         7  0.0  0.0      0     0 ?        S    Ноя24   0:05 [watchdog/0]
root         8  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [cpuset]
...
user     21609  0.0  0.0  18168   468 pts/14   S+   11:10   0:00 script -f -c l3
user     21610  0.0  0.5  22212  2864 pts/15   Ss+  11:10   0:00 l3script
root     22029  0.0  0.0   7708   320 pts/13   S    12:10   0:00 sleep 2000
root     22066  0.0  0.7  71288  3604 ?        Ss   12:38   0:00 sshd: user [pri
user     22068  0.0  0.3  71288  1744 ?        S    12:38   0:00 sshd: user@pts/
user     22069  0.0  0.5  22120  2816 pts/16   Ss   12:38   0:00 -bash
user     22114  0.0  0.1  18164   840 pts/16   S+   12:38   0:00 script -f -c l3
user     22185  0.0  0.0  18168   472 pts/16   S+   12:38   0:00 script -f -c l3
user     22186  0.0  0.5  22212  2888 pts/17   Ss   12:38   0:00 l3script
user     22295  0.0  0.2  18948  1264 pts/17   R+   12:39   0:00 ps -aux
11:39:54
$ps -aux | grep -v USER. *PID | sort -n +3
grep: sort: операция открытия завершилась неудачно: +3: Нет такого файла или каталога
*PID: Нет такого файла или каталога
warning: bad ps syntax, perhaps a bogus '-'?
See http://gitorious.org/procps/procps/blobs/master/Documentation/FAQ
11:40:46
$ps -aux | grep -v USER. *PID. | sort -n +3
sort: операция открытия завершилась неудачно: +3: Нет такого файла или каталога
grep: *PID.: Нет такого файла или каталога
warning: bad ps syntax, perhaps a bogus '-'?
See http://gitorious.org/procps/procps/blobs/master/Documentation/FAQ
11:41:38
$ps -aux | grep -v USER. *PID. *%CPU | sort -n +3
sort: grep: операция открытия завершилась неудачно: +3: Нет такого файла или каталога
*PID.: Нет такого файла или каталога
grep: *%CPU: Нет такого файла или каталога
warning: bad ps syntax, perhaps a bogus '-'?
See http://gitorious.org/procps/procps/blobs/master/Documentation/FAQ
11:41:49
$ps -aux | grep -v USER. *PID. *%CPU | sort -r +3
sort: grep: операция открытия завершилась неудачно: +3: Нет такого файла или каталога
warning: bad ps syntax, perhaps a bogus '-'?
See http://gitorious.org/procps/procps/blobs/master/Documentation/FAQ
*PID.: Нет такого файла или каталога
grep: *%CPU: Нет такого файла или каталога
11:43:11
$pstree -p
init(1)─┬─acpid(1916)
        ├─cron(1958)
        ├─exim4(2261)
        ├─getty(2288)
        ├─getty(2289)
        ├─getty(2290)
        ├─getty(2291)
        ├─getty(2292)
        ├─getty(2293)
        ├─l3-agent(3403)
...
        ├─script(13025)───l3script(13026)───bash(14155)───script(14213)───scrip+
        ├─script(17327)───l3script(17328)
        ├─script(19460)───l3script(19461)
        ├─script(17167)───l3script(17168)
        ├─script(19136)───l3script(19137)───su(19538)───bash(19539)───su(19582)+++
        ├─sshd(2234)─┬─sshd(21390)───bash(21392)───script(21437)───script(21468+
        │            ├─sshd(21490)───sshd(21492)───bash(21493)───script(21538)─+++
        │            └─sshd(22066)───sshd(22068)───bash(22069)───script(22114)─+++
        └─udevd(276)─┬─udevd(20416)
                     └─udevd(20419)
11:47:49
$ Mem[|||||||||||||||||||||132/495MB] Load average: 0.14 0.05 0.06
top - 12:47:53 up 6 days, 21:01,  3 users,  load average: 0,13, 0,05, 0,05
Tasks:  88 total,   1 running,  87 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0,0 us, 33,3 sy,  0,0 ni, 66,7 id,  0,0 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:    507368 total,   453892 used,    53476 free,   143252 buffers
KiB Swap:        0 total,        0 used,        0 free,   175256 cached
  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
    3 root      20   0     0    0    0 S   0,0  0,0   0:03.73 ksoftirqd/0
    5 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kworker/u:0
    6 root      rt   0     0    0    0 S   0,0  0,0   0:00.00 migration/0
    7 root      rt   0     0    0    0 S   0,0  0,0   0:05.90 watchdog/0
...
  111 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kworker/u:1
  132 root      20   0     0    0    0 S   0,0  0,0   0:06.40 jbd2/xvda1-8
  133 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 ext4-dio-unwrit
  276 root      20   0 21248 1208  792 S   0,0  0,2   0:00.06 udevd
  385 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 kpsmoused
 1876 root      20   0 52772 1636 1208 S   0,0  0,3   0:00.09 rsyslogd
 1916 root      20   0  4116  656  512 S   0,0  0,1   0:00.00 acpid
 1958 root      20   0 22492  896  688 S   0,0  0,2   0:00.79 cron
 2234 root      20   0 49932 1248  640 S   0,0  0,2   0:00.02 sshd
 2261 Debian-e  20   0 46808 1040  584 S   0,0  0,2   0:00.19 exim4
11:48:52
$uptime
 12:49:05 up 6 days, 21:02,  3 users,  load average: 0,27, 0,10, 0,07
11:49:05
$ps -t tty1
  PID TTY          TIME CMD
 2288 tty1     00:00:00 getty
11:50:25
$ps -t tty0
  PID TTY          TIME CMD
11:50:35
$;s
l3script: syntax error near unexpected token `;'
11:54:54
$ls
ABA                                    LPI_2
ABB                                    MAN_SMB_CONF
ABC                                    MATRIX.JPG
AB_C                                   NAMES
ABD                                    NEWFILE
BACKUP                                 OGO.JPG
BIGFILE                                PAMYATKA.PDF
BIN                                    PICS
d1                                     PRESS_ANY_KEY_TO_CONTINUE.JPG
DIRECTORY1                             PROJ
...
ERRLOG                                 SORTED_PASSWD
FILE                                   SOURCE
FILE1                                  TEST
FILE2                                  test1.sh
FILE3                                  test2.sh
FREEBSD.JPG                            test3.sh
GRANATA.JPG                            TEXT
KILLALL                                TOUCHLIST
LIGHT_ALLOY_4.4.784_RC2_BY_FAFNIR.EXE  UNSORTED
LPI_1
11:54:55
$cd B
BACKUP/ BIN/
11:54:55
$cd B
BACKUP/ BIN/
11:54:55
$cd BIN/

11:55:14
$ls
bigwork  signal_trap  x  y  z
11:55:16
$cat signal_trap
#!/bin/bash
sleep 380000 &
11:55:31
$./signal_trap

11:59:44
$ps
  PID TTY          TIME CMD
22186 pts/17   00:00:00 l3script
22534 pts/17   00:00:00 sleep
22542 pts/17   00:00:00 ps
11:59:49
$jobs

11:59:56
$jobs

12:00:08
$ps
  PID TTY          TIME CMD
22186 pts/17   00:00:00 l3script
22534 pts/17   00:00:00 sleep
22564 pts/17   00:00:00 ps
12:00:13
$pstree
init─┬─acpid
     ├─cron
     ├─exim4
     ├─6*[getty]
     ├─2*[l3-agent]
     ├─rsyslogd───3*[{rsyslogd}]
     ├─script───l3script───bash───script───script───l3script
     ├─3*[script───l3script]
     ├─script───l3script───su───bash───su───bash───script───script───l3script
     ├─sleep
     ├─sshd─┬─sshd───bash───script───script───l3script───sleep
     │      ├─sshd───sshd───bash───script───script───l3script
     │      └─sshd───sshd───bash───script───script───l3script───pstree
     └─udevd───2*[udevd]
12:00:25
$pstre -p
l3script: pstre: команда не найдена
12:01:01
$pstree -p
init(1)─┬─acpid(1916)
        ├─cron(1958)
        ├─exim4(2261)
        ├─getty(2288)
        ├─getty(2289)
        ├─getty(2290)
        ├─getty(2291)
        ├─getty(2292)
        ├─getty(2293)
        ├─l3-agent(3403)
...
        ├─script(17327)───l3script(17328)
        ├─script(19460)───l3script(19461)
        ├─script(17167)───l3script(17168)
        ├─script(19136)───l3script(19137)───su(19538)───bash(19539)───su(19582)+++
        ├─sleep(22534)
        ├─sshd(2234)─┬─sshd(21390)───bash(21392)───script(21437)───script(21468+
        │            ├─sshd(21490)───sshd(21492)───bash(21493)───script(21538)─+++
        │            └─sshd(22066)───sshd(22068)───bash(22069)───script(22114)─+++
        └─udevd(276)─┬─udevd(20416)
                     └─udevd(20419)
12:01:03
$kill -9 22534

12:01:20
$pstree
init─┬─acpid
     ├─cron
     ├─exim4
     ├─6*[getty]
     ├─2*[l3-agent]
     ├─rsyslogd───3*[{rsyslogd}]
     ├─script───l3script───bash───script───script───l3script
     ├─3*[script───l3script]
     ├─script───l3script───su───bash───su───bash───script───script───l3script
     ├─sshd─┬─sshd───bash───script───script───l3script───sleep
     │      ├─sshd───sshd───bash───script───script───l3script
     │      └─sshd───sshd───bash───script───script───l3script───pstree
     └─udevd───2*[udevd]
12:01:25
$cat /r
root/ run/
12:01:25
$cat /r
root/ run/
12:01:25
$cat /run/s
screen/          shm/             sshd.pid
sendsigs.omit.d/ sshd/
12:01:25
$cat /run/
acpid.pid        initctl          network/         sshd/
acpid.socket     initramfs/       rsyslogd.pid     sshd.pid
crond.pid        lock/            screen/          udev/
crond.reboot     motd.dynamic     sendsigs.omit.d/ utmp
exim4/           mount/           shm/
12:01:25
$ps aux | grep sleep
root     22410  0.0  0.0   7708   320 pts/13   S    12:48   0:00 sleep 2000
user     22634  0.0  0.1   9972   864 pts/17   S+   13:02   0:00 grep sleep
12:02:02
$pidof sleep
22410
12:02:28
$kill -9 `pidof sleep`
l3script: kill: (22410) - Операция не позволяется
12:02:47
$cd

прошла 21 минута
12:24:03
$vim
12:24:26
$nice -n 19 ~usr/bin/bigwork
nice: ~usr/bin/bigwork: Нет такого файла или каталога
12:25:17
$nice -n 19 ~user/bin/bigwork
nice: /home/user/bin/bigwork: Нет такого файла или каталога
12:25:27
$nice -n 19 ~user/BIN/bigwork
^C28812+0 записей считано
28812+0 записей написано
 скопировано 118013952 байта (118 MB), 3,28207 c, 36,0 MB/c
12:25:43
$nice -n -20 ~user/BIN/bigwork
nice: невозможно установить значение nice: Отказано в доступе
ps
^C
167498+0 записей считано
167498+0 записей написано
 скопировано 686071808 байт (686 MB), 32,2955 c, 21,2 MB/c
12:26:37
$cd

12:27:48
$ps
  PID TTY          TIME CMD
22186 pts/17   00:00:00 l3script
23167 pts/17   00:00:00 ps
12:28:02
$renice -5 22186
renice: failed to set priority for 22186 (process ID): Отказано в доступе
прошло >3 часов
/dev/pts/14
15:49:54
$crontab -e
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# For more information see the manual pages of crontab(5) and cron(8)
# daemon's notion of time and timezones.
# m h  dom mon dow   command
# Output of the crontab jobs (including errors) is sent through
0 17 1 12 * wall "End of Course"file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
                             [ Записано 24 строки ]
crontab: installing new crontab
15:52:30
$vi /etc/cron.deny
15:54:41
$~
Пароль:
root@debian2:/home/user# l3script
15:54:52
#vi /etc/cron.deny
15:55:38
#su petr
petr@debian2:/home/user$ 123
bash: 123: команда не найдена
petr@debian2:/home/user$ crontab -e
You (petr) are not allowed to use this program (crontab)
See crontab(1) for more information
petr@debian2:/home/user$ exit
exit

Файлы

  • /r
  • /run/
  • /run/s
  • signal_trap
  • /r
    >
    root/ run/
    
    /run/
    >
    acpid.pid        initctl          network/         sshd/
    acpid.socket     initramfs/       rsyslogd.pid     sshd.pid
    crond.pid        lock/            screen/          udev/
    crond.reboot     motd.dynamic     sendsigs.omit.d/ utmp
    exim4/           mount/           shm/
    
    /run/s
    >
    screen/          shm/             sshd.pid
    sendsigs.omit.d/ sshd/
    
    signal_trap
    >
    #!/bin/bash
    sleep 380000 &
    

    Статистика

    Время первой команды журнала11:39:34 2017-12- 1
    Время последней команды журнала15:55:38 2017-12- 1
    Количество командных строк в журнале49
    Процент команд с ненулевым кодом завершения, %24.49
    Процент синтаксически неверно набранных команд, % 8.16
    Суммарное время работы с терминалом *, час 0.90
    Количество командных строк в единицу времени, команда/мин 0.90
    Частота использования команд
    ps11|==================| 18.64%
    cd5|========| 8.47%
    cat5|========| 8.47%
    grep5|========| 8.47%
    sort4|======| 6.78%
    nice4|======| 6.78%
    pstree4|======| 6.78%
    vi2|===| 3.39%
    jobs2|===| 3.39%
    kill2|===| 3.39%
    ls2|===| 3.39%
    crontab1|=| 1.69%
    pstre1|=| 1.69%
    pidof1|=| 1.69%
    s1|=| 1.69%
    495MB]1|=| 1.69%
    Mem[1|=| 1.69%
    vim1|=| 1.69%
    uptime1|=| 1.69%
    ~1|=| 1.69%
    init1|=| 1.69%
    signal_trap1|=| 1.69%
    renice1|=| 1.69%
    su1|=| 1.69%
    ____
    *) Интервалы неактивности длительностью 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$