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

Содержание

Журнал

Среда (04/10/13)

/dev/pts/0
11:06:23
$find / -type l
/sbin/lspcmcia
/sbin/umount.nfs4
/sbin/ip6tables-restore
/sbin/ip6tables-save
/sbin/mount.nfs4
/sbin/lsmod
/sbin/ip
/sbin/iptables-restore
/sbin/umount.nfs
/sbin/iptables-save
...
/sys/block/xvda
/sys/block/xvdb
/sys/block/loop0
/sys/block/loop1
/sys/block/loop2
/sys/block/loop3
/sys/block/loop4
/sys/block/loop5
/sys/block/loop6
/sys/block/loop7
11:06:27
$find / -user user
/tmp/etccopy
/tmp/etccopy/inittab
/tmp/etccopy/profile
/tmp/etccopy/securetty
/tmp/etccopy/ucf.conf
/tmp/etccopy/protocols
/tmp/etccopy/issue
/tmp/etccopy/reportbug.conf
/tmp/etccopy/hosts
/tmp/etccopy/adduser.conf
...
/proc/9630/cgroup
/proc/9630/oom_score
/proc/9630/oom_adj
/proc/9630/oom_score_adj
/proc/9630/loginuid
/proc/9630/sessionid
/proc/9630/coredump_filter
/proc/9630/io
/dev/pts/2
/dev/pts/0
11:06:42
$find / -user user | less
11:07:03
$find / -user user | less
11:07:27
$find / -perm +6000
/sbin/mount.nfs
/sbin/unix_chkpwd
/bin/ping
/bin/umount
/bin/mount
/bin/ping6
/bin/su
find: `/root': Отказано в доступе
/usr/sbin/exim4
/usr/sbin/pppd
...
find: `/proc/7688/fd': Отказано в доступе
find: `/proc/7688/fdinfo': Отказано в доступе
find: `/proc/7691/task/7691/fd': Отказано в доступе
find: `/proc/7691/task/7691/fdinfo': Отказано в доступе
find: `/proc/7691/fd': Отказано в доступе
find: `/proc/7691/fdinfo': Отказано в доступе
find: `/proc/9656/task/9656/fd/5': Нет такого файла или каталога
find: `/proc/9656/task/9656/fdinfo/5': Нет такого файла или каталога
find: `/proc/9656/fd/5': Нет такого файла или каталога
find: `/proc/9656/fdinfo/5': Нет такого файла или каталога
11:07:54
$find / -perm +6000
/sbin/mount.nfs
/sbin/unix_chkpwd
/bin/ping
/bin/umount
/bin/mount
/bin/ping6
/bin/su
find: `/root': Отказано в доступе
/usr/sbin/exim4
/usr/sbin/pppd
...
find: `/proc/7688/fd': Отказано в доступе
find: `/proc/7688/fdinfo': Отказано в доступе
find: `/proc/7691/task/7691/fd': Отказано в доступе
find: `/proc/7691/task/7691/fdinfo': Отказано в доступе
find: `/proc/7691/fd': Отказано в доступе
find: `/proc/7691/fdinfo': Отказано в доступе
find: `/proc/9664/task/9664/fd/5': Нет такого файла или каталога
find: `/proc/9664/task/9664/fdinfo/5': Нет такого файла или каталога
find: `/proc/9664/fd/5': Нет такого файла или каталога
find: `/proc/9664/fdinfo/5': Нет такого файла или каталога
11:07:59
$find / -perm +1000
/tmp
/tmp/.X11-unix
/tmp/.ICE-unix
find: `/root': Отказано в доступе
find: `/lost+found': Отказано в доступе
find: `/etc/ssl/private': Отказано в доступе
/var/spool/cron/atjobs
find: `/var/spool/cron/atjobs': Отказано в доступе
/var/spool/cron/crontabs
find: `/var/spool/cron/crontabs': Отказано в доступе
...
find: `/proc/7688/fdinfo': Отказано в доступе
find: `/proc/7691/task/7691/fd': Отказано в доступе
find: `/proc/7691/task/7691/fdinfo': Отказано в доступе
find: `/proc/7691/fd': Отказано в доступе
find: `/proc/7691/fdinfo': Отказано в доступе
find: `/proc/9672/task/9672/fd/5': Нет такого файла или каталога
find: `/proc/9672/task/9672/fdinfo/5': Нет такого файла или каталога
find: `/proc/9672/fd/5': Нет такого файла или каталога
find: `/proc/9672/fdinfo/5': Нет такого файла или каталога
/dev/shm
11:12:22
$find / -perm +0222
/
/opt
/srv
/sbin
/sbin/pmap_set
/sbin/sm-notify
/sbin/nameif
/sbin/tune2fs
/sbin/ifconfig
/sbin/discover-pkginstall
...
/sys/block/xvda
/sys/block/xvdb
/sys/block/loop0
/sys/block/loop1
/sys/block/loop2
/sys/block/loop3
/sys/block/loop4
/sys/block/loop5
/sys/block/loop6
/sys/block/loop7
11:13:03
$find / -perm +0002
/sbin/lspcmcia
/sbin/umount.nfs4
/sbin/ip6tables-restore
/sbin/ip6tables-save
/sbin/mount.nfs4
/sbin/lsmod
/sbin/ip
/sbin/iptables-restore
/sbin/umount.nfs
/sbin/iptables-save
...
/sys/block/xvda
/sys/block/xvdb
/sys/block/loop0
/sys/block/loop1
/sys/block/loop2
/sys/block/loop3
/sys/block/loop4
/sys/block/loop5
/sys/block/loop6
/sys/block/loop7
11:15:46
$ls -l
итого 2944
-rwxr-xr-x 1 user user    7994 Апр 10 10:54 bigfile
drwxr-xr-x 2 user user    4096 Апр 10 10:54 bin
-rwxr-xr-x 1 user user  232966 Апр 10 10:54 freebsd.jpg
-rwxr-xr-x 1 user user   52884 Апр 10 10:54 granata.jpg
-rwxr-xr-x 1 user user 1751860 Апр 10 10:54 Light_Alloy_4.4.784_RC2_by_FAFNIR.exe
drwxr-xr-x 2 user user    4096 Апр 10 10:54 lpi 1
drwxr-xr-x 2 user user    4096 Апр 10 10:54 lpi 2
-rwxr-xr-x 1 user user   26648 Апр 10 10:54 man_smb_conf
-rwxr-xr-x 1 user user  755680 Апр 10 10:54 matrix.jpg
drwxr-xr-x 3 user user    4096 Апр 10 10:54 names
-rwxr-xr-x 1 user user   17622 Апр 10 10:54 ogo.jpg
-rwxr-xr-x 1 user user   84663 Апр 10 10:54 pamyatka.pdf
-rwxr-xr-x 1 user user   23048 Апр 10 10:54 press_any_key_to_continue.jpg
drwxr-xr-x 3 user user    4096 Апр 10 10:54 proj
drwxr-xr-x 2 user user    4096 Апр 10 10:54 text
-rwxr-xr-x 1 user user      75 Апр 10 10:54 touchlist
11:15:48
$/ls
l3script: /ls: Нет такого файла или каталога
11:16:53
$mkdir ~/soft

11:17:27
$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                                  soft
lpi 2                                  text
man_smb_conf                           touchlist
matrix.jpg
11:19:42
$find ~ -regex '.*(\.tar|\.gz|\.tgz|\.rpm)'

11:20:05
$find ~ -regex '.*(\.tar|\.gz|\.tgz|\.rpm)'

прошло 24 минуты
11:44:14
$find / -regex '.*(\.tar|\.gz|\.tgz|\.rpm)'
find: `/root': Отказано в доступе
find: `/lost+found': Отказано в доступе
find: `/etc/ssl/private': Отказано в доступе
find: `/var/spool/cron/atjobs': Отказано в доступе
find: `/var/spool/cron/crontabs': Отказано в доступе
find: `/var/spool/cron/atspool': Отказано в доступе
find: `/var/spool/exim4': Отказано в доступе
find: `/var/lib/sudo': Отказано в доступе
find: `/var/cache/ldconfig': Отказано в доступе
find: `/var/run/exim4': Отказано в доступе
...
find: `/proc/1829/fd': Отказано в доступе
find: `/proc/1829/fdinfo': Отказано в доступе
find: `/proc/7688/task/7688/fd': Отказано в доступе
find: `/proc/7688/task/7688/fdinfo': Отказано в доступе
find: `/proc/7688/fd': Отказано в доступе
find: `/proc/7688/fdinfo': Отказано в доступе
find: `/proc/7691/task/7691/fd': Отказано в доступе
find: `/proc/7691/task/7691/fdinfo': Отказано в доступе
find: `/proc/7691/fd': Отказано в доступе
find: `/proc/7691/fdinfo': Отказано в доступе
11:44:32
$find ~ -name core
/home/user/proj/core
/home/user/lpi 1/core
/home/user/text/core
11:46:14
$find ~ -name core -ok rm -f {} \;
< rm ... /home/user/proj/core > ? n
< rm ... /home/user/lpi 1/core > ? n
< rm ... /home/user/text/core > ? y
11:46:43
$find ~ -name core
/home/user/proj/core
/home/user/lpi 1/core
11:46:45
$touch \

прошло 13 минут
12:00:34
$ls
                                       matrix.jpg
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                                  soft
lpi 2                                  text
man_smb_conf                           touchlist
12:00:35
$rm ./\

12:00:49
$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                                  soft
lpi 2                                  text
man_smb_conf                           touchlist
matrix.jpg
12:00:50
$find / -regextype posix -regex '.*(\.tar|\.gz|\.tgz|\.rpm)'
find: Unknown regular expression type `posix'; valid types are `findutils-default', `awk', `egrep', `ed', `emacs', `gnu-awk', `grep', `posix-awk', `posix-basic', `posix-egrep', `posix-extended', `posix-minimal-basic', `sed'.
прошла 21 минута
12:22:23
$-regex '.*(\.tar|\.gz|\.tgz|\.rpm)'

12:22:32
$/

12:22:32
$-regex '.*(\.tar|\.gz|\.tgz|\.rpm)'
                  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                                  soft
lpi 2                                  text
man_smb_conf                           touchlist
matrix.jpg
12:22:37
$$PATH
l3script: /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games: Нет такого файла или каталога
12:28:48
$a=3

прошло 15 минут
12:43:50
$$3

12:43:53
$$3

12:43:58
$/

12:43:58
$-regex '.*(\.tar|\.gz|\.tgz|\.rpm)'

12:43:58
$~

12:43:58
$ls
                  $PATH
l3script: /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games: Нет такого файла или каталога
12:44:07
$echo
.bash_history                          man_smb_conf
.bash_logout                           matrix.jpg
.bash_profile                          names/
.bashrc                                ogo.jpg
bigfile                                pamyatka.pdf
bin/                                   press_any_key_to_continue.jpg
freebsd.jpg                            .profile
granata.jpg                            proj/
.l3rc                                  soft/
.lesshst                               .ssh/
Light_Alloy_4.4.784_RC2_by_FAFNIR.exe  text/
.lilalo/                               touchlist
lpi 1/                                 .viminfo
lpi 2/                                 .vimrc
12:46:01
$echo $$
7823
12:52:32
$m3w
l3script: m3w: команда не найдена
13:00:55
$bash m3w
bash: m3w: Нет такого файла или каталога
13:01:00
$bash m3v
bash: m3v: Нет такого файла или каталога
13:01:02
$echo $BROWSER

13:01:42
$cp qwer /tmp
cp: невозможно выполнить stat для «qwer»: Нет такого файла или каталога
прошло 49 минут
13:51:34
$echo $?
1
13:51:41
$touch qwer

13:52:03
$cp qwer /tmp

13:52:12
$echo $/
$/
13:52:16
$echo $?
0
13:52:24
$test 5 -gt 1

13:53:04
$echo $?
0
13:53:09
$test 5 -lt 1

13:53:18
$echo $?
1
13:53:28
$test -z "$STRING"

13:54:26
$echo $?
0
13:54:33
$test -z $STRING

13:54:43
$echo $?
0
13:54:51
$test "$P" !=print
l3script: test: : ожидается использование унарного оператора
13:55:30
$test "$P" != print

13:55:36
$touch $?

13:55:44
$echo $?
0
13:55:54
$test "$P" != print

13:55:57
$echo $?
0
13:55:59
$test $P != print
l3script: test: !=: ожидается использование унарного оператора
13:56:03
$echo $?
2
13:56:09
$test -e /etc/motd

13:56:37
$echo $?
0
13:56:40
$test -d /usr/local/bin

13:57:07
$test -r /etc/shadow

13:57:21
$echo $?
1
13:57:23
$test -k /tmp

13:57:37
$echo $?
0
13:57:39
$man test
13:59:24
$test -w /etc/passwd

13:59:37
$echo $?
1
13:59:39
$echo "Ваш любиміый цвет?" ; read FAV_COL ; \
> echo ваш л ц - Ð$FAV_COL
Ваш любимый цвет?
Read
ваш л ц - Read
14:06:30
$echo $EUID -ne 0 -a -r /etc/shadow && \
> echo ÐÐ" ваа ÐÐÐ: файл /etc/shadow доступеÐÑн ÐÐ "
1000 -ne 0 -a -r /etc/shadow
 ваа: файл /etc/shadow доступен
14:09:24
$test -w /etc/passwd || \
> echo "no"
no
14:12:29
$test -w /etc/passwd || echo "no"
no
14:12:35
$echo ЄЭ"OS?" ; \
> read FAV_OS ; ["$FAV_OS" == "BSD"] || echo "good"
OS?
BSD
l3script: [BSD: команда не найдена
good
14:14:42
$test -w /etc/passwd || echo "no"
                  echo "OS?" ; read FAV_OS ; ["$FAV_OS" == "BSD"] || echo "good"
OS?
s
l3script: [s: команда не найдена
good
14:15:28
$A=0

14:16:15
$while [$A<10]
> do
> $A++
> echo $A
> done
l3script: 10]: Нет такого файла или каталога
14:16:53
$while [$A\<10]; do $A++; echo $A; done
l3script: 0: команда не найдена
14:17:06
$while ["$A<10"]; do $A++; echo $A; done
l3script: 0: команда не найдена
14:18:01
$while [$A<10]; do $A++; echo $A; done
l3script: 10]: Нет такого файла или каталога
14:18:08
$while [$A\<10]; do $A++; echo $A; done
l3script: 0: команда не найдена
14:18:15
$while [$A\<10]; do $A++ echo $A; done
l3script: 0: команда не найдена
14:18:59
$while [$A\<10]; do $A++; echo $A; done
l3script: 0: команда не найдена
14:19:29
$for file in /etc/*
> do
> [ -r $file ] || echo $file
> done
/etc/at.deny
/etc/group-
/etc/gshadow
/etc/gshadow-
/etc/passwd-
/etc/shadow
/etc/shadow-
/etc/sudoers
14:20:44
$for file in /etc/*; do [ -r $file ] || echo $file; done
/etc/at.deny
/etc/group-
/etc/gshadow
/etc/gshadow-
/etc/passwd-
/etc/shadow
/etc/shadow-
/etc/sudoers
14:30:42
$read answer \
> case $answer in "man" | "info" )
l3script: syntax error near unexpected token `)'
14:31:18
$read answer case $answer in ( "man" | "info" )
l3script: syntax error near unexpected token `('
14:31:24
$case $answer in ( "man" | "info" )
> echo "da"
> esac
14:32:01
$case $answer in ( "man" | "info" ) echo "da"; esac

14:32:04
$case $answer in ( "man" | "info" ) echo "da"; esac

14:32:09
$echo &?\
>
[3] 10493
l3script: 0: команда не найдена
[3]   Done                    echo
14:32:16
$echo &?
[3] 10502
l3script: 0: команда не найдена
[3]   Done                    echo
14:32:20
$case $answer in ( "man" | "info" ) echo "da"; esac

14:32:22
$answer="man"

14:32:41
$echo $answer
man
14:32:55
$case $answer in ( "man" | "info" ) echo "da"; esac
da
14:35:00
$case $answer in ( "man" | "info" ) echo "da" ;; (

Статистика

Время первой команды журнала11:06:23 2013- 4-10
Время последней команды журнала14:35:00 2013- 4-10
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %19.80
Процент синтаксически неверно набранных команд, % 8.91
Суммарное время работы с терминалом *, час 2.65
Количество командных строк в единицу времени, команда/мин 0.64
Частота использования команд
echo31|=================| 17.92%
find16|=========| 9.25%
test16|=========| 9.25%
\.tgz7|====| 4.05%
while7|====| 4.05%
\.rpm)'7|====| 4.05%
"info"7|====| 4.05%
do7|====| 4.05%
\.gz7|====| 4.05%
done7|====| 4.05%
10]6|===| 3.47%
case6|===| 3.47%
ls5|==| 2.89%
\4|==| 2.31%
esac4|==| 2.31%
touch3|=| 1.73%
read3|=| 1.73%
-regex3|=| 1.73%
cp2|=| 1.16%
$32|=| 1.16%
for2|=| 1.16%
less2|=| 1.16%
bash2|=| 1.16%
/2|=| 1.16%
mkdir1|| 0.58%
&1|| 0.58%
man1|| 0.58%
rm1|| 0.58%
A=01|| 0.58%
$PATH1|| 0.58%
?\1|| 0.58%
~1|| 0.58%
10"]1|| 0.58%
(1|| 0.58%
?1|| 0.58%
m3w1|| 0.58%
/ls1|| 0.58%
answer="man"1|| 0.58%
a=31|| 0.58%
____
*) Интервалы неактивности длительностью 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$