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

Содержание

Журнал

Понедельник (12/21/15)

/dev/pts/0
14:00:17
#ls -il
итого 4
653108 drwxr-xr-x 2 root root 4096 Дек 21 14:57 x
653109 lrwxrwxrwx 1 root root    1 Дек 21 14:49 x-simlink -> x
653110 lrwxrwxrwx 1 root root    1 Дек 21 14:56 x-symlink -> x
14:00:18
#mv x-hardlink bbb
mv: не удалось выполнить stat для «x-hardlink»: Нет такого файла или каталога
14:00:28
#ls -il
итого 4
653108 drwxr-xr-x 2 root root 4096 Дек 21 14:57 x
653109 lrwxrwxrwx 1 root root    1 Дек 21 14:49 x-simlink -> x
653110 lrwxrwxrwx 1 root root    1 Дек 21 14:56 x-symlink -> x
14:00:36
#ln 777 x-hardlink
ln: обращение к «777»: Нет такого файла или каталога
14:01:14
#ls
x  x-simlink  x-symlink
14:01:24
#touch 777

14:01:31
#ln 777 x-hardlink

14:01:33
#ls il
ls: невозможно получить доступ к il: Нет такого файла или каталога
14:01:50
#ls -il
итого 4
653111 -rw-r--r-- 2 root root    0 Дек 21 15:01 777
653108 drwxr-xr-x 2 root root 4096 Дек 21 14:57 x
653111 -rw-r--r-- 2 root root    0 Дек 21 15:01 x-hardlink
653109 lrwxrwxrwx 1 root root    1 Дек 21 14:49 x-simlink -> x
653110 lrwxrwxrwx 1 root root    1 Дек 21 14:56 x-symlink -> x
14:01:53
#rm 777

14:02:02
#ls -il
итого 4
653108 drwxr-xr-x 2 root root 4096 Дек 21 14:57 x
653111 -rw-r--r-- 1 root root    0 Дек 21 15:01 x-hardlink
653109 lrwxrwxrwx 1 root root    1 Дек 21 14:49 x-simlink -> x
653110 lrwxrwxrwx 1 root root    1 Дек 21 14:56 x-symlink -> x
14:02:04
#mv x-hardlink 777

14:02:19
#ls -il
итого 4
653111 -rw-r--r-- 1 root root    0 Дек 21 15:01 777
653108 drwxr-xr-x 2 root root 4096 Дек 21 14:57 x
653109 lrwxrwxrwx 1 root root    1 Дек 21 14:49 x-simlink -> x
653110 lrwxrwxrwx 1 root root    1 Дек 21 14:56 x-symlink -> x
14:02:24
#cd

14:05:43
#ls -l
итого 20
drwxr-xr-x 4 root root 4096 Дек 21 12:49 d1
drwxr-xr-x 3 root root 4096 Дек 21 12:45 d4
-rw-r--r-- 1 root root 5268 Окт 13  2014 install
drwxr-xr-x 3 root root 4096 Дек 21 14:49 proj
lrwxrwxrwx 1 root root   17 Дек 21 14:47 users -> /root/d1/d4/users
14:05:46
#ls -l /dev/xvda
brw-rw---T 1 root disk 202, 0 Дек 21 11:32 /dev/xvda
14:07:14
#ls -l /dev/xcdb
ls: невозможно получить доступ к /dev/xcdb: Нет такого файла или каталога
14:14:24
#ls -l /dev/xvdb
brw-rw---T 1 root disk 202, 16 Дек 21 11:32 /dev/xvdb

Вторник (12/22/15)

/dev/pts/0
08:59:22
#vi
09:05:21
# 2
  1 set
~
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
-- ВСТАВКА --                                                                                                                                                      1,4          Весь
09:06:09
# 2
  1
~
  2
  3
  4
  5
  6
  7
  8
  9
...
~
~
~
~
~
~
~
 34
                                                                                                                                                                          3,1          Весь
[1]+  Stopped                 /usr/bin/vi "$@"
прошло 15 минут
09:21:52
#ls -a
.  ..  .aptitude  .bash_history  .bash_profile  .bashrc  d1  d4  install  .install.swp  .l3rc  .lesshst  .lilalo  .profile  proj  .swp  test  users  .vim  .viminfo  .vimrc
09:22:05
#jobs
[1]+  Stopped                 /usr/bin/vi "$@"
09:23:16
#fg %1
  1 dfsdfsdf
  2 sdfsdfsd
  3 ^Z
09:26:16
#~

09:26:20
#ls -a
.  ..  .aptitude  .bash_history  .bash_profile  .bashrc  d1  d4  install  .install.swp  .l3rc  .lesshst  .lilalo  .profile  proj  test  users  .vim  .viminfo  .vimrc
09:26:36
#jobs

09:27:48
#vi
09:28:08
#ls -a
.  ..  .aptitude  .bash_history  .bash_profile  .bashrc  d1  d4  install  .install.swp  .l3rc  .lesshst  .lilalo  .profile  proj  .swp  test  users  .vim  .viminfo  .vimrc
09:28:14
#jobs
[1]+  Stopped                 /usr/bin/vi "$@"
09:28:19
#fg %1
  1 123123^Z
09:28:46
#~
root@debian1:~# ls
d1  d4  install  proj  test  users
root@debian1:~# logout
bash: logout: оболочка не является запущенной после входа в систему: используйте `exit'
root@debian1:~# q!
bash: q!: команда не найдена
root@debian1:~# exit
exit
09:32:57
#echo $SH

09:33:21
#bash
root@debian1:~# echo $SH
root@debian1:~# ps
  PID TTY          TIME CMD
 5441 pts/1    00:00:00 l3script
 5616 pts/1    00:00:00 bash
 5617 pts/1    00:00:00 ps
root@debian1:~# echo $$
5616
root@debian1:~# exit
exit
09:35:00
#sh
sh: 1: Syntax error: Bad fd number
09:35:15
#bash
root@debian1:~# exit
exit
09:37:30
#ps -ax
warning: bad ps syntax, perhaps a bogus '-'?
See http://gitorious.org/procps/procps/blobs/master/Documentation/FAQ
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:02 init [2]
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:00 [ksoftirqd/0]
    5 ?        S      0:00 [kworker/u:0]
    6 ?        S      0:00 [migration/0]
    7 ?        S      0:00 [watchdog/0]
    8 ?        S<     0:00 [cpuset]
...
 4917 ?        Ss     0:00 /usr/sbin/squid -D -YC
 4922 ?        S      0:07 (squid) -D -YC
 4927 ?        S      0:00 (unlinkd)
 5017 ?        Ss     0:11 l3-agent
 5362 ?        Ss     0:00 sshd: root@pts/0
 5364 pts/0    Ss     0:00 -bash
 5409 pts/0    S+     0:00 script -f -c l3script -q /root/.lilalo//3048429226220456508-1450771162.script
 5440 pts/0    S+     0:00 script -f -c l3script -q /root/.lilalo//3048429226220456508-1450771162.script
 5441 pts/1    Ss     0:00 l3script
 5644 pts/1    R+     0:00 ps -ax
09:37:36
#pstree
init─┬─acpid
     ├─cron
     ├─exim4
     ├─6*[getty]
     ├─2*[l3-agent]
     ├─rsyslogd───3*[{rsyslogd}]
     ├─squid───squid───unlinkd
     ├─sshd───sshd───bash───script───script───l3script───pstree
     └─udevd───2*[udevd]
09:38:47
#vi install
09:40:39
#rm instal.swp
rm: невозможно удалить «instal.swp»: Нет такого файла или каталога
09:40:50
#jobs

09:40:55
#vi
09:42:11
#~
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
09:43:11
#atp-get install zsh
l3script: atp-get: команда не найдена
09:44:11
#apt-get install zsh
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Предлагаемые пакеты:
  zsh-doc
НОВЫЕ пакеты, которые будут установлены:
  zsh
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 71 пакетов не обновлено.
Необходимо скачать 4 916 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 11,7 MB.
Получено:1 http://ftp.ua.debian.org/debian/ wheezy/main zsh amd64 4.3.17-1 [4 916 kB]
Получено 4 916 kБ за 5с (914 kБ/c)
Выбор ранее не выбранного пакета zsh.
(Чтение базы данных … на данный момент установлено 30816 файлов и каталогов.)
Распаковывается пакет zsh (из файла …/zsh_4.3.17-1_amd64.deb) …
Обрабатываются триггеры для man-db …
Настраивается пакет zsh (4.3.17-1) …
update-alternatives: используется /bin/zsh4 для предоставления /bin/zsh (zsh) в автоматический режим
update-alternatives: используется /bin/zsh4 для предоставления /bin/rzsh (rzsh) в автоматический режим
update-alternatives: используется /bin/zsh4 для предоставления /bin/ksh (ksh) в автоматический режим
09:44:36
#cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
/bin/zsh
/usr/bin/zsh
09:44:44
#ls -l /bin/*sh
-rwxr-xr-x 1 root root 975488 Сен 25  2014 /bin/bash
-rwxr-xr-x 1 root root 106920 Мар  1  2012 /bin/dash
lrwxrwxrwx 1 root root     21 Дек 22 10:44 /bin/ksh -> /etc/alternatives/ksh
lrwxrwxrwx 1 root root      4 Сен 25  2014 /bin/rbash -> bash
lrwxrwxrwx 1 root root     22 Дек 22 10:44 /bin/rzsh -> /etc/alternatives/rzsh
lrwxrwxrwx 1 root root      4 Мар  1  2012 /bin/sh -> dash
lrwxrwxrwx 1 root root     21 Дек 22 10:44 /bin/zsh -> /etc/alternatives/zsh
09:45:44
#ls -l /etc/alternative/zsh
ls: невозможно получить доступ к /etc/alternative/zsh: Нет такого файла или каталога
09:46:30
#ls -l /etc/alternatives/zsh
lrwxrwxrwx 1 root root 9 Дек 22 10:44 /etc/alternatives/zsh -> /bin/zsh4
09:46:36
#vi /etc/bash.bashrc
09:55:40
#jobs
[1]+  Stopped                 /usr/bin/vi "$@"
09:55:49
#fs %1
l3script: fs: команда не найдена
09:55:57
#fg %1
 12
 13 # set variable identifying the chroot you work in (used in the prompt below)
 14 if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
 15     debian_chroot=$(cat /etc/debian_chroot)
 16 fi
 17
 18 # set a fancy prompt (non-color, overwrite the one in /etc/profile)
 19 PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
 20
 21 # Commented out, don't overwrite xterm -T "title" -n "icontitle" by default.
...
 48                    /usr/bin/python /usr/share/command-not-found/command-not-found -- "$1"
 49                    return $?
 50                 else
 51                    printf "%s: command not found\n" "$1" >&2
 52                    return 127
 53                 fi
 54         }
 55 fi
 56
 57 alias srm='shred -u'
09:56:17
#alias

09:57:17
#source
l3script: source: требуется аргумент имя файла
source: usage: source filename [arguments]
09:57:33
#source /etc/bash.vashrc
l3script: /etc/bash.vashrc: Нет такого файла или каталога

Файлы

  • /etc/shells
  • /etc/shells
    >
    # /etc/shells: valid login shells
    /bin/sh
    /bin/dash
    /bin/bash
    /bin/rbash
    /usr/bin/screen
    /bin/zsh
    /usr/bin/zsh
    

    Статистика

    Время первой команды журнала14:00:17 2015-12-21
    Время последней команды журнала09:57:33 2015-12-22
    Количество командных строк в журнале56
    Процент команд с ненулевым кодом завершения, %28.57
    Процент синтаксически неверно набранных команд, % 5.36
    Суммарное время работы с терминалом *, час 1.20
    Количество командных строк в единицу времени, команда/мин 0.77
    Частота использования команд
    ls17|==============================| 30.36%
    vi5|========| 8.93%
    jobs5|========| 8.93%
    fg3|=====| 5.36%
    ~3|=====| 5.36%
    rm2|===| 3.57%
    bash2|===| 3.57%
    ln2|===| 3.57%
    22|===| 3.57%
    mv2|===| 3.57%
    source2|===| 3.57%
    alias1|=| 1.79%
    ps1|=| 1.79%
    touch1|=| 1.79%
    atp-get1|=| 1.79%
    cd1|=| 1.79%
    fs1|=| 1.79%
    echo1|=| 1.79%
    sh1|=| 1.79%
    apt-get1|=| 1.79%
    cat1|=| 1.79%
    pstree1|=| 1.79%
    ____
    *) Интервалы неактивности длительностью 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$