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

Содержание

Журнал

Вторник (05/18/10)

/dev/pts/0
13:52:17
$w | cat -n | sed '1a\
                                       '
'                     sed -n
Использование: sed [ОПЦИЯ]... {только-скрипт-если-нет-другого-скрипта} [входной-файл]...
  -n, --quiet, --silent
                 не выводить автоматически промежутки
  -e script, --expression=script
                 добавление скрипта в исполняемые команды
  -f script-file, --file=script-file
                 добавление содержимого файла-скрипта в исполняемые команды
  --follow-symlinks
...
                 загрузка минимального объема данных из входных файлов
                 и более частый сброс на диск выходных буферов
      --help     вывод этой справки и выход
      --version  вывод информации о версии и выход
Если опция -e, --expression, -f, или --file не указана, тогда первый
неопциональный аргумент берется как скрипт sed для интерпретации. Все
оставшиеся аргументы являются именами входных файлов; если входные
файлы не указаны, тогда читается стантартный ввод.
GNU sed home page: <http://www.gnu.org/software/sed/>.
General help using GNU software: <http://www.gnu.org/gethelp/>.
13:52:34
$w | sed =
1
 14:52:38 up 3 days, 18:29,  3 users,  load average: 0,05, 0,02, 0,00
2
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
3
user     console  :0               12:59    3days  0.00s  2.24s fluxbox
4
user     pts/0    :0:S.0           10:25    0.00s  0.20s  0.14s script -f -c l3
5
user     pts/4    :0:S.1           10:25   33:09   0.60s  0.60s ssh 192.168.16.
13:52:38
$w | sed
Использование: sed [ОПЦИЯ]... {только-скрипт-если-нет-другого-скрипта} [входной-файл]...
  -n, --quiet, --silent
                 не выводить автоматически промежутки
  -e script, --expression=script
                 добавление скрипта в исполняемые команды
  -f script-file, --file=script-file
                 добавление содержимого файла-скрипта в исполняемые команды
  --follow-symlinks
                 переходить по символьным ссылкам при обработке на месте
  -i[СУФФИКС], --in-place[=СУФФИКС]
...
                 загрузка минимального объема данных из входных файлов
                 и более частый сброс на диск выходных буферов
      --help     вывод этой справки и выход
      --version  вывод информации о версии и выход
Если опция -e, --expression, -f, или --file не указана, тогда первый
неопциональный аргумент берется как скрипт sed для интерпретации. Все
оставшиеся аргументы являются именами входных файлов; если входные
файлы не указаны, тогда читается стантартный ввод.
GNU sed home page: <http://www.gnu.org/software/sed/>.
General help using GNU software: <http://www.gnu.org/gethelp/>.
13:52:52
$w | sed s/user/USER/q
sed: -e выражение #1, символ 13: неизвестный модификатор к `s'
13:53:02
$w | sed s/user/USER/g
 14:53:04 up 3 days, 18:29,  3 USERs,  load average: 0,03, 0,01, 0,00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
USER     console  :0               12:59    3days  0.00s  2.24s fluxbox
USER     pts/0    :0:S.0           10:25    0.00s  0.20s  0.14s script -f -c l3
USER     pts/4    :0:S.1           10:25   33:35   0.60s  0.60s ssh 192.168.16.
13:53:04
$w | sed s/user/ROOT/g
 14:53:32 up 3 days, 18:30,  3 ROOTs,  load average: 0,02, 0,01, 0,00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
ROOT     console  :0               12:59    3days  0.00s  2.24s fluxbox
ROOT     pts/0    :0:S.0           10:25    0.00s  0.20s  0.14s script -f -c l3
ROOT     pts/4    :0:S.1           10:25   34:03   0.60s  0.60s ssh 192.168.16.
13:53:32
$w | sed y/user/ROOT/g
sed: -e выражение #1, символ 13: лишние символы после команды
13:53:41
$w | sed y/user/ROOT/
 14:53:44 Rp 3 dayO, 18:30,  3 ROOTO,  load avOTagO: 0,01, 0,01, 0,00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
ROOT     conOolO  :0               12:59    3dayO  0.00O  2.24O flRxbox
ROOT     ptO/0    :0:S.0           10:25    0.00O  0.20O  0.14O OcTipt -f -c l3
ROOT     ptO/4    :0:S.1           10:25   34:15   0.60O  0.60O OOh 192.168.16.
13:53:44
$w | sed 's/[a-z]/[0-9]/g'
 14:54:44 [0-9][0-9] 3 [0-9][0-9][0-9][0-9], 18:31,  3 [0-9][0-9][0-9][0-9][0-9],  [0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9][0-9][0-9][0-9]: 0,00, 0,00, 0,00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
[0-9][0-9][0-9][0-9]     [0-9][0-9][0-9][0-9][0-9][0-9][0-9]  :0               12:59    3[0-9][0-9][0-9][0-9]  0.00[0-9]  2.26[0-9] [0-9][0-9][0-9][0-9][0-9][0-9][0-9]
[0-9][0-9][0-9][0-9]     [0-9][0-9][0-9]/0    :0:S.0           10:25    0.00[0-9]  0.20[0-9]  0.14[0-9] [0-9][0-9][0-9][0-9][0-9][0-9] -[0-9] -[0-9] [0-9]3
[0-9][0-9][0-9][0-9]     [0-9][0-9][0-9]/4    :0:S.1           10:25   35:15   0.60[0-9]  0.60[0-9] [0-9][0-9][0-9] 192.168.16.
13:54:44
$w | sed 's/[a-z,A-Z]/[0-9]/g'
 14:54:59 [0-9][0-9] 3 [0-9][0-9][0-9][0-9][0-9] 18:31[0-9]  3 [0-9][0-9][0-9][0-9][0-9][0-9]  [0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9][0-9][0-9][0-9]: 0[0-9]00[0-9] 0[0-9]00[0-9] 0[0-9]00
[0-9][0-9][0-9][0-9]     [0-9][0-9][0-9]      [0-9][0-9][0-9][0-9]              [0-9][0-9][0-9][0-9][0-9]@   [0-9][0-9][0-9][0-9]   [0-9][0-9][0-9][0-9]   [0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9]
[0-9][0-9][0-9][0-9]     [0-9][0-9][0-9][0-9][0-9][0-9][0-9]  :0               12:59    3[0-9][0-9][0-9][0-9]  0.00[0-9]  2.26[0-9] [0-9][0-9][0-9][0-9][0-9][0-9][0-9]
[0-9][0-9][0-9][0-9]     [0-9][0-9][0-9]/0    :0:[0-9].0           10:25    0.00[0-9]  0.20[0-9]  0.14[0-9] [0-9][0-9][0-9][0-9][0-9][0-9] -[0-9] -[0-9] [0-9]3
[0-9][0-9][0-9][0-9]     [0-9][0-9][0-9]/4    :0:[0-9].1           10:25   35:30   0.60[0-9]  0.60[0-9] [0-9][0-9][0-9] 192.168.16.
13:54:59
$w | sed 'y/abcd/1234/'
 14:55:25 up 3 41ys, 18:32,  3 users,  lo14 1ver1ge: 0,00, 0,00, 0,00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
user     3onsole  :0               12:59    341ys  0.00s  2.28s flux2ox
user     pts/0    :0:S.0           10:25    0.00s  0.20s  0.14s s3ript -f -3 l3
user     pts/4    :0:S.1           10:25   35:56   0.60s  0.60s ssh 192.168.16.
13:55:25
$PAGER=cat man bash | tr -d [:digit:]
BASH()                                                                BASH()
NAME
       bash - GNU Bourne-Again SHell
SYNOPSIS
       bash [options] [file]
COPYRIGHT
       Bash is Copyright (C) - by the Free Software Foundation, Inc.
DESCRIPTION
       Bash  is  an  sh-compatible  command language interpreter that executes
       commands read from the standard input or from a file.  Bash also incor‐
...
   Shell Variables
       The following variables are set by the shell:
       BASH   Expands  to  the  full file name used to invoke this instance of
              bash.
       BASHOPTS
              A colon-separated list of enabled shell options.  Each  word  in
              the  list  is  a  valid  argument for the -s option to the shopt
              builtin command (see SHELL BUILTIN COMMANDS below).  The options
              appearing  in  BASHOPTS  are  those reported as on by shopt.  If
              this var^C
13:56:42
$PAGER=cat man bash | tr -d [:digit:],[:punct:]
BASH                                                                BASH
NAME
       bash  GNU BourneAgain SHell
SYNOPSIS
       bash options file
COPYRIGHT
       Bash is Copyright C  by the Free Software Foundation Inc
DESCRIPTION
       Bash  is  an  shcompatible  command language interpreter that executes
       commands read from the standard input or from a file  Bash also incor‐
...
       A shell function is an object that is called like a simple command  and
       executes  a  compound  command with a new set of positional parameters
       Shell functions are declared as follows
        function  name  compoundcommand redirection
              This defines a function named name  The reserved word  function
              is  optional   If  the  function reserved word is supplied the
              parentheses are optional  The body of the function is the  com‐
              pound  command  compoundcommand  see Compound Commands above
              That command is usually a list of commands between  and   but
              may  be  any ^C
13:57:02
$PAGER=cat man bash | tr -d [:digit:] [:punct:]
tr: лишний операнд `[:punct:]'
При удалении без уплотнения повторов можно задать две только одну таблицу.
Попробуйте `tr --help' для получения более подробного описания.
cat: ошибка записи: Обрыв канала
col: write error
grotty:<standard input> (<standard input>):109225:fatal error: output error
13:57:08
$man tr
13:57:33
$PAGER=cat man bash | tr -d [:digit:],[:punct:],[:blank:]
BASHBASH
NAME
bashGNUBourneAgainSHell
SYNOPSIS
bashoptionsfile
COPYRIGHT
BashisCopyrightCbytheFreeSoftwareFoundationInc
DESCRIPTION
Bashisanshcompatiblecommandlanguageinterpreterthatexecutes
commandsreadfromthestandardinputorfromafileBashalsoincor‐
...
quotesbyprecedingitwithabackslashIfenabledhistoryexpansion
willbeperformedunlessanappearingindoublequotesisescaped
usingabackslashThebackslashprecedingtheisnotremoved
Thespecialparametersandhavespecialmeaningwhenindouble
quotesseePARAMETERSbelow
WordsoftheformstringaretreatedspeciallyThewordexpandsto
stringwithbackslashescapedcharactersreplacedasspecifiedbythe
ANSICstandardBackslashescapesequencesifpresentaredecoded
asfollows
aalert^C
13:59:01
$man tr
13:59:37
$info coreutils 'tr invocation'
14:02:43
$^C

14:03:02
$ls -l /usr/s
sbin/  share/ src/
14:03:02
$ls -l /usr/src/
итого 0
14:03:30
$ssh 192.168.16.254 -l root
root@192.168.16.254's password:
Permission denied, please try again.
root@192.168.16.254's password:
Linux debian 2.6.26-2-xen-686 #1 SMP Tue Mar 9 20:11:42 UTC 2010 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon May 17 13:36:56 2010 from 172.16.0.1
...
drwxr-xr-x 5 root root     4096 Фев  1 20:03 quiz
-rwxr-xr-x 1 root root       97 Май 26  2009 rwx2dig
-rw-r--r-- 1 root root      162 Май 17 23:16 tofreebsd
-rwxr-xr-x 1 root root     1329 Янв 15  2009 unixwinup.sh
-rw-r--r-- 1 root root 13335552 Июн 22  2009 Windows_XP.doc
-rw-r--r-- 1 root root     2566 Апр 13 16:58 xorg.conf.new
-r-xr-xr-x 1 root root     1070 Май 14 21:05 Xsession-to-freebsd6.3
debian:~# exit
logout
Connection to 192.168.16.254 closed.
14:08:47
$grep -r test /usr/share/doc/
/usr/share/doc/fontconfig/fontconfig-user.html:  EDIT             4    Monitor match/test/edit execution
/usr/share/doc/fontconfig/fontconfig-user.html:>&#60;test&#62;</TT
/usr/share/doc/fontconfig/fontconfig-user.html:tests are subjected to all the edits.  If 'target' is set to "font" instead
/usr/share/doc/fontconfig/fontconfig-user.html:>&#60;test qual="any" name="property" target="default" compare="eq"&#62;</TT
/usr/share/doc/fontconfig/fontconfig-user.html:succeeds if any value associated with the property matches the test value, or
/usr/share/doc/fontconfig/fontconfig-user.html:match the test value.  When used in a &#60;match target="font"&#62; element,
/usr/share/doc/fontconfig/fontconfig-user.html:the target= attribute in the &#60;test&#62; element selects between matching
/usr/share/doc/fontconfig/fontconfig-user.html:>&#60;test&#62;</TT
/usr/share/doc/fontconfig/fontconfig-user.html: &#60;test qual="any" name="family"&#62;&#60;string&#62;mono&#60;/string&#62;&#60;/test&#62;
/usr/share/doc/fontconfig/fontconfig-user.html: &#60;test qual="all" name="family" mode="not_eq"&#62;sans&#60;/test&#62;
...
/usr/share/doc/tsconf/copyright:Files: tests/testutils.h
/usr/share/doc/tsconf/copyright:Files: tests/*
/usr/share/doc/screen/examples/screenrc:# autoaka testing
/usr/share/doc/screen/terminfo/README:and testing:
/usr/share/doc/screen/terminfo/README:checktc.c         Termcap/info test program. Checks margin
/usr/share/doc/screen/terminfo/README:test.txt          Test file for alternate charset.
/usr/share/doc/screen/terminfo/README:                  the winners of the 1989 IOCCC contest.
/usr/share/doc/screen/terminfo/8bits:We test some umlauts and other characters coded in
/usr/share/doc/libecal1.2-7/copyright: * This code has been tested against that, and is equivalent,
^C
14:09:01
$mkdir /tmp/15-09

14:09:32
$cd /tmp/15-09

14:09:35
$ls -l
итого 0
14:09:37
$vim file
--- /dev/null	2010-05-14 20:22:43.633692287 +0300
+++ file	2010-05-18 15:10:06.000000000 +0300
@@ -0,0 +1 @@
+Sergey is single now
14:10:06
$cd

14:10:13
$find /tmp/15-09/
/tmp/15-09/
/tmp/15-09/file
14:11:16
$cat /tmp/15-09/file
Sergey is married now
14:12:56
$-type !

14:12:56
$! -type

14:12:56
$cat /tmp/15-09/file

14:12:56
$cat /tmp/15-09/file

14:12:56
$cat /tmp/15-09/file
Sergey single now
14:13:03
$cp /tmp/15-09/file{,.back{1,2,3,4,5,6,7}}
cp: указанная цель `/tmp/15-09/file.back7' не является каталогом
14:14:09
$cp /tmp/15-09/file{,back{1,2,3,4,5,6,7}}
cp: указанная цель `/tmp/15-09/fileback7' не является каталогом
14:14:24
$ls -l /tmp/15-09/
итого 4
-rw-r--r-- 1 user user 18 Май 18 15:12 file
14:14:28
$cp /tmp/15-09/file{,back}

14:14:33
$cp /tmp/15-09/file{,back2}

14:14:37
$cp /tmp/15-09/file{,back3}

14:14:42
$cat /tmp/15-09/file
Sergey single now
14:15:12
$cat /tmp/15-09/file

14:15:12
$cat /tmp/15-09/file
Sergey is married now
14:15:18
$cat /tmp/15-09/file
2007/             .dmrc             .gnome2/          .profile
.bash_history     .esd_auth         .gnome2_private/  .screenrc
.bash_logout      .fluxbox/         .gvfs/            .ssh/
.bash_profile     .fontconfig/      .l3rc             .viminfo
.bashrc           .gconf/           .lesshst          .vimrc
.cache/           .gconfd/          .lilalo/          .Xauthority
.dbus/            .gnome/           .mozilla/         .xsession-errors
14:15:18
$cat /tmp/15-09/file
file       fileback   fileback2  fileback3
14:15:18
$cat /tmp/15-09/fileback
Sergey is married now
14:15:23
$cat /tmp/15-09/fileback2
Sergey is married now
14:15:26
$cat /tmp/15-09/fileback3
Sergey is married now
14:15:28
$cat /tmp/15-09/file
ed/' {} \;^C      find /tmp/15-09/ ! -type d  -exec sed -i -e 's/single/is marrie
прошло 52 минуты
15:08:14
$jghgh
l3script: jghgh: команда не найдена
15:08:18
$ping 192.168.16.23
PING 192.168.16.23 (192.168.16.23) 56(84) bytes of data.
64 bytes from 192.168.16.23: icmp_seq=1 ttl=64 time=2.28 ms
^C
--- 192.168.16.23 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 2.281/2.281/2.281/0.000 ms
15:08:32
$ssh 192.168.16.23
l3-agent is already running: pid=10679; pidfile=/home/user/.lilalo/l3-agent.pid
15:08:39
$w
 4:08PM  up 17:14, 2 users, load averages: 0.00, 0.00, 0.00
USER             TTY      FROM              LOGIN@  IDLE WHAT
user             p1       debian4          11:28AM     - script -t 0 -q /home/u
user             p3       debian4           4:08PM     - script -t 0 -q /home/u
15:08:41
$ps aux | grep free
user  22903  0.0  0.1  1600  1024  p4  S+    4:08PM   0:00.00 grep free
15:08:49
$ps aux | grep bash

15:08:53
$ps aux | grep script
user  11557  0.0  0.1  1348   936  p1  Ss+  11:28AM   0:00.67 script -t 0 -q /h
user  22810  0.0  0.1  1348   936  p3  Ss+   4:08PM   0:00.03 script -t 0 -q /h
user  22921  0.0  0.1  1600  1024  p4  S+    4:08PM   0:00.00 grep script
15:08:58
$kill -9 11557

15:09:07
$exit
exit
Connection to 192.168.16.23 closed.
15:09:15
$ssh 192.168.16.23
l3-agent is already running: pid=10679; pidfile=/home/user/.lilalo/l3-agent.pid
прошла 21 минута
15:30:20
$exit
Connection to 192.168.16.23 closed.
прошло 59 минут
/dev/pts/0
16:29:56
$ls
2007  Downloads
16:29:58
$cd Downloads/

16:30:01
$ls
Robachevskiy_-_Unix(RUS).rar
16:30:03
$unrar
l3script: unrar: команда не найдена
16:30:06
$sudo apt-get install unrar
[sudo] password for user:
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
НОВЫЕ пакеты, которые будут установлены:
  unrar
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 287 пакетов не обновлено.
Необходимо скачать 97,2kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 242kB.
Получено:1 http://10.0.35.1 squeeze/non-free unrar 1:3.8.5-1 [97,2kB]
4% [1 unrar 4 096B/97,2kB 4%]
Получено 97,2kБ за 0с (129kБ/c)
Выбор ранее не выбранного пакета unrar.
(Чтение базы данных ... на данный момент установлено 56733 файлов и каталогов.)
Распаковывается пакет unrar (из файла .../unrar_1%3a3.8.5-1_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет unrar (1:3.8.5-1) ...
update-alternatives: используется `/usr/bin/unrar-nonfree' для предоставления `/usr/bin/unrar' (unrar) в автоматический режим.
16:30:20
$unrar Robachevskiy_-_Unix\(RUS\).rar
UNRAR 3.80 freeware      Copyright (c) 1993-2008 Alexander Roshal
Usage:     unrar <command> -<switch 1> -<switch N> <archive> <files...>
               <@listfiles...> <path_to_extract\>
<Commands>
  e             Extract files to current directory
  l[t,b]        List archive [technical, bare]
  p             Print file to stdout
  t             Test archive files
  v[t,b]        Verbosely list archive [technical,bare]
  x             Extract files with full path
...
  to<time>      Process files older than <time>
  ts<m,c,a>[N]  Save or restore file time (modification, creation, access)
  u             Update files
  v             List all volumes
  ver[n]        File version control
  vp            Pause before each volume
  x<file>       Exclude specified file
  x@            Read file names to exclude from stdin
  x@<list>      Exclude files in specified list file
  y             Assume Yes on all queries
16:30:25
$unrar e Robachevskiy_-_Unix\(RUS\).rar
UNRAR 3.80 freeware      Copyright (c) 1993-2008 Alexander Roshal
Extracting from Robachevskiy_-_Unix(RUS).rar
Extracting  Programmers Klondike.txt                                  OK
Extracting  А. Робачевский - Операционная система UNIX.pdf  OK
All OK
16:30:30
$evi
eview               evince              evince-thumbnailer
evim                evince-previewer

Среда (05/19/10)

08:47:26
$cd

08:47:29
$man locate
08:47:52
$locate
l3script: locate: команда не найдена
08:47:56
$sudo apt-get install ocate
[sudo] password for user:
08:48:07
$sudo apt-get install locate
[sudo] password for user:
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
НОВЫЕ пакеты, которые будут установлены:
  locate
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 287 пакетов не обновлено.
Необходимо скачать 152kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 332kB.
Получено:1 http://10.0.35.1 squeeze/main locate 4.4.2-1 [152kB]
Получено 152kБ за 0с (272kБ/c)
Выбор ранее не выбранного пакета locate.
(Чтение базы данных ... на данный момент установлено 56738 файлов и каталогов.)
Распаковывается пакет locate (из файла .../locate_4.4.2-1_i386.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет locate (4.4.2-1) ...
08:48:51
$locate
Usage: locate [-d path | --database=path] [-e | -E | --[non-]existing]
      [-i | --ignore-case] [-w | --wholename] [-b | --basename]
      [--limit=N | -l N] [-S | --statistics] [-0 | --null] [-c | --count]
      [-P | -H | --nofollow] [-L | --follow] [-m | --mmap ] [ -s | --stdio ]
      [-A | --all] [-p | --print] [-r | --regex ] [--regextype=TYPE]
      [--max-database-age D] [--version] [--help]
      pattern...
Report bugs to <bug-findutils@gnu.org>.
08:48:54
$locate fstab

08:48:57
$man locate
08:49:29
$bg
[1]+ sudo updatedb &
08:49:31
$top
top - 09:49:44 up 4 days, 13:26,  4 users,  load average: 0.43, 0.10, 0.03
Tasks:  93 total,   2 running,  91 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.0%us,  0.0%sy,  0.0%ni,  1.0%id, 97.4%wa,  0.0%hi,  0.0%si,  0.7%st
Mem:    594116k total,   587496k used,     6620k free,   109004k buffers
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
Swap:        0k total,        0k used,        0k free,   310788k cached
13085 root      20   0  5204 1156  848 R  3.3  0.2   0:00.70 find
 1155 root      20   0 12872 7716 1432 S  0.3  1.3   4:32.25 l3-agent
10302 root      20   0 27796  21m 3676 S  0.3  3.7   1:41.57 Xvnc
12152 user      20   0  182m  45m  22m S  0.7  7.9   1:57.46 firefox-bin
...
    4 root      15  -5     0    0    0 S  0.0  0.0   0:00.28 ksoftirqd/0
   92 root      20   0     0    0    0 S  0.0  0.0   0:01.22 pdflush
[1]+  Done                    sudo updatedb.0  0.0   0:03.44 watchdog/0
    6 root      15  -5     0    0    0 S  0.0  0.0   0:06.82 events/0
    7 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 khelper
   19 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 xenwatch
   20 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 xenbus
   50 root      15  -5     0    0    0 S  0.0  0.0   0:00.12 kblockd/0
   60 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kseriod
   91 root      20   0     0    0    0 S  0.0  0.0   0:00.30 pdflush
08:49:56
$locate fstab
/etc/fstab
/lib/udev/fstab_import
/lib/udev/rules.d/79-fstab_import.rules
/sbin/fstab-decode
/usr/include/fstab.h
/usr/lib/udisks/udisks-helper-fstab-mounter
/usr/share/doc/mount/examples/fstab
/usr/share/doc/util-linux/examples/fstab.example2
/usr/share/man/man5/fstab.5.gz
/usr/share/man/man8/fstab-decode.8.gz
/usr/share/vim/vim72/syntax/fstab.vim
08:49:59
$man find
прошло 19 минут
09:09:42
$date
Срд Май 19 10:10:23 EEST 2010
09:10:23
$find / - regex '.*\(^Ctar\.gz|\.tgz|\.rpm\)'

прошло 18 минут
09:28:28
$touch 1.rmp

09:28:36
$touch 1.rpm

09:28:39
$touch 1.gz

09:28:44
$touch 1.tgz

09:28:48
$touch 1.deb

09:29:11
$touch 1.tar.gz

09:29:21
$touch 1.rpm^C

09:29:25
$find ~ -regex '.*.\(rpm\|tgz\|tar\.gz\|deb\)'
/home/user/1.rpm
/home/user/1.tar.gz
/home/user/1.deb
/home/user/1.tgz
09:31:08
$find ~ -regex '.*.\(rpm\|tgz\|tar\.gz\|deb\)'
/home/user/1.rpm
/home/user/1.tar.gz
/home/user/1.deb
/home/user/1.tgz
09:31:24
$find ~ -regex '.*\.\(rpm\|tgz\|tar\.gz\|deb\)'
/home/user/1.rpm
/home/user/1.tar.gz
/home/user/1.deb
/home/user/1.tgz
09:31:28
$find ~ -regex '.*\.(rpm|tgz|tar.gz|deb)'

09:41:06
$pstree
init─┬─console-kit-dae───63*[{console-kit-da}]
     ├─cron
     ├─3*[dbus-daemon]
     ├─2*[dbus-launch]
     ├─gconfd-2
     ├─gdm───gdm─┬─Xvnc
     │           └─fluxbox─┬─firefox-bin───7*[{firefox-bin}]
     │                     ├─ssh-agent
     │                     └─xterm───bash───screen───screen─┬─bash───script───s+
     │                                                      └─bash───ssh
     ├─6*[getty]
     ├─gnome-keyring-d───{gnome-keyring-}
     ├─gvfsd
     ├─2*[l3-agent]
     ├─rsyslogd───2*[{rsyslogd}]
     ├─sshd─┬─7*[sshd───sshd───bash───screen]
     │      └─sshd───sshd───bash
     └─udevd───2*[udevd]
09:41:10
$pstree -p
init(1)─┬─console-kit-dae(1085)─┬─{console-kit-da}(1086)
        │                       ├─{console-kit-da}(1087)
        │                       ├─{console-kit-da}(1088)
        │                       ├─{console-kit-da}(1089)
        │                       ├─{console-kit-da}(1090)
        │                       ├─{console-kit-da}(1091)
        │                       ├─{console-kit-da}(1092)
        │                       ├─{console-kit-da}(1093)
        │                       ├─{console-kit-da}(1094)
        │                       ├─{console-kit-da}(1095)
...
        ├─sshd(1012)─┬─sshd(8482)───sshd(8572)───bash(8573)───screen(12838)
        │            ├─sshd(8610)───sshd(8650)───bash(8651)
        │            ├─sshd(8927)───sshd(8941)───bash(8942)───screen(12453)
        │            ├─sshd(9020)───sshd(9026)───bash(9027)───screen(12836)
        │            ├─sshd(12849)───sshd(12910)───bash(12911)───screen(12916)
        │            ├─sshd(12935)───sshd(12949)───bash(12950)───screen(12955)
        │            ├─sshd(13127)───sshd(13132)───bash(13133)───screen(13138)
        │            └─sshd(13139)───sshd(13145)───bash(13146)───screen(13151)
        └─udevd(568)─┬─udevd(600)
                     └─udevd(601)
09:41:28
$echo $$
12402
09:41:52
$man pstree
09:42:31
$pstree -pl
init(1)─┬─console-kit-dae(1085)─┬─{console-kit-da}(1086)
        │                       ├─{console-kit-da}(1087)
        │                       ├─{console-kit-da}(1088)
        │                       ├─{console-kit-da}(1089)
        │                       ├─{console-kit-da}(1090)
        │                       ├─{console-kit-da}(1091)
        │                       ├─{console-kit-da}(1092)
        │                       ├─{console-kit-da}(1093)
        │                       ├─{console-kit-da}(1094)
        │                       ├─{console-kit-da}(1095)
...
        ├─sshd(1012)─┬─sshd(8482)───sshd(8572)───bash(8573)───screen(12838)
        │            ├─sshd(8610)───sshd(8650)───bash(8651)
        │            ├─sshd(8927)───sshd(8941)───bash(8942)───screen(12453)
        │            ├─sshd(9020)───sshd(9026)───bash(9027)───screen(12836)
        │            ├─sshd(12849)───sshd(12910)───bash(12911)───screen(12916)
        │            ├─sshd(12935)───sshd(12949)───bash(12950)───screen(12955)
        │            ├─sshd(13127)───sshd(13132)───bash(13133)───screen(13138)
        │            └─sshd(13139)───sshd(13145)───bash(13146)───screen(13151)
        └─udevd(568)─┬─udevd(600)
                     └─udevd(601)
09:42:34
$echo $$
12402
09:42:40
$pstree -pl | grep 12402
        |                                        `-xterm(10391)---bash(10395)---screen(12338)---screen(12339)-+-bash(12340)---script(12361)---script(12401)---l3script(12402)-+-grep(13392)

Файлы

  • /tmp/15-09/file
  • /tmp/15-09/fileback
  • /tmp/15-09/fileback2
  • /tmp/15-09/fileback3
  • /tmp/15-09/file
    >
    file       fileback   fileback2  fileback3
    
    /tmp/15-09/fileback
    >
    Sergey is married now
    
    /tmp/15-09/fileback2
    >
    Sergey is married now
    
    /tmp/15-09/fileback3
    >
    Sergey is married now
    

    Статистика

    Время первой команды журнала13:52:17 2010- 5-18
    Время последней команды журнала09:42:40 2010- 5-19
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %13.86
    Процент синтаксически неверно набранных команд, % 2.97
    Суммарное время работы с терминалом *, час 1.68
    Количество командных строк в единицу времени, команда/мин 1.00
    Частота использования команд
    cat14|==========| 10.14%
    w12|========| 8.70%
    sed11|=======| 7.97%
    touch7|=====| 5.07%
    man6|====| 4.35%
    find6|====| 4.35%
    ls6|====| 4.35%
    cp5|===| 3.62%
    grep5|===| 3.62%
    cd4|==| 2.90%
    PAGER=cat4|==| 2.90%
    locate4|==| 2.90%
    tr4|==| 2.90%
    pstree4|==| 2.90%
    tar\.gz\3|==| 2.17%
    apt-get3|==| 2.17%
    deb\)'3|==| 2.17%
    ps3|==| 2.17%
    sudo3|==| 2.17%
    unrar3|==| 2.17%
    tgz\3|==| 2.17%
    ssh3|==| 2.17%
    echo2|=| 1.45%
    exit2|=| 1.45%
    \.tgz1|| 0.72%
    mkdir1|| 0.72%
    deb)'1|| 0.72%
    jghgh1|| 0.72%
    -type1|| 0.72%
    evi1|| 0.72%
    info1|| 0.72%
    bg1|| 0.72%
    !1|| 0.72%
    ping1|| 0.72%
    top1|| 0.72%
    tar.gz1|| 0.72%
    tgz1|| 0.72%
    vim1|| 0.72%
    \.rpm\)'1|| 0.72%
    kill1|| 0.72%
    ^C1|| 0.72%
    date1|| 0.72%
    ____
    *) Интервалы неактивности длительностью 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$