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

Содержание

Журнал

Вторник (10/03/06)

/dev/tty4
12:51:17
$pwd
/
12:51:22
$cd /home/user

12:51:38
$mkdir lans

12:51:54
$ls
1                                             education  Templates
base                                          files      test
bash-completion-20050721-1.110asp.noarch.rpm  lans       text
bin                                           names      touchlist
body                                          proj       very_long_file_name
c                                             projectX
Desktop                                       sh
12:51:57
$pwd
/home/user
12:52:09
$mkdir ~labs

12:52:22
$ls
1                                             education  sh
base                                          files      Templates
bash-completion-20050721-1.110asp.noarch.rpm  ~labs      test
bin                                           lans       text
body                                          names      touchlist
c                                             proj       very_long_file_name
Desktop                                       projectX
12:52:25
$rd lans
bash: rd: command not found
12:52:51
$rmdir -p la*

12:53:28
$ls
1                                             education  Templates
base                                          files      test
bash-completion-20050721-1.110asp.noarch.rpm  ~labs      text
bin                                           names      touchlist
body                                          proj       very_long_file_name
c                                             projectX
Desktop                                       sh
12:53:31
$rmdir -p ~l*

12:53:45
$ls
1                                             Desktop    sh
base                                          education  Templates
bash-completion-20050721-1.110asp.noarch.rpm  files      test
bin                                           names      text
body                                          proj       touchlist
c                                             projectX   very_long_file_name
12:53:48
$mkdir labs

12:53:59
$cd labs

12:54:04
$mkdir labs3

12:54:16
$cd labs3

12:54:23
$ls

12:54:40
$cd \user
bash: cd: user: Нет такого файла или каталога
12:54:59
$cd

12:55:02
$pwd
/home/user
12:55:05
$ls a*
ls: a*: Нет такого файла или каталога
12:55:18
$ls
1                                             education  Templates
base                                          files      test
bash-completion-20050721-1.110asp.noarch.rpm  labs       text
bin                                           names      touchlist
body                                          proj       very_long_file_name
c                                             projectX
Desktop                                       sh
12:55:20
$ls b*
base  bash-completion-20050721-1.110asp.noarch.rpm  body
bin:
big_mem  big_work  signal_trap
12:55:27
$ls *.[ts]
ls: *.[ts]: Нет такого файла или каталога
12:56:00
$ls *.[t,s]
ls: *.[t,s]: Нет такого файла или каталога
12:56:06
$ls *.[t,]
ls: *.[t,]: Нет такого файла или каталога
12:56:12
$ls *[t]
touchlist
test:
dir  suidprogram  symlink
text:
asd    ~hello       opensource_news  text_to_grep  vi2
hello  kernel_news  rus_news         vi1
12:56:20
$ls *[tj]
touchlist
proj:
x-project
test:
dir  suidprogram  symlink
text:
asd    ~hello       opensource_news  text_to_grep  vi2
hello  kernel_news  rus_news         vi1
12:56:33
$ls
1                                             education  Templates
base                                          files      test
bash-completion-20050721-1.110asp.noarch.rpm  labs       text
bin                                           names      touchlist
body                                          proj       very_long_file_name
c                                             projectX
Desktop                                       sh
12:56:40
$ls *[tmj]
bash-completion-20050721-1.110asp.noarch.rpm  touchlist
proj:
x-project
test:
dir  suidprogram  symlink
text:
asd    ~hello       opensource_news  text_to_grep  vi2
hello  kernel_news  rus_news         vi1
12:56:53
$ls *[mj]
bash-completion-20050721-1.110asp.noarch.rpm
proj:
x-project
12:57:20
$ls *[m]
bash-completion-20050721-1.110asp.noarch.rpm
12:57:31
$ls~]
bash: ls~]: command not found
12:57:49
$ls
1                                             education  Templates
base                                          files      test
bash-completion-20050721-1.110asp.noarch.rpm  labs       text
bin                                           names      touchlist
body                                          proj       very_long_file_name
c                                             projectX
Desktop                                       sh
12:57:52
$ls *[mj]
bash-completion-20050721-1.110asp.noarch.rpm
proj:
x-project
12:58:05
$ls *[tmj]
bash-completion-20050721-1.110asp.noarch.rpm  touchlist
proj:
x-project
test:
dir  suidprogram  symlink
text:
asd    ~hello       opensource_news  text_to_grep  vi2
hello  kernel_news  rus_news         vi1
12:58:46
$ls proj
x-project
12:59:15
$ls *[tmj]
bash-completion-20050721-1.110asp.noarch.rpm  touchlist
proj:
x-project
test:
dir  suidprogram  symlink
text:
asd    ~hello       opensource_news  text_to_grep  vi2
hello  kernel_news  rus_news         vi1
12:59:35
$ls *[s]
files:
a  c  executable  file2  file4  noread       stickydir    user-executable
b  d  file1       file3  file5  sgidprogram  suidprogram
labs:
labs3
names:
][                   feb                    M'cDonalds
1*2                  footer.h               module2.c
1inux                gnu-linux              module.c
2*2=4                -hard-to-del-          name$with#very~starnge'symbols'
2*2=5?               header.h               nov
2*3                  jan                    oct
'86"                 jul                    program.C
ab[cde]fg            jun                    Queen
apr                  linux                  Queen "Live at Wembley' 86"
aug                  linux-kernel           sep
A:\WINDOWSSYSTEM32   "Live at Wembley' 86"  The_Best_OS
A:\WINDOWS\SYSTEM32  mar                    The_Worst_OS
dec                  may
Templates:
New text document.txt
13:00:06
$~ls -- -*
bash: ~ls: command not found
прошло 39 минут
13:39:27
$ls -- -*
ls: -*: Нет такого файла или каталога
13:39:37
$touch "file with spaces"

13:42:27
$ls
1                                             labs
base                                          names
bash-completion-20050721-1.110asp.noarch.rpm  proj
bin                                           projectX
body                                          sh
c                                             Templates
Desktop                                       test
education                                     text
files                                         touchlist
file with spaces                              very_long_file_name
13:42:29
$touch asd asdf asdfg

13:43:03
$ls
1                                             file with spaces
asd                                           labs
asdf                                          names
asdfg                                         proj
base                                          projectX
bash-completion-20050721-1.110asp.noarch.rpm  sh
bin                                           Templates
body                                          test
c                                             text
Desktop                                       touchlist
education                                     very_long_file_name
files
13:43:05
$touch 'very long name'

13:43:24
$ls
1                                             file with spaces
asd                                           labs
asdf                                          names
asdfg                                         proj
base                                          projectX
bash-completion-20050721-1.110asp.noarch.rpm  sh
bin                                           Templates
body                                          test
c                                             text
Desktop                                       touchlist
education                                     very_long_file_name
files                                         very long name
13:43:26
$touch one\ space

13:44:04
$ls
1                                             labs
asd                                           names
asdf                                          one space
asdfg                                         proj
base                                          projectX
bash-completion-20050721-1.110asp.noarch.rpm  sh
bin                                           Templates
body                                          test
c                                             text
Desktop                                       touchlist
education                                     very_long_file_name
files                                         very long name
file with spaces
13:44:06
$toch "o'reily"
bash: toch: command not found
13:45:03
$touch "o'reily"

13:45:15
$ls
1                                             labs
asd                                           names
asdf                                          one space
asdfg                                         o'reily
base                                          proj
bash-completion-20050721-1.110asp.noarch.rpm  projectX
bin                                           sh
body                                          Templates
c                                             test
Desktop                                       text
education                                     touchlist
files                                         very_long_file_name
file with spaces                              very long name
13:45:18
$echo *
1 asd asdf asdfg base bash-completion-20050721-1.110asp.noarch.rpm bin body c Desktop education files file with spaces labs names one space o'reily proj projectX sh Templates test text touchlist very_long_file_name very long name
13:46:00
$cat /etc/pasword >newfile
cat: /etc/pasword: Нет такого файла или каталога
13:48:47
$cd /etc

13:49:33
$cat /etc/pasword > newfile
bash: newfile: Отказано в доступе
13:49:41
$cd

13:49:52
$cat /etc/pasword > newfile
cat: /etc/pasword: Нет такого файла или каталога
13:49:55
$cat /etc/passwd > newfile

13:50:11
$less newfile
13:50:44
$sort < etc/passwd
bash: etc/passwd: Нет такого файла или каталога
13:51:06
$sort < /etc/passwd
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
...
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
rpm:x:37:37::/var/lib/rpm:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
user:x:500:500:user:/home/user:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
13:51:32
$mkdir /tmp/etccopy

13:52:57
$cp -v /etc/*/ tmp/etccopy 2>&1 | less
13:54:29
$pwd
/home/user
13:54:41
$cp -v /etc/* tmp/etccopy 2>&1 | less
13:56:48
$cp -v /etc/* /tmp/etccopy 2>&1 | less
13:57:27
$cat /etc/passwd | sort | tee sorted_passwd | less
13:58:46
$cp -v /etc/* /tmp/etccopy | less
прошло 18 минут
14:17:13
$echo $LANG
ru_RU.UTF-8
14:17:23
$vim
14:17:31
$LANG=C

14:17:39
$vim
14:17:43
$cp -v /etc/* /tmp/etccopy | less
14:17:51
$mkdir /tmp/asd

14:18:10
$cp -v /etc/ | less
14:18:10
$cp -v /etc/ | less
14:18:10
$cp -v /etc/ /tmp/a | less
14:18:10
$cp -v /etc/ /tmp/a | less
14:18:10
$cp -v /etc/ /tmp/as | less
14:18:10
$cp -v /etc/ /tmp/as | less
14:18:10
$cp -v /etc/ /tmp/as | less
14:18:10
$cp -v /etc/* /tmp/asd | less
прошло 11 минут
14:29:34
$[user@linux1:~]$

прошло 59 минут
15:28:39
$sed `s/:/ /g` /etc/passwd
bash: s/:/: No such file or directory
sed: -e expression #1, char 7: extra characters after command
15:29:56
$sed 's/:/ /g' /etc/passwd
root x 0 0 root /root /bin/bash
bin x 1 1 bin /bin /sbin/nologin
daemon x 2 2 daemon /sbin /sbin/nologin
adm x 3 4 adm /var/adm /sbin/nologin
lp x 4 7 lp /var/spool/lpd /sbin/nologin
sync x 5 0 sync /sbin /bin/sync
shutdown x 6 0 shutdown /sbin /sbin/shutdown
halt x 7 0 halt /sbin /sbin/halt
mail x 8 12 mail /var/spool/mail /sbin/nologin
news x 9 13 news /etc/news
...
gdm x 42 42  /var/gdm /sbin/nologin
rpc x 32 32 Portmapper RPC user / /sbin/nologin
rpcuser x 29 29 RPC Service User /var/lib/nfs /sbin/nologin
nfsnobody x 65534 65534 Anonymous NFS User /var/lib/nfs /sbin/nologin
nscd x 28 28 NSCD Daemon / /sbin/nologin
ntp x 38 38  /etc/ntp /sbin/nologin
sshd x 74 74 Privilege-separated SSH /var/empty/sshd /sbin/nologin
pcap x 77 77  /var/arpwatch /sbin/nologin
pvm x 24 24  /usr/share/pvm3 /bin/bash
user x 500 500 user /home/user /bin/bash
15:30:54
$sed 's/:.*//' /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
...
gdm
rpc
rpcuser
nfsnobody
nscd
ntp
sshd
pcap
pvm
user
15:36:05
$sed 's/[^a]//g' /etc/passwd | wc -c
82
15:38:50
$for i in *\ *
>
> do
> mv "$i" "'echo $i | sed 's/ /_/g' '"
> done
mv: cannot move `file with spaces' to `\'echo file with spaces | sed \'s/ /_/g\' \'': No such file or directory
mv: cannot move `one space' to `\'echo one space | sed \'s/ /_/g\' \'': No such file or directory
mv: cannot move `very long name' to `\'echo very long name | sed \'s/ /_/g\' \'': No such file or directory
15:42:46
$for i in *\ *
> do
> mv "$i" "`echo $i | sed 's/ /_/g' `"
> done
15:48:50
$cat /etcpasswd | tr -d '\n'
cat: /etcpasswd: No such file or directory
15:49:24
$cat /etc/passwd | tr -d '\n'

15:49:34
$man wc
15:57:58
$man wc
16:02:54
$cat /etc/passwd | tr -d '\n' -d '\^a'
tr: only one string may be given when deleting without squeezing repeats
16:03:47
$cat /etc/passwd | tr -d '\n' -d '\^a'
tr: only one string may be given when deleting without squeezing repeats
16:03:53
$cat /etc/passwd | tr -d '\^a'
root:x:0:0:root:/root:/bin/bsh
bin:x:1:1:bin:/bin:/sbin/nologin
demon:x:2:2:demon:/sbin:/sbin/nologin
dm:x:3:4:dm:/vr/dm:/sbin/nologin
lp:x:4:7:lp:/vr/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
hlt:x:7:0:hlt:/sbin:/sbin/hlt
mil:x:8:12:mil:/vr/spool/mil:/sbin/nologin
news:x:9:13:news:/etc/news:
...
gdm:x:42:42::/vr/gdm:/sbin/nologin
rpc:x:32:32:Portmpper RPC user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/vr/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/vr/lib/nfs:/sbin/nologin
nscd:x:28:28:NSCD Demon:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
sshd:x:74:74:Privilege-seprted SSH:/vr/empty/sshd:/sbin/nologin
pcp:x:77:77::/vr/rpwtch:/sbin/nologin
pvm:x:24:24::/usr/shre/pvm3:/bin/bsh
user:x:500:500:user:/home/user:/bin/bsh
16:04:24
$cat /etc/passwd | tr 'a' ''
tr: when not truncating set1, string2 must be non-empty
16:05:48
$cat /etc/passwd | tr 'a' '\n'
root:x:0:0:root:/root:/bin/b
sh
bin:x:1:1:bin:/bin:/sbin/nologin
d
emon:x:2:2:d
emon:/sbin:/sbin/nologin
dm:x:3:4:
dm:/v
r/
dm:/sbin/nologin
...
pc
p:x:77:77::/v
r/
rpw
tch:/sbin/nologin
pvm:x:24:24::/usr/sh
re/pvm3:/bin/b
sh
user:x:500:500:user:/home/user:/bin/b
sh
16:06:05
$cat /etc/passwd | tr -c 'a' ''
tr: when not truncating set1, string2 must be non-empty

Файлы

  • newfile
  • newfile
    >

    Статистика

    Время первой команды журнала12:51:17 2006-10- 3
    Время последней команды журнала16:06:05 2006-10- 3
    Количество командных строк в журнале100
    Процент команд с ненулевым кодом завершения, %18.00
    Процент синтаксически неверно набранных команд, % 4.00
    Суммарное время работы с терминалом *, час 1.61
    Количество командных строк в единицу времени, команда/мин 1.04
    Частота использования команд
    ls29|=====================| 21.17%
    less15|==========| 10.95%
    cp13|=========| 9.49%
    cat13|=========| 9.49%
    tr8|=====| 5.84%
    cd7|=====| 5.11%
    mkdir6|====| 4.38%
    touch5|===| 3.65%
    pwd4|==| 2.92%
    newfile4|==| 2.92%
    sed4|==| 2.92%
    &3|==| 2.19%
    sort3|==| 2.19%
    13|==| 2.19%
    man2|=| 1.46%
    for2|=| 1.46%
    vim2|=| 1.46%
    echo2|=| 1.46%
    rmdir2|=| 1.46%
    rd1|| 0.73%
    passwd1|| 0.73%
    [user@linux1:~]$1|| 0.73%
    wc1|| 0.73%
    ls~]1|| 0.73%
    ~ls1|| 0.73%
    /etc/passwd1|| 0.73%
    tee1|| 0.73%
    toch1|| 0.73%
    LANG=C1|| 0.73%
    ____
    *) Интервалы неактивности длительностью 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$