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

Содержание

Журнал

Вторник (09/13/16)

/dev/pts/1
10:19:27
$echo $HISTSIZE
1000
/dev/pts/1
10:19:59
$ls
bigfile                                names
bin                                    ogo.jpg
freebsd.jpg                            pamyatka.pdf
granata.jpg                            press_any_key_to_continue.jpg
Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  proj
lpi 1                                  sh
lpi 2                                  text
man_smb_conf                           touchlist
matrix.jpg
10:20:06
$cat .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
...
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi
[ $0 == l3script ] && . /home/user/.lilalo/l3bashrc && _l3_start
10:20:12
$less .bashrc
10:20:19
$cd names/
У вас есть новая почта в /var/mail/user
прошло >3 часов
14:16:57
$ls
_1_2_3     alloca.H    bjen    fcntl.h  -hello         _kik_my  Regexp.H
1cdesktop  __asterisk  bjon    -file1   _hrypun        modules  s_tol_
acpi       bjan        core.c  group    isdn_ttyfax.c  passwd   term.h
14:16:58
$ls -*
ls: неверный ключ -- e
Попробуйте «ls --help» для получения более подробного описания.
14:17:37
$ls \-*
ls: неверный ключ -- e
Попробуйте «ls --help» для получения более подробного описания.
14:17:48
$ls -- -*
-file1  -hello
14:18:26
$ls
_1_2_3     alloca.H    bjen    fcntl.h  -hello         _kik_my  Regexp.H
1cdesktop  __asterisk  bjon    -file1   _hrypun        modules  s_tol_
acpi       bjan        core.c  group    isdn_ttyfax.c  passwd   term.h
14:19:20
$ls acpi/
events  powerbtn-acpi-support.sh
14:19:25
$ls *cde*
1cdesktop
14:19:45
$> 1[cde]sktop

14:20:01
$ls
_1_2_3       alloca.H    bjon     group          _kik_my   s_tol_
1cdesktop    __asterisk  core.c   -hello         modules   term.h
1[cde]sktop  bjan        fcntl.h  _hrypun        passwd
acpi         bjen        -file1   isdn_ttyfax.c  Regexp.H
14:20:02
$ls *cde*
1cdesktop  1[cde]sktop
14:20:09
$ls *[cde]*
ls: неверный ключ -- e
Попробуйте «ls --help» для получения более подробного описания.
14:20:15
$ls -- *[cde]*
1cdesktop    alloca.H    bjen    fcntl.h  -hello         modules  Regexp.H
1[cde]sktop  __asterisk  core.c  -file1   isdn_ttyfax.c  passwd   term.h
acpi:
events  powerbtn-acpi-support.sh
14:20:25
$ls -- *'[cde]'*
1[cde]sktop
14:20:46
$ls -- *\[cde\]*
1[cde]sktop
14:21:04
$ls -- *\[cde]*
1[cde]sktop
14:21:20
$echo a*
acpi alloca.H
14:21:48
$ls
_1_2_3       alloca.H    bjon     group          _kik_my   s_tol_
1cdesktop    __asterisk  core.c   -hello         modules   term.h
1[cde]sktop  bjan        fcntl.h  _hrypun        passwd
acpi         bjen        -file1   isdn_ttyfax.c  Regexp.H
14:22:25
$cd ..

14:22:32
$cat t
text/      touchlist
14:22:32
$cat t
text/      touchlist
14:22:32
$cat touchlist
file1
file2
file3
directory1
directory2
directory3
aba
abb
abc
abd
killall
14:22:35
$touch `cat touchlist`

14:22:54
$ls
aba          killall
abb          Light_Alloy_4.4.784_RC2_by_FAFNIR.exe
abc          lpi 1
abd          lpi 2
bigfile      man_smb_conf
bin          matrix.jpg
directory1   names
directory2   ogo.jpg
directory3   pamyatka.pdf
file1        press_any_key_to_continue.jpg
file2        proj
file3        sh
freebsd.jpg  text
granata.jpg  touchlist
14:22:56
$date +%Y
2016
14:24:15
$echo "Today date +%Y year"
Today date +%Y year
14:24:38
$echo "Today `date +%Y` year"
Today 2016 year
14:24:45
$echo "Today $(date +%Y) year"
Today 2016 year
14:24:53
$echo HHHHHHHHHHHH$PATHHHHHHHHH
HHHHHHHHHHHH
14:25:17
$echo HHHHHHHHHHHH${PATH}HHHHHHHH
HHHHHHHHHHHH/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/gamesHHHHHHHH
14:25:25
$B=70

14:25:43
$A=10

14:25:49
$echo $((A+$B))
80
14:26:02
$echo ((A+$B))
l3script: syntax error near unexpected token `('

Файлы

  • .bashrc
  • t
  • touchlist
  • .bashrc
    >
    # ~/.bashrc: executed by bash(1) for non-login shells.
    # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
    # for examples
    # If not running interactively, don't do anything
    case $- in
        *i*) ;;
          *) return;;
    esac
    # don't put duplicate lines or lines starting with space in the history.
    # See bash(1) for more options
    HISTCONTROL=ignoreboth
    # append to the history file, don't overwrite it
    shopt -s histappend
    # for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
    HISTSIZE=1000
    HISTFILESIZE=2000
    # check the window size after each command and, if necessary,
    # update the values of LINES and COLUMNS.
    shopt -s checkwinsize
    # If set, the pattern "**" used in a pathname expansion context will
    # match all files and zero or more directories and subdirectories.
    #shopt -s globstar
    # make less more friendly for non-text input files, see lesspipe(1)
    #[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
    # set variable identifying the chroot you work in (used in the prompt below)
    if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
        debian_chroot=$(cat /etc/debian_chroot)
    fi
    # set a fancy prompt (non-color, unless we know we "want" color)
    case "$TERM" in
        xterm-color) color_prompt=yes;;
    esac
    # uncomment for a colored prompt, if the terminal has the capability; turned
    # off by default to not distract the user: the focus in a terminal window
    # should be on the output of commands, not on the prompt
    #force_color_prompt=yes
    if [ -n "$force_color_prompt" ]; then
        if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
            # We have color support; assume it's compliant with Ecma-48
            # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
            # a case would tend to support setf rather than setaf.)
            color_prompt=yes
        else
            color_prompt=
        fi
    fi
    if [ "$color_prompt" = yes ]; then
        PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    else
        PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    fi
    unset color_prompt force_color_prompt
    # If this is an xterm set the title to user@host:dir
    case "$TERM" in
    xterm*|rxvt*)
        PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
        ;;
    *)
        ;;
    esac
    # enable color support of ls and also add handy aliases
    if [ -x /usr/bin/dircolors ]; then
        test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
        alias ls='ls --color=auto'
        #alias dir='dir --color=auto'
        #alias vdir='vdir --color=auto'
        #alias grep='grep --color=auto'
        #alias fgrep='fgrep --color=auto'
        #alias egrep='egrep --color=auto'
    fi
    # some more ls aliases
    #alias ll='ls -l'
    #alias la='ls -A'
    #alias l='ls -CF'
    # Alias definitions.
    # You may want to put all your additions into a separate file like
    # ~/.bash_aliases, instead of adding them here directly.
    # See /usr/share/doc/bash-doc/examples in the bash-doc package.
    if [ -f ~/.bash_aliases ]; then
        . ~/.bash_aliases
    fi
    # enable programmable completion features (you don't need to enable
    # this, if it's already enabled in /etc/bash.bashrc and /etc/profile
    # sources /etc/bash.bashrc).
    if ! shopt -oq posix; then
      if [ -f /usr/share/bash-completion/bash_completion ]; then
        . /usr/share/bash-completion/bash_completion
      elif [ -f /etc/bash_completion ]; then
        . /etc/bash_completion
      fi
    fi
    [ $0 == l3script ] && . /home/user/.lilalo/l3bashrc && _l3_start
    
    t
    >
    text/      touchlist
    
    touchlist
    >
    file1
    file2
    file3
    directory1
    directory2
    directory3
    aba
    abb
    abc
    abd
    killall
    

    Статистика

    Время первой команды журнала10:19:27 2016- 9-13
    Время последней команды журнала14:26:02 2016- 9-13
    Количество командных строк в журнале38
    Процент команд с ненулевым кодом завершения, %10.53
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 0.17
    Количество командных строк в единицу времени, команда/мин 3.82
    Частота использования команд
    ls17|===========================================| 43.59%
    echo9|=======================| 23.08%
    cat4|==========| 10.26%
    cd2|=====| 5.13%
    touch1|==| 2.56%
    less1|==| 2.56%
    A=101|==| 2.56%
    >1|==| 2.56%
    date1|==| 2.56%
    1[cde]sktop1|==| 2.56%
    B=701|==| 2.56%
    ____
    *) Интервалы неактивности длительностью 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$