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

Содержание

Журнал

Вторник (10/16/18)

/dev/pts/4
14:14:26
$ln -s x x-symlink

14:14:42
$ln x x-hardlink

14:14:56
$ls -il
итого 0
147 -rwxr-xr-x 2 user user 0 Окт  9  2014 x
147 -rwxr-xr-x 2 user user 0 Окт  9  2014 x-hardlink
187 lrwxrwxrwx 1 user user 1 Окт 16 15:14 x-symlink -> x
145 -rwxr-xr-x 1 user user 0 Окт  9  2014 y
146 -rwxr-xr-x 1 user user 0 Окт  9  2014 z
14:15:02
$rm x

14:16:32
$ls -il
итого 0
147 -rwxr-xr-x 1 user user 0 Окт  9  2014 x-hardlink
187 lrwxrwxrwx 1 user user 1 Окт 16 15:14 x-symlink -> x
145 -rwxr-xr-x 1 user user 0 Окт  9  2014 y
146 -rwxr-xr-x 1 user user 0 Окт  9  2014 z
14:16:36
$mv x-hardlink x

14:16:57
$mv x-hardlink x
mv: не удалось выполнить stat для «x-hardlink»: Нет такого файла или каталога
14:16:58
$ls -il
итого 0
147 -rwxr-xr-x 1 user user 0 Окт  9  2014 x
187 lrwxrwxrwx 1 user user 1 Окт 16 15:14 x-symlink -> x
145 -rwxr-xr-x 1 user user 0 Окт  9  2014 y
146 -rwxr-xr-x 1 user user 0 Окт  9  2014 z
14:17:00
$vi
прошло 64 минуты
15:21:24
$КОМАНДНАЯ СТРОКА

15:26:27
$ 17 rvim rview rgvim rgview
9c9
< Abysus abyssum invocat
---
> Abyssus abyssum invocat
11c11,14
< Подобное влечет за собой подобное или одно бедствие влечет за собой другое бедствее.
---
> Подобное влечет за собой подобное или одно бедствие влечет за собой другое бедствие.
>
~
...
Бездна взывает к бездне
Подобное влечет за собой подоб
ет за собой другое бедствее.
Ad notame
«Для заметки», к свединию
Ad patres
“К праотцам”, т. е. на тот свет,
, 22, 20
~/text/unixoid.err.txt                1,1           Весь ~/text/unixoid.orig.txt [+]       1,1   0-1         Весь
"~/text/unixoid.err.txt" 16L, 879C записано
15:33:05
$~/text$ diff unixoid.err.txt unixoid.orig.txt
l3script: /home/user/text$: Нет такого файла или каталога
15:37:42
$vi /home/user/text/comment-me.txt

Среда (10/17/18)

/dev/pts/3
09:01:28
$cd

прошло 77 минут
10:18:29
$ls a*
ls: cannot access a*: No such file or directory
10:18:34
$ls
backup   freebsd.jpg                            lpi 2         ogo.jpg                        sh
bigfile  granata.jpg                            man_smb_conf  pamyatka.pdf                   source
bin      Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  matrix.jpg    press_any_key_to_continue.jpg  text
file     lpi 1                                  names         proj                           touchlist
10:18:43
$cd names/

10:18:49
$ls
_1_2_3     acpi      __asterisk  bjen  core.c   -file1  -hello   isdn_ttyfax.c  modules  Regexp.H  term.h
1cdesktop  alloca.H  bjan        bjon  fcntl.h  group   _hrypun  _kik_my        passwd   s_tol_
10:18:50
$ls a*
alloca.H
acpi:
events  powerbtn-acpi-support.sh
10:18:53
$ls a*.[cChH]
alloca.H
10:19:12
$ls *BSD*
ls: cannot access *BSD*: No such file or directory
10:19:21
$ls j?n
ls: cannot access j?n: No such file or directory
10:20:02
$ls -- -*
-file1  -hello
10:21:33
$ls ./-*
./-file1  ./-hello
10:21:41
$ls \-*
ls: invalid option -- 'e'
Try `ls --help' for more information.
10:21:51
$ls '-'*
ls: invalid option -- 'e'
Try `ls --help' for more information.
10:22:09
$ls '-8'
ls: invalid option -- '8'
Try `ls --help' for more information.
10:22:22
$ls "-*'
> ls *\**\?*
> echo $?
> ls *'*'*'?'*
> ls *[*]*[?]*
> ls *\[cde]*
> ls *'['cde]*
> ls *[[]cde]*
> ls .[^.]*
> ls ..?*
> ls
> ls -a
> xit
> exit
> ^C
10:27:17
$ls *\**\?*
ls: cannot access ***?*: No such file or directory
10:27:26
$> echo $?
l3script: 2: command not found
10:27:26
local_session_id=13822296202792826076-1539759688 nonce=19891 pid=7542 prompt=$ pwd=/home/user/names raw_end=5667 raw_file=/home/user/.lilalo/13822296202792826076-1539759688.script raw_output_start=5631 raw_start=5428 tab_seq=0 time=1539764846 uid=1000' class='prompt'>$> ls *'*'*'?'*
l3script: ***?*: command not found
10:27:26
$> ls *[*]*[?]*
l3script: *[*]*[?]*: command not found
10:27:26
$> ls *\[cde]*
l3script: *[cde]*: command not found
10:27:26
local_session_id=13822296202792826076-1539759688 nonce=32575 pid=7542 prompt=$ pwd=/home/user/names raw_end=6391 raw_file=/home/user/.lilalo/13822296202792826076-1539759688.script raw_output_start=6353 raw_start=6150 tab_seq=0 time=1539764846 uid=1000' class='prompt'>$> ls *'['cde]*
l3script: *[cde]*: command not found
10:27:26
$> ls *[[]cde]*
l3script: *[[]cde]*: command not found
10:27:26
$> ls .[^.]*
l3script: .bash: command not found
10:27:26
$> ls ..?*
l3script: .._bash: command not found
10:27:26
$> ls

10:27:26
$> ls -a
l3script: -a: command not found
10:27:26
$> xit

10:27:26
$> exit

10:27:26
$> ^C

10:27:26
$[user@debian2:names]$
l3script: [user@debian2:names]$: command not found
10:27:26
$ls *\**\?*
ls: cannot access ***?*: No such file or directory
10:27:37
$ls *'*'*'?'*
ls: cannot access ***?*: No such file or directory
10:27:51
$ls *[*]*[?]*
ls: cannot access *[*]*[?]*: No such file or directory
10:28:00
$ls *\[cde]*
ls: cannot access *[cde]*: No such file or directory
10:28:07
$ls *'['cde]*
ls: cannot access *[cde]*: No such file or directory
10:28:14
$ls *[[]cde]*
ls: cannot access *[[]cde]*: No such file or directory
10:28:23
$ls .[^.]*
.bash  ._bash  .j_bash  .passwd
10:28:29
$ls ..?*
.._bash
10:28:37
$echo zz*
zz*
10:29:02
$ls zz*
ls: cannot access zz*: No such file or directory
10:29:10
$echo a*
acpi alloca.H
10:29:22
$touch "file with spaces at the name"

10:30:17
$touch 'another very long name'

10:30:33
$touch one\ space

10:30:44
$ls
_1_2_3     another very long name  bjon    exit                          group          _kik_my    passwd    xit
1cdesktop  __asterisk              ^C      fcntl.h                       -hello         ls         Regexp.H
acpi       bjan                    core.c  -file1                        _hrypun        modules    s_tol_
alloca.H   bjen                    echo    file with spaces at the name  isdn_ttyfax.c  one space  term.h
10:30:46
$touch "o'Reilly"

10:31:24
$touch 'A:\WINDOWS\SYSTEM32'

10:31:50
$touch "Queen \"Live at Wembley '86\""

10:32:40
$echo *
_1_2_3 1cdesktop acpi alloca.H another very long name __asterisk A:\WINDOWS\SYSTEM32 bjan bjen bjon ^C core.c echo exit fcntl.h -file1 file with spaces at the name group -hello _hrypun isdn_ttyfax.c _kik_my ls modules one space o'Reilly passwd Queen "Live at Wembley '86" Regexp.H s_tol_ term.h xit
10:32:46
$touch --bad--name--
touch: unrecognized option '--bad--name--'
Try `touch --help' for more information.
10:33:38
$touch ./-bad-name-

10:33:54
$ls
_1_2_3                  -bad-name-  exit                          isdn_ttyfax.c  Queen "Live at Wembley '86"
1cdesktop               bjan        fcntl.h                       _kik_my        Regexp.H
acpi                    bjen        -file1                        ls             s_tol_
alloca.H                bjon        file with spaces at the name  modules        term.h
another very long name  ^C          group                         one space      xit
__asterisk              core.c      -hello                        o'Reilly
A:\WINDOWS\SYSTEM32     echo        _hrypun                       passwd
10:33:58
$cd

10:34:20
$touch 'cat ~/touchlist'
touch: cannot touch `cat ~/touchlist': No such file or directory
10:34:40
$touch 'cat ~/touchlist'
touch: cannot touch `cat ~/touchlist': No such file or directory
10:35:28
$touch '< ~/touchlist'
touch: cannot touch `< ~/touchlist': No such file or directory
10:35:37
$ls
backup   freebsd.jpg                            lpi 2         ogo.jpg                        sh
bigfile  granata.jpg                            man_smb_conf  pamyatka.pdf                   source
bin      Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  matrix.jpg    press_any_key_to_continue.jpg  text
file     lpi 1                                  names         proj                           touchlist
10:35:40
$touch '< touchlist'

10:36:00
$cat touchlist
file1
file2
file3
directory1
directory2
directory3
aba
abb
abc
abd
killall
10:36:09
$echo "Today 'date +%Y' year."
Today 'date +%Y' year.
10:36:57
$echo "Today `date +%Y` year."
Today 2018 year.
10:37:26
$echo "Tommorow $(expr `date +%Y` +1) year"
expr: syntax error
Tommorow  year
10:39:56
$echo "Tommorow $(expr `date +%Y` + 1) year"
Tommorow 2019 year
10:40:20
$rm -f `find ~ -name core`

10:41:14
$find `-name core -exec rm -f {} \;
> ^C
10:41:46
$find ~ -name core -exec rm -f {} \;

10:41:56
$echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
10:42:30
$echo HHHHHHHH${PATH}HHHHHHHH
HHHHHHHH/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/gamesHHHHHHHH
10:42:57
$echo $(((1+2+3)*4*5+1))
121
10:43:56
$echo $((1/2))
0
10:45:30
$echo $((1/2*4))
0
10:45:39
$echo $((4*1/2))
2
10:45:49
$A=1

10:46:01
$B=2

10:46:04
$echo $((A+B))
3
10:46:17
$echo ((A+$B))
l3script: syntax error near unexpected token `('
/dev/pts/3
10:47:11
$echo $((A+$B))
l3script: A+: syntax error: operand expected (error token is "+")
10:47:28
$cat /etc/passwd > newfile

10:47:58
$less newfile
10:49:32
$mv /etc/passwd /tmp
mv: cannot move `/etc/passwd' to `/tmp/passwd': Permission denied
10:50:58
$mv /etc/passwd /tmp 2> errlog

10:51:28
$cat errlog
mv: cannot move `/etc/passwd' to `/tmp/passwd': Permission denied
10:52:19
$mv /etc/passwd /tmp
mv: cannot move `/etc/passwd' to `/tmp/passwd': Permission denied
10:52:35
$mv /etc/passwd /tmp 2> /dev//null

10:52:54
$cat >> unsorted
Windows XP
Windows NT
Solaris
Sun OS
Linux
FreeBSD
^[
^C
10:54:10
$sort < unsorted > sorted

10:54:30
$cat sorted
nux
Solaris
Sun OS
Windows NT
Windows XP
10:54:36
$cat > file
^C

Файлы

  • errlog
  • newfile
  • sorted
  • touchlist
  • errlog
    >
    mv: cannot move `/etc/passwd' to `/tmp/passwd': Permission denied
    
    newfile
    >
    sorted
    >
    nux
    Solaris
    Sun OS
    Windows NT
    Windows XP
    
    touchlist
    >
    file1
    file2
    file3
    directory1
    directory2
    directory3
    aba
    abb
    abc
    abd
    killall
    

    Статистика

    Время первой команды журнала14:14:26 2018-10-16
    Время последней команды журнала10:54:36 2018-10-17
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %25.74
    Процент синтаксически неверно набранных команд, %10.89
    Суммарное время работы с терминалом *, час 0.92
    Количество командных строк в единицу времени, команда/мин 1.84
    Частота использования команд
    ls38|==============================| 30.65%
    echo17|=============| 13.71%
    >14|===========| 11.29%
    touch12|=========| 9.68%
    cat6|====| 4.84%
    mv6|====| 4.84%
    cd3|==| 2.42%
    touchlist'2|=| 1.61%
    unsorted2|=| 1.61%
    rm2|=| 1.61%
    vi2|=| 1.61%
    ln2|=| 1.61%
    find2|=| 1.61%
    sort1|| 0.81%
    null1|| 0.81%
    errlog1|| 0.81%
    newfile1|| 0.81%
    B=21|| 0.81%
    text$1|| 0.81%
    КОМАНДНАЯ1|| 0.81%
    [user@debian2:names]$1|| 0.81%
    less1|| 0.81%
    ^C1|| 0.81%
    171|| 0.81%
    file1|| 0.81%
    exit1|| 0.81%
    xit1|| 0.81%
    sorted1|| 0.81%
    A=11|| 0.81%
    ____
    *) Интервалы неактивности длительностью 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$