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

Содержание

Журнал

Среда (06/07/17)

/dev/pts/4
09:02:10
$history
    1  ls
    2  cd
    3  exit
    4  ssh 192.168.13
    5  ssh 192.168.13.3
    6  quit
    7  cd /
    8  ls
    9  cd `
   10  cd ~
...
  131  vi unixoid.orig.txt
  132  vi ~/text/unixoid.err.txt
  133  jobs
  134  vi ~/text/unixoid.err.txt
  135  dir
  136  cd ~/text
  137  ls
  138  vi ~/comment-me.txt
  139  vi comment-me.txt
  140  history
прошла 21 минута
09:23:18
$man bash | wc -l
<standard input>:2180: warning [p 22, 9.8i]: can't break line
<standard input>:2288: warning [p 23, 9.5i]: cannot adjust line
<standard input>:2567: warning [p 26, 10.8i]: cannot adjust line
7764
прошло 44 минуты
10:07:24
$ls a
ls: невозможно получить доступ к a: Нет такого файла или каталога
прошло 73 минуты
11:20:52
$ls
backup
bigfile
bin
file
freebsd.jpg
granata.jpg
Light_Alloy_4.4.784_RC2_by_FAFNIR.exe
lpi 1
lpi 2
man_smb_conf
matrix.jpg
names
ogo.jpg
pamyatka.pdf
press_any_key_to_continue.jpg
proj
sh
source
text
touchlist
11:21:18
$cd names

11:21:24
$ls a*
alloca.H
acpi:
events  powerbtn-acpi-support.sh
11:21:30
$ls *.[cChH]
alloca.H  fcntl.h        Regexp.H
core.c    isdn_ttyfax.c  term.h
прошло 16 минут
11:37:40
$ls *BSD*
ls: невозможно получить доступ к *BSD*: Нет такого файла или каталога
11:37:56
$ls
_1_2_3      bjan     -file1         _kik_my   term.h
1cdesktop   bjen     group          modules
acpi        bjon     -hello         passwd
alloca.H    core.c   _hrypun        Regexp.H
__asterisk  fcntl.h  isdn_ttyfax.c  s_tol_
11:38:17
$ls j?n
ls: невозможно получить доступ к j?n: Нет такого файла или каталога
11:38:46
$ls -- -*
-file1  -hello
11:39:36
$ls ./ -*
ls: неверный ключ -- e
Попробуйте «ls --help» для получения более подробного описания.
11:39:47
$ls ./-*
./-file1  ./-hello
11:40:04
$ls
_1_2_3      bjan     -file1         _kik_my   term.h
1cdesktop   bjen     group          modules
acpi        bjon     -hello         passwd
alloca.H    core.c   _hrypun        Regexp.H
__asterisk  fcntl.h  isdn_ttyfax.c  s_tol_
11:40:10
$ls *j?n
bjan  bjen  bjon
11:40:36
$ls \-*
ls: неверный ключ -- e
Попробуйте «ls --help» для получения более подробного описания.
11:40:58
$ls \ -*
ls: невозможно получить доступ к  -*: Нет такого файла или каталога
11:41:05
$ls .\-*
ls: невозможно получить доступ к .-*: Нет такого файла или каталога
11:41:16
$ls \ -*
ls: невозможно получить доступ к  -*: Нет такого файла или каталога
11:41:24
$ls '-'*
ls: неверный ключ -- e
Попробуйте «ls --help» для получения более подробного описания.
11:41:34
$ls '-*'
ls: неверный ключ -- *
Попробуйте «ls --help» для получения более подробного описания.
11:41:48
$ls "-*"
ls: неверный ключ -- *
Попробуйте «ls --help» для получения более подробного описания.
11:41:58
$ls *\**\?
ls: невозможно получить доступ к ***?: Нет такого файла или каталога
11:43:05
$ls *\**\?*
ls: невозможно получить доступ к ***?*: Нет такого файла или каталога
11:43:14
$ls *'*'*'?'*
ls: невозможно получить доступ к ***?*: Нет такого файла или каталога
11:43:40
$ls *'*'*'?'
ls: невозможно получить доступ к ***?: Нет такого файла или каталога
11:43:47
$ls *'*'?'
>
> n
> ^C
11:43:58
$ls *'*'?'

11:43:58
$*'?'
                                 *
ls: невозможно получить доступ к ***?*: Нет такого файла или каталога
11:44:03
$ls *\[cde]*
ls: невозможно получить доступ к *[cde]*: Нет такого файла или каталога
11:44:36
$ls *'['cde]*
ls: невозможно получить доступ к *[cde]*: Нет такого файла или каталога
11:44:54
$>qwerasdzxcv

11:45:09
$ls *'['cde]*
ls: невозможно получить доступ к *[cde]*: Нет такого файла или каталога
11:45:11
$>qwcde

11:45:23
$ls *'['cde]*
ls: невозможно получить доступ к *[cde]*: Нет такого файла или каталога
11:45:25
$>qwcdereg

11:45:34
$ls *'['cde]*
ls: невозможно получить доступ к *[cde]*: Нет такого файла или каталога
11:45:36
$ls.[~.]*
l3script: ls.[~.]*: команда не найдена
11:45:59
$ls .[~.]*
.._bash
..:
backup
bigfile
bin
file
freebsd.jpg
granata.jpg
Light_Alloy_4.4.784_RC2_by_FAFNIR.exe
lpi 1
...
matrix.jpg
names
ogo.jpg
pamyatka.pdf
press_any_key_to_continue.jpg
proj
sh
source
text
touchlist
11:46:04
$ls ..?*
.._bash
11:46:22
$echo zz*
zz*
11:46:43
$ls zz*
ls: невозможно получить доступ к zz*: Нет такого файла или каталога
11:46:52
$echo a*
acpi alloca.H
11:48:21
$touch one\ space

11:48:33
$touch "o;Really"

11:48:52
$touch "o'Really"

11:48:57
$ls
_1_2_3                        _hrypun
1cdesktop                     isdn_ttyfax.c
acpi                          _kik_my
alloca.H                      modules
anothe very long file name    one space
__asterisk                    o;Really
bjan                          o'Really
bjen                          passwd
bjon                          qwcde
core.c                        qwcdereg
fcntl.h                       qwerasdzxcv
-file1                        Regexp.H
file with spaces at the name  s_tol_
group                         term.h
-hello
11:49:00
$touch 'A:\WINDOWS\SYSTEM32'

11:49:26
$touch o\'Reilly

11:49:47
$ls
_1_2_3                        _hrypun
1cdesktop                     isdn_ttyfax.c
acpi                          _kik_my
alloca.H                      modules
anothe very long file name    one space
__asterisk                    o;Really
A:\WINDOWS\SYSTEM32           o'Really
bjan                          o'Reilly
bjen                          passwd
bjon                          qwcde
core.c                        qwcdereg
fcntl.h                       qwerasdzxcv
-file1                        Regexp.H
file with spaces at the name  s_tol_
group                         term.h
-hello
11:49:49
$touch A:\\WINDOWS\\SYSTEM32

11:51:29
$A:\\WINDOWS\\SYSTEM32
\""                         :Queen \"Live at Wembley '86\
rgd
dgr
11:51:49
$echo *
_1_2_3 1cdesktop acpi alloca.H anothe very long file name __asterisk A:\WINDOWS\SYSTEM32 bjan bjen bjon core.c fcntl.h -file1 file with spaces at the name group -hello _hrypun isdn_ttyfax.c _kik_my modules one space o;Really o'Really o'Reilly passwd Queen "Live at Wembley '86" qwcde qwcdereg qwerasdzxcv Regexp.H s_tol_ term.h
11:51:56
$touch 'cat "/touchlist'
touch: невозможно выполнить touch для «cat "/touchlist»: Нет такого файла или каталога
11:52:35
$cd

11:52:52
$touch '< ~"/touchlist'
touch: невозможно выполнить touch для «< ~"/touchlist»: Нет такого файла или каталога
11:53:14
$touch '< ~/touchlist'
touch: невозможно выполнить touch для «< ~/touchlist»: Нет такого файла или каталога
11:53:19
$touch '< ~/touchlist'
touch: невозможно выполнить touch для «< ~/touchlist»: Нет такого файла или каталога
11:53:58
$echo $PASS

11:54:07
$echo $PAth

11:54:20
$echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
11:54:25
$echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
11:54:30
$echo ${PATH}
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
11:54:43
$echo ${}PATH
l3script: ${}PATH: bad substitution
11:55:02
$echo ${PATH}
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
11:55:07
$echo $(((1+2+3)*4*5+1))
121
11:55:50
$echo $((1/2))
0
11:56:04
$echo $((1/2*4))
0
11:56:17
$echo $((4*1/2))
2
11:56:24
$A=1

11:56:36
$B=2

11:56:42
$echo $((A+B))
3
11:57:05
$echo $((A+$B))
3
11:57:58
$cat /etc/passwd > newfile

11:58:35
$less nefile
11:58:42
$less newfile
11:59:16
$sort < /etc/passwd
backup:x:34:34:backup:/var/backups:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
games:x:5:60:games:/usr/games:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
ivan:x:1001:1001::/home/ivan:/bin/bash
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
...
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
petr:x:1002:1002::/home/petr:/bin/bash
proxy:x:13:13:proxy:/bin:/bin/sh
root:x:0:0:root:/root:/bin/bash
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
sys:x:3:3:sys:/dev:/bin/sh
user:x:1000:1000:user,,,:/home/user:/bin/bash
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
11:59:46
$mv /etc/passwd /tmp
mv: невозможно переместить «/etc/passwd» в «/tmp/passwd»: Отказано в доступе
прошло 32 минуты
12:31:48
$mv /etc/passwd /tmp 2> errlog

12:32:06
$cat errlog
mv: невозможно переместить «/etc/passwd» в «/tmp/passwd»: Отказано в доступе
12:32:16
$mv /etc/passwd /tmp
mv: невозможно переместить «/etc/passwd» в «/tmp/passwd»: Отказано в доступе
12:32:37
$mv /etc/passwd /tmp 2> /dev/null

12:32:50
$cat >> unsorted
Windows XP
Windows NT
Solaris
Sun OS
Linux
FreeBSD
12:34:05
$sort < unsorted > sorted

12:34:31
$cat sorted
FreeBSD
Linux
Solaris
Sun OS
Windows NT
Windows XP
12:34:38
$cat > file
sgesgegsge
sgsg
sgdg
dgasthrtjrtj
agree^[[A
12:35:15
$cat >> file
gesegsgeeg
12:35:27
$cat bigfile | more
12:35:56
$exit
Есть приостановленные задачи.
/dev/pts/4
12:42:01
$cd

12:42:17
$ls
backup
bigfile
bin
errlog
file
freebsd.jpg
granata.jpg
Light_Alloy_4.4.784_RC2_by_FAFNIR.exe
lpi 1
lpi 2
...
pamyatka.pdf
press_any_key_to_continue.jpg
proj
sh
sorted
sorted_passwd
source
text
touchlist
unsorted
12:44:04
$user
l3script: user: команда не найдена
прошло 10 минут
12:54:37
$echo ((A+$B))
l3script: syntax error near unexpected token `('
12:55:10
$echo ((A+$B))
l3script: syntax error near unexpected token `('
12:55:28
$echo (A+$B)
l3script: syntax error near unexpected token `A+$B'
12:55:33
$echo '(A+$B)'
(A+$B)
12:55:41
$echo $((A+$B))
3
12:55:50
$echo ((A+B))
l3script: syntax error near unexpected token `('
12:56:31
$echo A+B
A+B
12:56:37
$echo (($A+$B))
l3script: syntax error near unexpected token `('

Файлы

  • errlog
  • file
  • newfile
  • sorted
  • unsorted
  • errlog
    >
    mv: невозможно переместить «/etc/passwd» в «/tmp/passwd»: Отказано в доступе
    
    file
    >
    gesegsgeeg
    
    newfile
    >
    sorted
    >
    FreeBSD
    Linux
    Solaris
    Sun OS
    Windows NT
    Windows XP
    
    unsorted
    >
    Windows XP
    Windows NT
    Solaris
    Sun OS
    Linux
    FreeBSD
    

    Статистика

    Время первой команды журнала09:02:10 2017- 6- 7
    Время последней команды журнала12:56:37 2017- 6- 7
    Количество командных строк в журнале100
    Процент команд с ненулевым кодом завершения, %38.00
    Процент синтаксически неверно набранных команд, % 2.00
    Суммарное время работы с терминалом *, час 1.41
    Количество командных строк в единицу времени, команда/мин 1.18
    Частота использования команд
    ls36|==============================| 30.00%
    echo24|====================| 20.00%
    touch10|========| 8.33%
    cat7|=====| 5.83%
    >5|====| 4.17%
    mv4|===| 3.33%
    touchlist'3|==| 2.50%
    cd3|==| 2.50%
    unsorted2|=| 1.67%
    sort2|=| 1.67%
    less2|=| 1.67%
    file2|=| 1.67%
    more1|| 0.83%
    qwcdereg1|| 0.83%
    A:\\WINDOWS\\SYSTEM321|| 0.83%
    man1|| 0.83%
    null1|| 0.83%
    qwerasdzxcv1|| 0.83%
    errlog1|| 0.83%
    newfile1|| 0.83%
    Really"1|| 0.83%
    history1|| 0.83%
    qwcde1|| 0.83%
    B=21|| 0.83%
    wc1|| 0.83%
    user1|| 0.83%
    ls.[~.]*1|| 0.83%
    *'?'1|| 0.83%
    /etc/passwd1|| 0.83%
    exit1|| 0.83%
    sorted1|| 0.83%
    A=11|| 0.83%
    ____
    *) Интервалы неактивности длительностью 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$