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

Содержание

Журнал

Пятница (01/12/07)

/dev/pts/0
09:54:39
$e
echo                          enable                        esd                           exec
echo-client-2                 enc2xs                        eval                          exit
ed                            enchant                       eview                         expand
edit                          enchant-lsmod                 evim                          expiry
editor                        env                           evince                        export
editres                       envsubst                      evince-thumbnailer            expr
egrep                         eog                           evolution                     extensionproxy
eject                         eps2eps                       evolution-2.6
elif                          eqn                           evolution-addressbook-export
else                          esac                          ex
09:54:39
$e
echo                          enable                        esd                           exec
echo-client-2                 enc2xs                        eval                          exit
ed                            enchant                       eview                         expand
edit                          enchant-lsmod                 evim                          expiry
editor                        env                           evince                        export
editres                       envsubst                      evince-thumbnailer            expr
egrep                         eog                           evolution                     extensionproxy
eject                         eps2eps                       evolution-2.6
elif                          eqn                           evolution-addressbook-export
else                          esac                          ex
09:54:39
$cd

09:55:43
$ls
backup  bin   c        errlog      file   names    new.txt  projectX  sorted         test  touchlist  very_long_file_name
base    body  Desktop  error.file  files  newfile  proj     sh        sorted_passwd  text  unsorted
09:55:45
$/
bash: /: is a directory
09:56:59
$./
bash: ./: is a directory
09:57:02
$cd bin ls

09:57:24
$cd bin -ls
bash: cd: bin: No such file or directory
09:57:30
$ls
big_mem  big_work  signal_trap  x  y  z
09:57:33
$cd

09:57:36
$cd /

09:57:58
$ls
bin   cdrom  etc   initrd      lib    lost+found  mnt  proc  sbin     skeleton  sys  usr  vmlinuz
boot  dev    home  initrd.img  lib64  media       opt  root  selinux  srv       tmp  var
09:58:01
$cd etc

09:58:14
$ls
acpi                  dbus-1                group                  ld.so.conf.d     network         scrollkeeper.conf
adduser.conf          debconf.conf          group-                 ld.so.hwcappkgs  NetworkManager  scsi_id.config
adjtime               debian_version        gshadow                libao.conf       nsswitch.conf   securetty
aliases               default               gshadow-               libgda           ntp.conf        security
alsa                  defoma                gssapi_mech.conf       libpaper.d       openoffice      selinux
alternatives          deluser.conf          gtk-2.0                linux_logo.conf  opt             services
anacrontab            dhcp3                 hal                    locale.gen       pam.conf        sestatus.conf
apm                   dictd                 host.conf              localtime        pam.d           sgml
apt                   dictionaries-common   hostname               login.defs       pango           shadow
at.deny               discover.conf         hosts                  logrotate.conf   papersize       shadow-
...
cron.daily            gaim                  issue                  modules          rc5.d           update-notifier
cron.hourly           gconf                 issue.linuxlogo        modutils         rc6.d           vga
cron.monthly          gdm                   issue.linuxlogo.ascii  motd             rc.local        vim
crontab               gimp                  issue.net              motd.tail        rcS.d           w3m
cron.weekly           gnome                 java                   mtab             reportbug.conf  wgetrc
csh                   gnome-vfs-2.0         kde3                   mtools.conf      resolv.conf     wodim.conf
csh.cshrc             gnome-vfs-mime-magic  kernel-img.conf        Muttrc           rmt             wpa_supplicant
csh.login             gpm.conf              ldap                   nanorc           rpc             X11
csh.logout            gre.d                 ld.so.cache            Net              sane.d          xdg
cups                  groff                 ld.so.conf             netscsid.conf    screenrc        xml
09:58:16
$cp /etc/passwd /tmp/Aza

09:59:29
$cd /tmp/Aza
bash: cd: /tmp/Aza: Not a directory
09:59:43
$cd

09:59:51
$cd tmp
bash: cd: tmp: No such file or directory
09:59:59
$cd /

10:00:03
$cd tmp/

10:00:34
$ls
Aza  gconfd-user  keyring-ZnelkH  lost+found  mapping-user  orbit-user  ssh-rRjbrM2844  virtual-user.M1lJWK
10:00:36
$cd Aza
bash: cd: Aza: Not a directory
10:00:45
$ls
Aza  gconfd-user  keyring-ZnelkH  lost+found  mapping-user  orbit-user  ssh-rRjbrM2844  virtual-user.M1lJWK
10:00:59
$rm Aza

10:01:04
$ls
gconfd-user  keyring-ZnelkH  lost+found  mapping-user  orbit-user  ssh-rRjbrM2844  virtual-user.M1lJWK
10:01:05
$mkdir Aza

10:01:14
$ls
Aza  gconfd-user  keyring-ZnelkH  lost+found  mapping-user  orbit-user  ssh-rRjbrM2844  virtual-user.M1lJWK
10:01:16
$cp /etc/passwd /tmp/Aza

10:01:24
$ls
Aza  gconfd-user  keyring-ZnelkH  lost+found  mapping-user  orbit-user  ssh-rRjbrM2844  virtual-user.M1lJWK
10:01:27
$cd Aza

10:01:33
$ls
passwd
10:01:35
$pa
pager               panel-test-applets  passwd              paste               patch               pathchk
10:01:35
$pa
pager               panel-test-applets  passwd              paste               patch               pathchk
10:01:35
$pas
passwd  paste
10:01:35
$passwd
Changing password for user
(current) UNIX password:
passwd: Authentication failure
passwd: password unchanged
10:03:56
$sed 's/:/ /g' /tmp/Aza
sed: ошибка чтения /tmp/Aza: Is a directory
10:04:47
$sed 's/:/ /g' /tmp/Aza/passwd
root x 0 0 root /root /bin/bash
daemon x 1 1 daemon /usr/sbin /bin/sh
bin x 2 2 bin /bin /bin/sh
sys x 3 3 sys /dev /bin/sh
sync x 4 65534 sync /bin /bin/sync
games x 5 60 games /usr/games /bin/sh
man x 6 12 man /var/cache/man /bin/sh
lp x 7 7 lp /var/spool/lpd /bin/sh
mail x 8 8 mail /var/mail /bin/sh
news x 9 9 news /var/spool/news /bin/sh
...
Debian-exim x 101 103  /var/spool/exim4 /bin/false
statd x 102 65534  /var/lib/nfs /bin/false
identd x 103 65534  /var/run/identd /bin/false
messagebus x 104 105  /var/run/dbus /bin/false
avahi x 105 106 Avahi mDNS daemon,,, /var/run/avahi-daemon /bin/false
haldaemon x 106 109 Hardware abstraction layer,,, /home/haldaemon /bin/false
gdm x 107 112 Gnome Display Manager /var/lib/gdm /bin/false
hplip x 108 7 HPLIP system user,,, /var/run/hplip /bin/false
user x 1000 1000 user,,, /home/user /bin/bash
sshd x 109 65534  /var/run/sshd /usr/sbin/nologin
10:05:03
$sed 's/:.*//' /tmp/Aza/passwd
root
daemon
bin
sys
sync
games
man
lp
mail
news
...
Debian-exim
statd
identd
messagebus
avahi
haldaemon
gdm
hplip
user
sshd
10:06:48
$vi /tmp/Aza/passwd
10:10:39
$sed 's/:.*/ /' /tmp/Aza/passwd
root
daemon
bin
sys
sync
games
man
lp
mail
news
...
Debian-exim
statd
identd
messagebus
avahi
haldaemon
gdm
hplip
user
sshd
10:11:18
$sed 's/:.*/?/' /tmp/Aza/passwd
root?
daemon?
bin?
sys?
sync?
games?
man?
lp?
mail?
news?
...
Debian-exim?
statd?
identd?
messagebus?
avahi?
haldaemon?
gdm?
hplip?
user?
sshd?
10:11:32
$sed 's/:.*//' /tmp/Aza/passwd
root
daemon
bin
sys
sync
games
man
lp
mail
news
...
Debian-exim
statd
identd
messagebus
avahi
haldaemon
gdm
hplip
user
sshd
10:11:55
$sed 's/:.*//' /tmp/Aza/passwd | cat -n
     1  root
     2  daemon
     3  bin
     4  sys
     5  sync
     6  games
     7  man
     8  lp
     9  mail
    10  news
...
    20  Debian-exim
    21  statd
    22  identd
    23  messagebus
    24  avahi
    25  haldaemon
    26  gdm
    27  hplip
    28  user
    29  sshd
10:12:06
$sed 's/[^a]//g' /tmp/Aza/passwd | wc -c
107
10:13:33
$wc --help
Использование: wc [КÐФАЙРслов и байт для каждого ФАЙÐно несколько ФАЙÐк -, читает стандартный ввод.
  -c, --bytes            напечатать число байт
  -m, --chars            напечатать число знаков
  -l, --lines            напечатать число переводов строк
  -L, --max-line-length  напечатать длину наибольшей строки
  -w, --words            напечатать число слов
      --help     показать эту справку и выйти
      --version  показать информацию о версии и выйти
Об ошибках сообщайте по адресу <bug-coreutils@gnu.org>.
10:14:17
$wc -c /tmp/Aza/passwd
1312 /tmp/Aza/passwd
10:15:24
$for i in *
> wc -c /tmp/Aza/passwd
10:24:08
$for i in *\ *
> do
> mv "$i"`echo $i |sed 's/ /_/g' `"
> done
> for i in *\ *; do mv "$i"`echo $i |sed 's/ /_/g' `"
> for i in *
> for i in *
10:25:53
$for i in *\ *; do mv "$i"`echo $i |sed 's/ /_/g' `"

10:25:53
$for i in *\ *
> for i in *\ *; do mv "$i"`echo $i |sed 's/ /_/g' `"
> for i in *\ *; do mv "$i"`echo $i |sed 's/ /_/g' `"
done
10:26:16
$for i in *\ *; do mv "$i"`echo $i |sed 's/ /_/g' `"

10:26:16
$for i in *\ *; do mv "$i"`echo $i |sed 's/ /_/g' `"

10:26:16
$for i in *\ *; do mv "$i"`echo $i |sed 's/ /_/g' `"

10:26:16
$for i in *\ *
> do
> mv "$i"`echo $i |sed 's/ /_/g' `"
> mv "$i"`echo $i |sed 's/ /_/g' `"
> mv "$i"`echo $i |sed 's/ /_/g' `"o
> mv "$i" "`echo $i | sed 's/ /_/g' `"
> done
>
10:27:44
$for i in *\ *
> do
> mv "$i" "`echo $i | sed 's/ /_/g' `"
> done
mv: невозможно выполнить stat для `* *': No such file or directory
10:29:04
$cd

10:29:30
$for i in *\ *; do mv "$i" "`echo $i | sed 's/ /_/g' `"; done
mv: обращение к `backup_base_bin_body_c_Desktop_errlog_error.file_file_files_names_newfile_new.txt_proj_projectX_sh_sorted_sorted_passwd_test_text_touchlist_unsorted_very_long_file_name_backup_base_bin_body_c_Desktop_errlog_error.file_file_files_names_newfile_new.txt_proj_projectX_sh_sorted_sorted_passwd_test_text_touchlist_unsorted_very_long_file_name': File name too long
10:29:33
$iconv -f CP1251 -t KOI8-R
бРЩННОПНЯ
^D
Вопрос
òiconv: illegal input sequence at position 1
10:34:05
$iconv -f CP1251 -t KOI8-R
бНОПНЯ
òiconv: illegal input sequence at position 1
10:34:31
$for i in *\*; do iconv -f CP1251 -t KOI8-R
> bash: syntax error: unexpected end of file
10:35:53
$for i in *\*; do iconv -f CP1251 -t KOI8-R; done

Файлы

  • -n
  • -n
    >
         1  root
         2  daemon
         3  bin
         4  sys
         5  sync
         6  games
         7  man
         8  lp
         9  mail
        10  news
        11  uucp
        12  proxy
        13  www-data
        14  backup
        15  list
        16  irc
        17  gnats
        18  nobody
        19  dictd
        20  Debian-exim
        21  statd
        22  identd
        23  messagebus
        24  avahi
        25  haldaemon
        26  gdm
        27  hplip
        28  user
        29  sshd
    

    Статистика

    Время первой команды журнала09:54:39 2007- 1-12
    Время последней команды журнала10:35:53 2007- 1-12
    Количество командных строк в журнале61
    Процент команд с ненулевым кодом завершения, %34.43
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 0.69
    Количество командных строк в единицу времени, команда/мин 1.48
    Частота использования команд
    cd14|==================| 18.18%
    sed13|================| 16.88%
    for12|===============| 15.58%
    ls10|============| 12.99%
    do7|=========| 9.09%
    wc3|===| 3.90%
    cp2|==| 2.60%
    e2|==| 2.60%
    pa2|==| 2.60%
    done2|==| 2.60%
    iconv2|==| 2.60%
    pas1|=| 1.30%
    mkdir1|=| 1.30%
    passwd1|=| 1.30%
    rm1|=| 1.30%
    vi1|=| 1.30%
    cat1|=| 1.30%
    ./1|=| 1.30%
    /1|=| 1.30%
    ____
    *) Интервалы неактивности длительностью 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$