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

Содержание

Журнал

Среда (11/04/20)

/dev/pts/0
15:04:29
#umask
0022
15:05:07
#ls
a  b  c  d
15:05:20
#for (1 to 4){echo 1};
l3script: syntax error near unexpected token `('
15:06:36
#for(1 to 4){echo 1}
l3script: syntax error near unexpected token `('
15:06:42
#for{1 to 4}{echo 1}
l3script: for{1: команда не найдена
15:06:52
#for {1 to 4}{echo 1}
l3script: syntax error near unexpected token `to'
15:06:57
#for {1 in 4}{echo 1}
> ^C
15:07:04
#for {1 in 4}(echo 1)
l3script: syntax error near unexpected token `('
15:07:11
#for {echo in 4}
> ^C
15:07:26
#clear

15:07:28
#touch --help
Использование: touch [КÐ
 метки доступа и изменения каждого ФАЙÐ
‚вует, то создаётся пустой, если не указаны ключи -c или -h.
Если строка аргумента ФАЙиальным образом
и вызывает изменение временных меток файла, связанного со стандартным выводом.
Аргументы, обязательные для длинных ключей, обязательны и для коротких.
  -a                     изменить только время доступа
  -c, --no-create        не создавать файлов
  -d, --date=СТРОКА      проанализировать СТРОКУ и использовать вместо
                         текущего времени
...
                        СРccess, atime, use эквивалентно -a
                         СÐodify, mtime эквивалентно -m
      --help     показать эту справку и выйти
      --version  показать информацию о версии и выйти
Заметьте, что ключи -d и -t используют разные форматы даты и времени.
Об ошибках в touch сообщайте по адресу bug-coreutils@gnu.org.
Домашняя страница GNU coreutils: <http://www.gnu.org/software/coreutils/>
Справка по работе с программами GNU: <http://www.gnu.org/gethelp/>
Об ошибках в переводе сообщений «touch» сообщайте по адресу <gnu@mx.ru>
Полная документация доступна по команде: info coreutils 'touch invocation'
15:07:44
#pwd
/home/user/files
15:08:39
#ls
a  b  c  d
15:08:42
#touch file1

15:08:51
#touch file2

15:08:52
#touch file3

15:08:57
#touch file4

15:09:00
#touch file5

15:09:01
#touch user-executable

15:09:12
#touch executable

15:09:18
#touch stickydir

15:09:28
#touch suidprogram

15:09:41
#touch sgidprogram

15:09:55
#ls -l
итого 0
-rw-r--r-- 1 root root 0 Ноя  4 15:47 a
-rw-r--r-- 1 user user 0 Ноя  4 15:47 b
-rw-r--r-- 1 root root 0 Ноя  4 15:47 c
-rw-r--r-- 1 root root 0 Ноя  4 15:47 d
-rw-r--r-- 1 root root 0 Ноя  4 16:09 executable
-rw-r--r-- 1 root root 0 Ноя  4 16:08 file1
-rw-r--r-- 1 root root 0 Ноя  4 16:08 file2
-rw-r--r-- 1 root root 0 Ноя  4 16:08 file3
-rw-r--r-- 1 root root 0 Ноя  4 16:09 file4
-rw-r--r-- 1 root root 0 Ноя  4 16:09 file5
-rw-r--r-- 1 root root 0 Ноя  4 16:09 sgidprogram
-rw-r--r-- 1 root root 0 Ноя  4 16:09 stickydir
-rw-r--r-- 1 root root 0 Ноя  4 16:09 suidprogram
-rw-r--r-- 1 root root 0 Ноя  4 16:09 user-executable
15:10:33
#chmod u=rx,g=,o= file1

15:11:06
#ls -l file1
-r-x------ 1 root root 0 Ноя  4 16:08 file1
15:11:12
#chmod a=rx file2

15:11:44
#ls -l file2
-r-xr-xr-x 1 root root 0 Ноя  4 16:08 file2
15:11:47
#chmod 600 file3

15:12:07
#ls -l file3
-rw------- 1 root root 0 Ноя  4 16:08 file3
15:12:14
#chmod u=rw,g=rw,o=r file4

15:19:27
#chmod u=rw,g=rw,o=r file45
chmod: невозможно получить доступ к «file45»: Нет такого файла или каталога
15:19:34
#chmod u=rw,g=rw,o=r file5

15:19:38
#chmod --help
Использование: chmod [КÐ,РЕЖИМ]… ФАЙÐ
hmod [КÐ
hmod [КÐeference=ОФАЙÐ
 на указанный РЕЖИМ.
  -c, --changes           как verbose, но сообщать, только если сделано
                          действительное изменение
      --no-preserve-root  не обрабатывать / особым образом (по умолчанию)
      --preserve-root     отказываться рекурсивно обрабатывать /
  -f, --silent, --quiet   подавлять большинство сообщений об ошибках
  -v, --verbose           выводить диагностические сообщения для каждого файла
      --reference=ОФАЙÐявного указания
                          РЕЖИМА
  -R, --recursive         рекурсивно обрабатывать файлы и каталоги
      --help     показать эту справку и выйти
      --version  показать информацию о версии и выйти
РЕЖИМ задается в форме «[ugoa]*([-+=]([rwxXst]*|[ugo]))+».
Об ошибках в chmod сообщайте по адресу bug-coreutils@gnu.org.
Домашняя страница GNU coreutils: <http://www.gnu.org/software/coreutils/>
Справка по работе с программами GNU: <http://www.gnu.org/gethelp/>
Об ошибках в переводе сообщений «chmod» сообщайте по адресу <gnu@mx.ru>
Полная документация доступна по команде: info coreutils 'chmod invocation'
15:19:52
#man chmod
15:23:00
#chmod u+x
chmod: пропущен операнд после «u+x»
Попробуйте «chmod --help» для получения более подробного описания.
15:23:54
#chmod u+X
chmod: пропущен операнд после «u+X»
Попробуйте «chmod --help» для получения более подробного описания.
15:24:29
#chmod --help
Использование: chmod [КÐ,РЕЖИМ]… ФАЙÐ
hmod [КÐ
hmod [КÐeference=ОФАЙÐ
 на указанный РЕЖИМ.
  -c, --changes           как verbose, но сообщать, только если сделано
                          действительное изменение
      --no-preserve-root  не обрабатывать / особым образом (по умолчанию)
      --preserve-root     отказываться рекурсивно обрабатывать /
  -f, --silent, --quiet   подавлять большинство сообщений об ошибках
  -v, --verbose           выводить диагностические сообщения для каждого файла
      --reference=ОФАЙÐявного указания
                          РЕЖИМА
  -R, --recursive         рекурсивно обрабатывать файлы и каталоги
      --help     показать эту справку и выйти
      --version  показать информацию о версии и выйти
РЕЖИМ задается в форме «[ugoa]*([-+=]([rwxXst]*|[ugo]))+».
Об ошибках в chmod сообщайте по адресу bug-coreutils@gnu.org.
Домашняя страница GNU coreutils: <http://www.gnu.org/software/coreutils/>
Справка по работе с программами GNU: <http://www.gnu.org/gethelp/>
Об ошибках в переводе сообщений «chmod» сообщайте по адресу <gnu@mx.ru>
Полная документация доступна по команде: info coreutils 'chmod invocation'
15:24:37
#chmod u:+x
chmod: пропущен операнд после «u:+x»
Попробуйте «chmod --help» для получения более подробного описания.
15:26:10
#chmod u+x user-executable

15:27:25
#ls -l user-executable
-rwxr--r-- 1 root root 0 Ноя  4 16:09 user-executable
15:27:32
#chmod o+x executable

15:28:09
#ls -l executable
-rw-r--r-x 1 root root 0 Ноя  4 16:09 executable
15:28:15
#chmod o=rwx stickydir

15:28:54
#ls -l stickydir
-rw-r--rwx 1 root root 0 Ноя  4 16:09 stickydir
15:29:00
#chmod a=rwx stickydir

15:29:26
#ls -l stickydir
-rwxrwxrwx 1 root root 0 Ноя  4 16:09 stickydir
15:29:28
#chmod u=wrxs,g=rx,o=x stickydir

15:30:41
#chmod u=wrxs,g=rx,o=x suidprogram

15:31:29
#chmod u=rwx,g=rwx,o=x suidprogram

15:32:42
#chmod u=rwx,g=rwx,o=x sgidprogram

15:32:56
#chmod u=rwxs,g=rwxs,o=x sgidprogram

15:33:24
#chmod u=rwxs,g=rx,o=x suidprogram

15:33:51
#ls -l
итого 0
-rw-r--r-- 1 root root 0 Ноя  4 15:47 a
-rw-r--r-- 1 user user 0 Ноя  4 15:47 b
-rw-r--r-- 1 root root 0 Ноя  4 15:47 c
-rw-r--r-- 1 root root 0 Ноя  4 15:47 d
-rw-r--r-x 1 root root 0 Ноя  4 16:09 executable
-r-x------ 1 root root 0 Ноя  4 16:08 file1
-r-xr-xr-x 1 root root 0 Ноя  4 16:08 file2
-rw------- 1 root root 0 Ноя  4 16:08 file3
-rw-rw-rw- 1 root root 0 Ноя  4 16:09 file4
-rw-rw-r-- 1 root root 0 Ноя  4 16:09 file5
-rwsrws--x 1 root root 0 Ноя  4 16:09 sgidprogram
-rwxrwxrwx 1 root root 0 Ноя  4 16:09 stickydir
-rwsr-x--x 1 root root 0 Ноя  4 16:09 suidprogram
-rwxr--r-- 1 root root 0 Ноя  4 16:09 user-executable
15:33:54
#mkdir /tmp/mytmp

15:34:41
#chmod a+t /tmp/mytmp/

15:35:23
#ls -l /tmp/mytmp/
итого 0
15:35:32
#ls -l /tmp/mytmp
итого 0
15:35:39
#ls -ld /tmp/mytmp
drwxr-xr-t 2 root root 4096 Ноя  4 16:34 /tmp/mytmp
15:35:43
#chmod a+rw /tmp/mytmp/

15:36:42
#chmod a+rw -R /tmp/mytmp/

15:36:49
#ls -ld /tmp/mytmp
drwxrwxrwt 2 root root 4096 Ноя  4 16:34 /tmp/mytmp

Четверг (11/05/20)

/dev/pts/3
09:46:44
#df -i
Файловая система                                        Iнодов IИспользовано IСвободно IИспользовано% Cмонтировано в
rootfs                                                 1003680         33145    970535             4% /
udev                                                     61932           311     61621             1% /dev
tmpfs                                                    63421           225     63196             1% /run
/dev/disk/by-uuid/92b79496-a6c3-450d-a438-766caa8504d8 1003680         33145    970535             4% /
tmpfs                                                    63421             1     63420             1% /run/lock
tmpfs                                                    63421             2     63419             1% /run/shm
09:46:48
#df -h
Файловая система                                       Размер Использовано  Дост Использовано% Cмонтировано в
rootfs                                                    16G        1023M   14G            7% /
udev                                                      10M         4,0K   10M            1% /dev
tmpfs                                                     50M         160K   50M            1% /run
/dev/disk/by-uuid/92b79496-a6c3-450d-a438-766caa8504d8    16G        1023M   14G            7% /
tmpfs                                                    5,0M            0  5,0M            0% /run/lock
tmpfs                                                    100M            0  100M            0% /run/shm
09:46:50
#cd /mnt/

09:46:56
#ls

09:47:00
#mkdir data

09:47:09
#mount /dev/xvdb
xvdb   xvdb1  xvdb2
09:47:09
#mount /dev/xvdb
xvdb   xvdb1  xvdb2
09:47:09
#mount /dev/xvdb1 /mnt/data

09:47:49
#df -h
Файловая система                                       Размер Использовано  Дост Использовано% Cмонтировано в
rootfs                                                    16G        1023M   14G            7% /
udev                                                      10M         4,0K   10M            1% /dev
tmpfs                                                     50M         160K   50M            1% /run
/dev/disk/by-uuid/92b79496-a6c3-450d-a438-766caa8504d8    16G        1023M   14G            7% /
tmpfs                                                    5,0M            0  5,0M            0% /run/lock
tmpfs                                                    100M            0  100M            0% /run/shm
/dev/xvdb1                                               2,5G          74M  2,4G            3% /mnt/data
09:48:16
#df -i
Файловая система                                        Iнодов IИспользовано IСвободно IИспользовано% Cмонтировано в
rootfs                                                 1003680         33146    970534             4% /
udev                                                     61932           311     61621             1% /dev
tmpfs                                                    63421           225     63196             1% /run
/dev/disk/by-uuid/92b79496-a6c3-450d-a438-766caa8504d8 1003680         33146    970534             4% /
tmpfs                                                    63421             1     63420             1% /run/lock
tmpfs                                                    63421             2     63419             1% /run/shm
/dev/xvdb1                                              160528            11    160517             1% /mnt/data
09:48:33
#umount /mnt/data/

09:52:40
#mount -o ro /dev/xvdb1 /mnt/data

09:53:54
#cd data

09:54:05
#touch f1
touch: невозможно выполнить touch для «f1»: Файловая система доступна только для чтения
09:54:13
#mount -o remount /mnt/data/

09:55:11
#mount -o remount,rw /mnt/data/

09:56:50
#cd

10:00:51
#umount /mnt/data

10:01:01
#mount /mnt/data
mount: can't find /mnt/data in /etc/fstab or /etc/mtab
10:01:10
#vi /etc/fstab
--- /tmp/l3-saved-19813.21090.12904	2020-11-05 11:01:38.252577150 +0200
+++ /etc/fstab	2020-11-05 11:10:14.496607480 +0200
@@ -10,3 +10,4 @@
 # swap was on /dev/xvda5 during installation
 UUID=c74f7f49-4c6d-4208-81f6-14356114f2e0 none            swap    sw              0       0
 /dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
+/dev/xvdb1	/mnt/data	ext4	defaults	0	1
10:10:14
#mount /mnt/data

10:10:36
#umount /mnt/data

10:10:51
#vi /etc/fstab
--- /tmp/l3-saved-19813.26764.32066	2020-11-05 11:10:54.524603789 +0200
+++ /etc/fstab	2020-11-05 11:11:29.904615687 +0200
@@ -10,4 +10,4 @@
 # swap was on /dev/xvda5 during installation
 UUID=c74f7f49-4c6d-4208-81f6-14356114f2e0 none            swap    sw              0       0
 /dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
-/dev/xvdb1	/mnt/data	ext4	defaults	0	1
+/dev/xvdb1	/mnt/data	ext4	defaults,rv	0	1
10:11:29
#mount /mnt/data
mount: wrong fs type, bad option, bad superblock on /dev/xvdb1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
10:11:32
#dmesg | tail
[   10.444527] EXT4-fs (xvda1): re-mounted. Opts: errors=remount-ro
[   10.611305] loop: module loaded
[   27.048132] eth0: no IPv6 routers present
[508760.659983]  xvdb: xvdb1 xvdb2
[512533.626949] EXT4-fs (xvdb1): mounted filesystem with ordered data mode. Opts: (null)
[512898.725703] EXT4-fs (xvdb1): mounted filesystem with ordered data mode. Opts: (null)
[512973.102123] EXT4-fs (xvdb1): re-mounted. Opts: user_xattr,barrier=1,data=ordered
[513049.663369] EXT4-fs (xvdb1): re-mounted. Opts: user_xattr,barrier=1,data=ordered
[513901.478003] EXT4-fs (xvdb1): mounted filesystem with ordered data mode. Opts: (null)
[513956.652730] EXT4-fs (xvdb1): Unrecognized mount option "rv" or missing value
10:11:48
#vi /etc/fstab
--- /tmp/l3-saved-19813.10362.459	2020-11-05 11:12:44.464609370 +0200
+++ /etc/fstab	2020-11-05 11:12:56.828612305 +0200
@@ -10,4 +10,4 @@
 # swap was on /dev/xvda5 during installation
 UUID=c74f7f49-4c6d-4208-81f6-14356114f2e0 none            swap    sw              0       0
 /dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
-/dev/xvdb1	/mnt/data	ext4	defaults,rv	0	1
+/dev/xvdb1	/mnt/data	ext4	defaults	0	1
10:12:56
#mount /mnt/data

10:13:01
#vi /etc/fstab
прошло 32 минуты
10:45:02
#fdisk
Usage:
 fdisk [options] <disk>    change partition table
 fdisk [options] -l <disk> list partition table(s)
 fdisk -s <partition>      give partition size(s) in blocks
Options:
 -b <size>             sector size (512, 1024, 2048 or 4096)
 -c[=<mode>]           compatible mode: 'dos' or 'nondos' (default)
 -h                    print this help text
 -u[=<unit>]           display units: 'cylinders' or 'sectors' (default)
 -v                    print program version
 -C <number>           specify the number of cylinders
 -H <number>           specify the number of heads
 -S <number>           specify the number of sectors per track

Статистика

Время первой команды журнала15:04:29 2020-11- 4
Время последней команды журнала10:45:02 2020-11- 5
Количество командных строк в журнале91
Процент команд с ненулевым кодом завершения, %13.19
Процент синтаксически неверно набранных команд, % 1.10
Суммарное время работы с терминалом *, час 0.98
Количество командных строк в единицу времени, команда/мин 1.55
Частота использования команд
chmod24|==========================| 26.09%
ls16|=================| 17.39%
touch12|=============| 13.04%
mount10|==========| 10.87%
for5|=====| 5.43%
vi4|====| 4.35%
df4|====| 4.35%
umount3|===| 3.26%
cd3|===| 3.26%
mkdir2|==| 2.17%
umask1|=| 1.09%
pwd1|=| 1.09%
man1|=| 1.09%
fdisk1|=| 1.09%
dmesg1|=| 1.09%
for(11|=| 1.09%
tail1|=| 1.09%
for{11|=| 1.09%
clear1|=| 1.09%
____
*) Интервалы неактивности длительностью 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$