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

Содержание

Журнал

Среда (11/29/17)

/dev/pts/0
14:24:29
#man history
14:25:02
#ls /
bin  boot  dev  etc  home  initrd.img  lib  lib32  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  selinux  srv  sys  tmp  usr  var  vmlinuz
14:25:06
#ls ~
f1  f2  f3  f4  f5  files.txt  install  ip.txt  passwd  prox.txt  shell.sh  soft  sshconn.sh  test
14:25:08
#!

14:25:10
#!!
!
14:25:13
#!!
!
14:25:17
#ls /
bin  boot  dev  etc  home  initrd.img  lib  lib32  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  selinux  srv  sys  tmp  usr  var  vmlinuz
14:25:20
#!!
ls /
bin  boot  dev  etc  home  initrd.img  lib  lib32  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  selinux  srv  sys  tmp  usr  var  vmlinuz
14:25:21
#cat ./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
...
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
user:x:1000:1000:user,,,:/home/user:/bin/bash
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001::/home/ivan:/bin/bash
14:25:44
#vi !$
14:25:58
#~
       !      Start a history substitution, except when followed by a blank, newline, = or (.
       !n     Refer to command line n.
       !-n    Refer to the current command minus n.
       !!     Refer to the previous command.  This is a synonym for `!-1'.
HISTORY(3)                                                                                                                                     HISTORY(3)
NAME
       history - GNU History Library
COPYRIGHT
       The GNU History Library is Copyright (C) 1989-2011 by the Free Software Foundation, Inc.
DESCRIPTION
...
       The  user  using  programs  written  with the History library has the benefit of a consistent user interface with a set of well-known commands for
       line  from  the  history  list to use during substitution.  The second is to select portions of that line for inclusion into the current one.  The
       line selected from the history is the event, and the portions of that line that are acted upon are words.   Various  modifiers  are  available  to
       manipulate  the  selected  words.   The  line is broken into words in the same fashion as bash does when reading input, so that several words that
       would otherwise be separated are considered one word when surrounded by quotes (see the description of history_tokenize() below).  History  expan‐
       sions  are introduced by the appearance of the history expansion character, which is ! by default.  Only backslash (\) and single quotes can quote
       the history expansion character.
   Event Designators
       An event designator is a reference to a command line entry in the history list.  Unless the reference is absolute, events are relative to the cur‐
       rent position in the history list.
14:27:01
#vi !:-$
14:27:19
#~
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
...
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
user:x:1000:1000:user,,,:/home/user:/bin/bash
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001::/home/ivan:/bin/bash
14:27:22
#vi !:-1
14:27:44
#~
HISTORY(3)                                                                                                                                     HISTORY(3)
NAME
       history - GNU History Library
COPYRIGHT
       The GNU History Library is Copyright (C) 1989-2011 by the Free Software Foundation, Inc.
DESCRIPTION
       Many  programs  read input from the user a line at a time.  The GNU History library is able to keep track of those lines, associate arbitrary data
       with each line, and utilize information from previous lines in composing new ones.
HISTORY EXPANSION
       The history library supports a history expansion feature that is identical to the history expansion in bash.  This section describes  what  syntax
...
       denoted by 0 (zero).  Words are inserted into the current line separated by single spaces.
       0 (zero)
              The zeroth word.  For the shell, this is the command word.
       n      The nth word.
       ^      The first argument.  That is, word 1.
       $      The last argument.
       %      The word matched by the most recent `?string?' search.
       x-y    A range of words; `-y' abbreviates `0-y'.
       *      All  of  the  words  but the zeroth.  This is a synonym for `1-$'.  It is not an error to use * if there is just one word in the event; the
              empty string is returned in that case.
14:28:18
#!#

14:28:22
#cat ./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
...
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
user:x:1000:1000:user,,,:/home/user:/bin/bash
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001::/home/ivan:/bin/bash
14:28:25
#vi !#
14:28:36
#~
cat ls cat ls
cat: ls: Нет такого файла или каталога
cat: cat: Нет такого файла или каталога
cat: ls: Нет такого файла или каталога
14:28:45
#cat #!
as
as
14:29:02
#cp no_file_with_this_name /tmp/
cp: не удалось выполнить stat для «no_file_with_this_name»: Нет такого файла или каталога
прошло 28 минут
14:57:04
#echo $?
1
14:57:26
#test 5 -gt 1

14:57:45
#test 5 -lt 1

14:57:50
#echo $?
1
14:57:52
#man test
14:58:54
#echo $?
0
14:58:56
#echo $STRING

14:59:05
#test -z $STRING

14:59:16
#echo $?
0
14:59:19
#man test
14:59:57
#test -e /etc/mo
modprobe.d/ modules     motd
14:59:57
#test -e /etc/mo
modprobe.d/ modules     motd
14:59:57
#test -e /etc/motd

15:00:10
#cat !$
cat /etc/motd
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.
15:00:16
#man test
15:02:34
#echo $?
0
15:02:37
#x=5

15:02:49
#y=10

15:02:53
#test $x -gt $y

15:03:09
#echo $?
1
15:03:11
#test $x -lt $y

15:03:18
#echo $?
0
15:03:19
#\
> red
l3script: red: команда не найдена
15:03:44
#echo "Your favorite color?"; read FAV_COL; \
> red
Your favorite color?
l3script: red: команда не найдена
15:04:20
#echo "Your favorite color?"; read FAV_COL; red
Your favorite color?
red
l3script: red: команда не найдена
15:04:38
#echo "Your favorite color?"; read FAV_COL; \
> red
Your favorite color?
$FAV_COL
l3script: red: команда не найдена
15:04:51
#read $FAV_COL
red
l3script: read: `$FAV_COL': неправильный идентификатор
15:05:44
#echo $EUID
0
15:06:13
#A=0

15:07:17
#while [ $A -lt 10 ]
> do
> A=$((A+1))
> echo $A
> done
1
2
3
4
5
6
7
8
9
10
15:08:03
#for file in /etc/*
> do
> [ -r $file ] || echo $file
> done
15:08:54
#for file in /etc/*; do [ -x $file ] || echo $file; done
/etc/adduser.conf
/etc/adjtime
/etc/aliases
/etc/bash.bashrc
/etc/bash_completion
/etc/bindresvport.blacklist
/etc/blkid.tab
/etc/blkid.tab.old
/etc/ca-certificates.conf
/etc/console-cyrillic
...
/etc/services
/etc/shadow
/etc/shadow-
/etc/shells
/etc/staff-group-for-usr-local
/etc/sysctl.conf
/etc/timezone
/etc/trafshow
/etc/ucf.conf
/etc/wgetrc
15:09:07
#echo 'What command do you interested in?'; \
> select command in man touch mount make exit clear
> do
> whatis $command
> break
> done
What command do you interested in?
1) man
2) touch
3) mount
4) make
5) exit
6) clear
#? 2
touch (1)            - change file timestamps
15:11:23
#echo 'What command do you interested in?'; select someselect in man touch mount make exit clear; do whatis $someselect; break; done
What command do you interested in?
1) man
2) touch
3) mount
4) make
5) exit
6) clear
#? 3
mount (8)            - mount a filesystem
mount (2)            - mount file system
15:11:53
#echo "What command gives you info?"
What command gives you info?
15:12:55
#echo "What command gives you info?" \
> read ansver
What command gives you info? read ansver
15:13:09
#case $ansver in
> "man" | "info")
> echo 'Yes! you`r right.'
> ;;
> "whatis" | "apropos")
> echo "Wrong!"
l3script: !": event not found
> case $ansver in  "man" | "info") echo 'Yes! you`r right.'; ;; "whatis" | "apropos")
> echo 'Wrong!'
> ;;
> esac
> l3script: ошибка синтаксиса: неожиданный конец файла
15:15:30
#echo "Enter program path:"
Enter program path:
15:16:19
#read PROGRAM \;
if [ -x "$PROGRAM" ]
l3script: read: `;': неправильный идентификатор
15:17:31
#vi prog_path
--- /dev/null	2017-11-24 15:18:56.455999975 +0200
+++ prog_path	2017-11-29 16:21:52.318849207 +0200
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+echo "nter program path:"
+read PROGRAM \;
+if [ -x "$PROGRAM" ]
+then
+  "$PROGRAM"
+else
+  echo -n "Can't run $PROGRAM. "
+  if [ -e "$PROGRAM" ]
+  then
+    echo "This file is not executable!"
+  else
+    echo "No such file!"
+  fi
+fi
15:21:52
#mv pro
prog_path  prox.txt
15:21:52
#mv prog_path prog_path.sh

15:22:10
#vi prog_path.sh
15:22:29
#~
bash prog_path.sh
nter program path:
someprog
prog_path.sh: line 4: read: `;': неправильный идентификатор
Can't run someprog. No such file!
15:22:52
#vi prog_path.sh
--- /tmp/l3-saved-11433.29928.13503	2017-11-29 16:23:00.122851082 +0200
+++ prog_path.sh	2017-11-29 16:23:11.330839932 +0200
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 echo "nter program path:"
-read PROGRAM \;
+read PROGRAM \
 if [ -x "$PROGRAM" ]
 then
   "$PROGRAM"
15:23:11
#bash prog_path.sh
nter program path:
someprog
prog_path.sh: line 4: read: `[': неправильный идентификатор
prog_path.sh: line 6: syntax error near unexpected token `then'
prog_path.sh: line 6: `then'
15:23:16
#vi prog_path.sh
--- /tmp/l3-saved-11433.3371.16380	2017-11-29 16:23:28.066849599 +0200
+++ prog_path.sh	2017-11-29 16:23:39.138852924 +0200
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 echo "nter program path:"
-read PROGRAM \
+read PROGRAM 
 if [ -x "$PROGRAM" ]
 then
   "$PROGRAM"
15:23:39
#vi prog_path.sh
--- /tmp/l3-saved-11433.28755.32540	2017-11-29 16:23:43.274837532 +0200
+++ prog_path.sh	2017-11-29 16:23:50.474849466 +0200
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-echo "nter program path:"
+echo "Enter program path:"
 read PROGRAM 
 if [ -x "$PROGRAM" ]
 then
15:23:50
#bash prog_path.sh
Enter program path:
someprog
Can't run someprog. No such file!
15:23:55
#bash prog_path.sh
Enter program path:
ls
Can't run ls. No such file!
15:24:06
#locate ls
/bin/false
/bin/ls
/bin/lsblk
/bin/lsmod
/boot/grub/command.lst
/boot/grub/crypto.lst
/boot/grub/fs.lst
/boot/grub/lsacpi.mod
/boot/grub/lsapm.mod
/boot/grub/lsmmap.mod
...
/var/lib/dpkg/info/xz-utils.list
/var/lib/dpkg/info/xz-utils.md5sums
/var/lib/dpkg/info/xz-utils.postinst
/var/lib/dpkg/info/xz-utils.prerm
/var/lib/dpkg/info/zlib1g:amd64.symbols
/var/lib/initramfs-tools
/var/lib/initramfs-tools/3.2.0-4-amd64
/var/lib/usbutils
/var/lib/usbutils/usb.ids
/var/log/installer/lsb-release
15:24:37
#whi
which     while     whiptail
15:24:37
#whi
which     while     whiptail
15:24:37
#which ls
/bin/ls
15:24:45
#bash prog_path.sh
Enter program path:
/bin/ls
f1  f2  f3  f4  f5  files.txt  install  ip.txt  no_file_with_this_name  passwd  prog_path.sh  prox.txt  shell.sh  soft  sshconn.sh  test
15:24:53
#bash prog_path.sh
Enter program path:
/bin/ls2
Can't run /bin/ls2. No such file!
15:25:01
#func () {
> if [ -z "$1" ]
> then
> echo "No parameters passed to function."
> return 0
> else
>  echo "Param #1 is $1."
> fi
> if [ "$2" ]
> then
> echo "Parameter #2 in $2."
> fi
> }
15:28:29
#func
No parameters passed to function.
15:28:34
#func first
Param #1 is first.
15:28:48
#func first second
Param #1 is first.
Parameter #2 in second.
15:28:53
#vi fav_os.sh
--- /dev/null	2017-11-24 15:18:56.455999975 +0200
+++ fav_os.sh	2017-11-29 16:32:56.382853695 +0200
@@ -0,0 +1,13 @@
+#!/bin/bash
+echo "WHat command give you info?"
+read answer
+case $answer in
+"man" | "info" )
+  echo 'You are right!'
+;;
+"whatis" | "apropos" )
+  echo 'Not quite right! This give you short info.'
+;;
+* ) echo 'Wrong!'
+;;
+esac
15:32:56
#bash !$
bash fav_os.sh
WHat command give you info?
some
Wrong!
15:33:07
#bash fav_os.sh
WHat command give you info?
info
You are right!
15:33:11
#echo "Favorite color ?"; read FAV_COL
Favorite color ?
red
15:34:17
#echo "Favorite color ?"; read FAV_COL;
Favorite color ?
red
15:34:31
#echo "Favorite color ?"; read FAV_COL; echo "Your favorite color is - $FAV_COL"
Favorite color ?
red
Your favorite color is - red
15:35:09
#man case
15:42:21
#help case
case: case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac
    Execute commands based on pattern matching.
    Selectively execute COMMANDS based upon WORD matching PATTERN.  The
    `|' is used to separate multiple patterns.
    Exit Status:
    Returns the status of the last command executed.
15:44:42
#echo some text to scrin
some text to scrin
прошло 10 минут
15:55:14
#echo some text to screen
some text to screen
15:58:58
#~
Enter program path:
/bin/ls
f1  f2  f3  f4  f5  fav_os.sh  files.txt  install  ip.txt  no_file_with_this_name  passwd  prog_path.sh  prox.txt  shell.sh  soft  sshconn.sh  test
15:59:06
#bash prog_path.sh
Enter program path:
/bin/ls2
Can't run /bin/ls2. No such file!
15:59:11
#vi prog_path.sh
16:08:42
#~

Четверг (11/30/17)

/dev/pts/0
08:57:17
#ls
f1  f2  f3  f4  f5  fav_os.sh  files.txt  install  ip.txt  no_file_with_this_name  passwd  prog_path.sh  prox.txt  shell.sh  soft  sshconn.sh  test
09:04:25
#cp shell.sh /home/user/
ABA                                    DIRECTORY1                             LIGHT_ALLOY_4.4.784_RC2_BY_FAFNIR.EXE  PROJ/
ABB                                    DIRECTORY2                             .lilalo/                               SH/
ABC                                    DIRECTORY3                             LPI_1/                                 SORTED
ABD                                    ERRLOG                                 LPI_2/                                 SORTED_PASSWD
.aptitude/                             FILE                                   MAN_SMB_CONF                           SOURCE/
BACKUP/                                FILE1                                  MATRIX.JPG                             TEST/
.bash_history                          FILE2                                  NAMES/                                 TEXT/
.bash_logout                           FILE3                                  NEWFILE                                TOUCHLIST
.bash_profile                          FREEBSD.JPG                            OGO.JPG                                UNSORTED
.bashrc                                GRANATA.JPG                            PAMYATKA.PDF                           .viminfo
BIGFILE                                KILLALL                                PRESS_ANY_KEY_TO_CONTINUE.JPG          .vimrc
BIN/                                   .l3rc                                  .profile
09:04:25
#cp shell.sh /home/user/

09:04:47
#vi!^
vishell.sh
l3script: vishell.sh: команда не найдена
09:04:49
#vi shell.sh
09:09:02
#~
user     pts/2        192.168.16.211   Thu Nov 30 09:57   still logged in
root     pts/0        192.168.16.211   Thu Nov 30 09:57   still logged in
user     pts/2        192.168.16.211   Wed Nov 29 09:23 - 17:08  (07:45)
root     pts/0        192.168.16.211   Wed Nov 29 09:23 - 17:08  (07:45)
root     pts/5        192.168.16.211   Tue Nov 28 10:59 - 16:50  (05:50)
ivan     pts/4        192.168.16.211   Tue Nov 28 10:19 - 16:50  (06:30)
ivan     pts/4        192.168.16.211   Tue Nov 28 10:13 - 10:19  (00:05)
root     pts/0        192.168.16.211   Tue Nov 28 10:07 - 16:50  (06:42)
user     pts/2        192.168.16.211   Tue Nov 28 09:17 - 16:50  (07:32)
root     pts/0        192.168.16.211   Tue Nov 28 09:17 - 10:07  (00:49)
user     pts/2        192.168.16.211   Mon Nov 27 12:04 - 18:02  (05:57)
root     pts/0        192.168.16.211   Mon Nov 27 12:01 - 18:02  (06:00)
wtmp begins Mon Nov 27 12:01:47 2017

Файлы

  • !$
  • #!
  • ./passwd
  • !$
    >
    cat /etc/motd
    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.
    
    #!
    >
    as
    as
    
    ./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
    uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
    proxy:x:13:13:proxy:/bin:/bin/sh
    www-data:x:33:33:www-data:/var/www:/bin/sh
    backup:x:34:34:backup:/var/backups:/bin/sh
    list:x:38:38:Mailing List Manager:/var/list:/bin/sh
    irc:x:39:39:ircd:/var/run/ircd:/bin/sh
    gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
    nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
    libuuid:x:100:101::/var/lib/libuuid:/bin/sh
    Debian-exim:x:101:103::/var/spool/exim4:/bin/false
    user:x:1000:1000:user,,,:/home/user:/bin/bash
    sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
    ivan:x:1001:1001::/home/ivan:/bin/bash
    

    Статистика

    Время первой команды журнала14:24:29 2017-11-29
    Время последней команды журнала09:09:02 2017-11-30
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %17.82
    Процент синтаксически неверно набранных команд, % 4.95
    Суммарное время работы с терминалом *, час 1.93
    Количество командных строк в единицу времени, команда/мин 0.87
    Частота использования команд
    echo23|===================| 19.49%
    vi12|==========| 10.17%
    ~8|======| 6.78%
    read8|======| 6.78%
    bash8|======| 6.78%
    test8|======| 6.78%
    man5|====| 4.24%
    func4|===| 3.39%
    cat4|===| 3.39%
    ls4|===| 3.39%
    \4|===| 3.39%
    cp3|==| 2.54%
    !!3|==| 2.54%
    mv2|=| 1.69%
    do2|=| 1.69%
    whi2|=| 1.69%
    for2|=| 1.69%
    done2|=| 1.69%
    x=51|| 0.85%
    while1|| 0.85%
    A=01|| 0.85%
    select1|| 0.85%
    !1|| 0.85%
    help1|| 0.85%
    case1|| 0.85%
    !#1|| 0.85%
    vi!^1|| 0.85%
    y=101|| 0.85%
    break1|| 0.85%
    locate1|| 0.85%
    red1|| 0.85%
    which1|| 0.85%
    ____
    *) Интервалы неактивности длительностью 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$