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

Содержание

Журнал

Понедельник (04/08/13)

/dev/pts/2
15:39:39
#cd 33

15:39:45
#ls

15:39:47
#ls -a
.  ..
15:39:55
#cd ..

15:40:14
#cd 22

15:40:19
#pwd
/usr/share/test/22
15:40:24
#ls -a
.  ..  a  b  c  d
15:40:32
#cp a b c /usr/share/test/33/

15:41:29
#cd ..

15:41:36
#cd 33

15:41:38
#ls
a  b  c
15:41:42
#cd ..

15:42:23
#cp -R /33 /55

15:42:59
#dir
22  33  44  a  b  source
15:43:06
#cp -Rv /33 /55
«/33» -> «/55»
15:43:18
#pwd
/usr/share/test
15:43:29
#ls -l
итого 16
drwxr-xr-x 2 root root 4096 Апр  8 16:36 22
drwxr-xr-x 2 root root 4096 Апр  8 16:41 33
drwxr-xr-x 2 root root 4096 Апр  8 16:36 44
-rw-r--r-- 1 root root    0 Апр  8 16:25 a
-rw-r--r-- 1 root root    0 Апр  8 16:25 b
drwxr-xr-x 2 root root 4096 Апр  8 16:08 source
15:43:44
#cd 33

15:43:56
#cp -Rv /usr/share/t^Ct/33/

15:44:42
#/usr/share/test/33/
l3script: /usr/share/test/33/: является директорией
15:44:49
#cp -Rv /usr/share/test/33/ /user/share/test/55
cp: невозможно создать каталог «/user/share/test/55»: Нет такого файла или каталога
15:45:31
#cp -R /usr/share/test/33/ /user/share/test/55
cp: невозможно создать каталог «/user/share/test/55»: Нет такого файла или каталога
15:45:48
#cd ..

15:46:21
#dir
22  33  44  a  b  source
15:46:51
#cd ~

15:56:26
#dir

15:56:32
#pwd
/root
15:56:36
#cd /usr/etc
l3script: cd: /usr/etc: Нет такого файла или каталога
15:56:53
#cd /usr

15:57:02
#dir
bin  games  include  lib  lib64  local  sbin  share  src
15:57:06
#cd share

15:58:10
#rdid
l3script: rdid: команда не найдена
15:58:15
#dir
acpi-support     debconf              i18n                 nano            reportbug
adduser          debhelper            ifupdown             ncat            sgml
applications     debianutils          info                 nfs-common      sgml-base
apps             dict                 initramfs-tools      nmap            ssh
aptitude         dictd                initrd-tools         opendict        sysvinit
apt-listchanges  dictionaries-common  initscripts          os-prober       sysv-rc
aspell           discover             insserv              pam             tabset
base-files       doc                  installation-report  pam-configs     tasksel
base-passwd      doc-base             iptables             perl            terminfo
binfmts          dpkg                 java                 perl5           test
bsd-mailx        e2fsprogs            keyrings             pixmaps         texinfo
bug              emacs                konwert              pkgconfig       texmf
build-essential  exim4                lintian              ppp             tools
ca-certificates  file                 locale               pycentral-data  vim
calendar         fonts                man                  pyshared        w3m
common-licenses  GeoIP                man8                 python          X11
consolefonts     gnupg                man-db               python-apt      xml
console-setup    groff                menu                 python-support  xml-core
consoletrans     grub                 misc                 readline        zoneinfo
15:58:20
#cd ..

16:00:18
#cd games

16:00:24
#ls -l
итого 0
16:00:35
#cd ..

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

12:42:14
#~
l3script: /root: является директорией
12:42:17
#cd /usr/

12:42:30
#pwd
/usr
12:42:34
#ls -l
итого 64
drwxr-xr-x  2 root root  20480 Авг  6  2012 bin
drwxr-xr-x  2 root root   4096 Июн 19  2011 games
drwxr-xr-x 33 root root   4096 Июл  5  2012 include
drwxr-xr-x 62 root root  16384 Авг  6  2012 lib
drwxr-xr-x  3 root root   4096 Июл  5  2012 lib64
drwxrwsr-x 10 root staff  4096 Июн 11  2012 local
drwxr-xr-x  2 root root   4096 Июл  5  2012 sbin
drwxr-xr-x 97 root root   4096 Апр  8 16:07 share
drwxr-xr-x  2 root root   4096 Июл  5  2012 src
12:42:42
#y
yes           ypdomainname
12:42:42
#man iconv

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

09:08:40
#man iconv
прошло 37 минут
09:46:37
#man ps
09:47:19
#man ps
09:47:39
#man locate
прошло 74 минуты
11:02:20
#$ find / -regex ".*\.jpe?g"
l3script: $: команда не найдена
11:10:26
#find / -atime +2
/sbin/pmap_set
/sbin/nameif
/sbin/tune2fs
/sbin/discover-pkginstall
/sbin/fsck.ext3
/sbin/plipconfig
/sbin/ldconfig
/sbin/depmod
/sbin/mkfs.ext4dev
/sbin/ctrlaltdel
...
/var/log/kern.log.1
/var/log/faillog
/var/log/syslog.4.gz
/var/log/fsck/checkroot
/var/log/fsck/checkfs
/var/log/syslog.3.gz
find: `/proc/6996/task/6996/fd/5': Нет такого файла или каталога
find: `/proc/6996/task/6996/fdinfo/5': Нет такого файла или каталога
find: `/proc/6996/fd/5': Нет такого файла или каталога
find: `/proc/6996/fdinfo/5': Нет такого файла или каталога
11:16:12
#find ~ -regex '.*(\.tar\.gz|\.tgz|\.pdf)'

прошло 35 минут
11:51:46
#find ~ -regex '.*(\.tar\.gz|\.tgz|\.rpm)'

11:52:46
#ls -l
итого 64
drwxr-xr-x  2 root root  20480 Авг  6  2012 bin
drwxr-xr-x  2 root root   4096 Июн 19  2011 games
drwxr-xr-x 33 root root   4096 Июл  5  2012 include
drwxr-xr-x 62 root root  16384 Авг  6  2012 lib
drwxr-xr-x  3 root root   4096 Июл  5  2012 lib64
drwxrwsr-x 10 root staff  4096 Июн 11  2012 local
drwxr-xr-x  2 root root   4096 Июл  5  2012 sbin
drwxr-xr-x 97 root root   4096 Апр  8 16:07 share
drwxr-xr-x  2 root root   4096 Июл  5  2012 src
11:53:02
#cat *
cat: bin: Это каталог
cat: games: Это каталог
cat: include: Это каталог
cat: lib: Это каталог
cat: lib64: Это каталог
cat: local: Это каталог
cat: sbin: Это каталог
cat: share: Это каталог
cat: src: Это каталог
11:53:18
#dir
bin  games  include  lib  lib64  local  sbin  share  src
11:53:27
#pwd
/usr
11:53:43
#cd ..

11:53:54
#pwd
/
11:53:59
#~
l3script: /root: является директорией
11:54:19
#cd ..

прошло 59 минут
12:53:28
#MAN CP
l3script: MAN: команда не найдена
прошло 68 минут
14:01:57
#man cp
14:04:48
#man test
прошло 39 минут
14:44:12
#man while
14:44:21
#man
14:44:32
#man do
14:44:44
#man
14:44:55
#while
>
>
> l3script: ошибка синтаксиса: неожиданный конец файла
14:45:05
#while
33          dev/        lib/        opt/        sbin/       tmp/
55          etc/        lost+found/ perl,doc/   selinux/    usr/
bin/        home/       media/      proc/       srv/        var/
boot/       initrd.img  mnt/        root/       sys/        vmlinuz
14:45:05
#info while
14:48:51
#* grep: (grep). Print lines matching a pattern.
> select command in man touch mount make exit clear
> do
> whatis $command
> break
> done
Why??
1) man
2) touch
3) mount
4) make
5) exit
6) clear
#? touch
whatis что?
14:54:29
#man case
14:57:55
#jobs

14:58:35
#man case
14:58:54
#man read
15:00:24
#mam man
l3script: mam: команда не найдена
15:00:28
#man case
15:00:41
#fd 1
l3script: fd: команда не найдена
15:00:50
#jobs
[1]+  Stopped                 man read
15:00:58
#fg 1
READ(2)               Руководство программиста Linux              READ(2)
READ(2)               Руководство программиста Linux              READ(2)
НАЗВАНИЕ
       read - читает из файлового дескриптора
КРАТКОЕ ОПИСАНИЕ
       #include <unistd.h>
       read - читает из файлового дескриптора
       ssize_t read(int fd, void *buf, size_t count);
ОПИСАНИЕ
       read()  пытается  читать  из  файлового  дескриптора  fd  байты  в
...
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
       При успешном завершении возвращается количество байт, которые были
       прочитаны   (ноль   означает  конец  файла),  а  позиция  в  файле
       увеличивается на это значение.  Если количество  прочитанных  байт
       меньше,  чем  количество запрошенных, то это не считается ошибкой:
       например, мы могли читать вблизи конца файла, или же из трубы, или
       с  терминала, или же read() был прерван сигналом.  В случае ошибки
       возвращается -1, а errno устанавливается должным образом.  В  этом
       случае позиция файла неопределена.
ОШИБКИ

Четверг (04/11/13)

08:56:12
#man deluser
прошло 11 минут
09:07:52
#vipw
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
statd:x:102:65534::/var/lib/nfs:/bin/false
user:x:1000:1000:user,,,:/home/user:/bin/bash
~
~
~
~
~
vipw: /etc/passwd не был изменён
09:08:10
#vim ~/mymotd
прошло 30 минут
09:38:38
#~
33   boot  home        lost+found  opt       root     srv  usr
55   dev   initrd.img  media       perl,doc  sbin     sys  var
bin  etc   lib         mnt         proc      selinux  tmp  vmlinuz
09:38:48
#~
l3script: /root: является директорией
09:38:53
#cd usr

09:39:09
#ls-l
l3script: ls-l: команда не найдена
09:39:18
#ls -l
итого 64
drwxr-xr-x  2 root root  20480 Авг  6  2012 bin
drwxr-xr-x  2 root root   4096 Июн 19  2011 games
drwxr-xr-x 33 root root   4096 Июл  5  2012 include
drwxr-xr-x 62 root root  16384 Авг  6  2012 lib
drwxr-xr-x  3 root root   4096 Июл  5  2012 lib64
drwxrwsr-x 10 root staff  4096 Июн 11  2012 local
drwxr-xr-x  2 root root   4096 Июл  5  2012 sbin
drwxr-xr-x 97 root root   4096 Апр  8 16:07 share
drwxr-xr-x  2 root root   4096 Июл  5  2012 src
09:39:21
#cd share

09:39:38
#ls -l
итого 416
drwxr-xr-x   2 root root  4096 Июн 11  2012 acpi-support
drwxr-xr-x   2 root root  4096 Июн 11  2012 adduser
drwxr-xr-x   2 root root  4096 Июн 11  2012 applications
drwxr-xr-x   3 root root  4096 Июн 11  2012 apps
drwxr-xr-x   2 root root 12288 Июн 11  2012 aptitude
drwxr-xr-x   2 root root  4096 Июн 11  2012 apt-listchanges
drwxr-xr-x   2 root root  4096 Июн 11  2012 aspell
drwxr-xr-x   2 root root  4096 Июн 11  2012 base-files
drwxr-xr-x   2 root root  4096 Июн 11  2012 base-passwd
...
drwxr-xr-x   7 root root  4096 Апр  8 16:46 test
drwxr-xr-x   2 root root  4096 Июн 11  2012 texinfo
drwxr-xr-x   3 root root  4096 Июн 11  2012 texmf
drwxr-xr-x   2 root root  4096 Июн 11  2012 tools
drwxr-xr-x   5 root root  4096 Июн 12  2012 vim
drwxr-xr-x   2 root root  4096 Июн 11  2012 w3m
drwxr-xr-x   4 root root  4096 Июл  5  2012 X11
drwxr-xr-x   7 root root  4096 Июн 11  2012 xml
drwxr-xr-x   2 root root  4096 Июн 11  2012 xml-core
drwxr-xr-x  22 root root  4096 Июн 11  2012 zoneinfo
09:39:42
#dir
acpi-support     dictionaries-common  keyrings        python
adduser          discover             konwert         python-apt
applications     doc                  lintian         python-support
apps             doc-base             locale          readline
aptitude         dpkg                 man             reportbug
apt-listchanges  e2fsprogs            man8            sgml
aspell           emacs                man-db          sgml-base
base-files       exim4                menu            ssh
base-passwd      file                 misc            sysvinit
binfmts          fonts                nano            sysv-rc
...
calendar         i18n                 os-prober       texinfo
common-licenses  ifupdown             pam             texmf
consolefonts     info                 pam-configs     tools
console-setup    initramfs-tools      perl            vim
consoletrans     initrd-tools         perl5           w3m
debconf          initscripts          pixmaps         X11
debhelper        insserv              pkgconfig       xml
debianutils      installation-report  ppp             xml-core
dict             iptables             pycentral-data  zoneinfo
dictd            java                 pyshared
09:39:52
#cd ..

09:40:04
#pwd
/usr
09:40:13
#cd ..

09:40:18
#pwd
/
09:40:22
#dir
33   boot  home        lost+found  opt       root     srv  usr
55   dev   initrd.img  media       perl,doc  sbin     sys  var
bin  etc   lib         mnt         proc      selinux  tmp  vmlinuz
09:42:49
#cd etc

09:43:02
#dir
acpi                    fstab             logrotate.d     rc3.d
adduser.conf            gai.conf          lsb-base        rc4.d
adjtime                 groff             lynx-cur        rc5.d
aliases                 group             magic           rc6.d
alternatives            group-            magic.mime      rc.local
anacrontab              grub.d            mailcap         rcS.d
apm                     gshadow           mailcap.order   reportbug.conf
apt                     gshadow-          mailname        resolv.conf
at.deny                 gssapi_mech.conf  mail.rc         rmt
bash.bashrc             host.conf         manpath.config  rpc
...
dhcp                    ld.so.cache       perl            ucf.conf
dictionaries-common     ld.so.conf        ppp             udev
discover.conf.d         ld.so.conf.d      profile         ufw
discover-modprobe.conf  lilalo            profile.d       updatedb.conf
dpkg                    locale.alias      protocols       vim
emacs                   locale.gen        python          w3m
email-addresses         localtime         python2.6       wgetrc
environment             logcheck          rc0.d           X11
exim4                   login.defs        rc1.d           xml
fonts                   logrotate.conf    rc2.d
09:43:05
#cd motd
l3script: cd: motd: Это не каталог
09:43:22
#ls -l
итого 784
drwxr-xr-x 3 root root    4096 Июн 11  2012 acpi
-rw-r--r-- 1 root root    2981 Июн 11  2012 adduser.conf
-rw-r--r-- 1 root root      47 Авг  6  2012 adjtime
-rw-r--r-- 1 root root     196 Июн 11  2012 aliases
drwxr-xr-x 2 root root    4096 Июл  5  2012 alternatives
-rw-r--r-- 1 root root     395 Ноя  1  2009 anacrontab
drwxr-xr-x 3 root root    4096 Июл  5  2012 apm
drwxr-xr-x 6 root root    4096 Июн 11  2012 apt
-rw-r----- 1 root daemon   144 Мар  4  2012 at.deny
...
-rw-r--r-- 1 root root    1552 Янв 14  2009 trafshow
-rw-r--r-- 1 root root    1260 Май 30  2008 ucf.conf
drwxr-xr-x 4 root root    4096 Июл  5  2012 udev
drwxr-xr-x 3 root root    4096 Июн 11  2012 ufw
-rw-r--r-- 1 root root     274 Ноя  4  2009 updatedb.conf
drwxr-xr-x 2 root root    4096 Июн 11  2012 vim
drwxr-xr-x 2 root root    4096 Июн 11  2012 w3m
-rw-r--r-- 1 root root    4496 Сен  5  2010 wgetrc
drwxr-xr-x 7 root root    4096 Июл  5  2012 X11
drwxr-xr-x 2 root root    4096 Июн 11  2012 xml
09:43:34
#cd ..

09:45:55
#pwd
/

Статистика

Время первой команды журнала15:39:39 2013- 4- 8
Время последней команды журнала09:45:55 2013- 4-11
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %20.79
Процент синтаксически неверно набранных команд, % 5.94
Суммарное время работы с терминалом *, час 1.30
Количество командных строк в единицу времени, команда/мин 1.30
Частота использования команд
cd25|=======================| 23.81%
man16|===============| 15.24%
ls11|==========| 10.48%
pwd9|========| 8.57%
dir9|========| 8.57%
cp6|=====| 5.71%
~4|===| 3.81%
find3|==| 2.86%
\.tgz2|=| 1.90%
while2|=| 1.90%
jobs2|=| 1.90%
fg1|| 0.95%
MAN1|| 0.95%
/usr/share/test/33/1|| 0.95%
ls-l1|| 0.95%
vim1|| 0.95%
\.rpm)'1|| 0.95%
info1|| 0.95%
fd1|| 0.95%
mam1|| 0.95%
rdid1|| 0.95%
cat1|| 0.95%
\.pdf)'1|| 0.95%
y1|| 0.95%
*1|| 0.95%
vipw1|| 0.95%
$1|| 0.95%
____
*) Интервалы неактивности длительностью 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$