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

Содержание

Журнал

Вторник (11/28/17)

/dev/pts/5
12:54:11
#chattr -i install

12:54:20
#ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  10648   828 ?        Ss   Ноя24   0:06 init [2]
root         2  0.0  0.0      0     0 ?        S    Ноя24   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Ноя24   0:01 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S    Ноя24   0:00 [kworker/u:0]
root         6  0.0  0.0      0     0 ?        S    Ноя24   0:00 [migration/0]
root         7  0.0  0.0      0     0 ?        S    Ноя24   0:03 [watchdog/0]
root         8  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [cpuset]
root         9  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [khelper]
root        10  0.0  0.0      0     0 ?        S    Ноя24   0:00 [kdevtmpfs]
...
root      7546  0.0  0.4  21640  2336 pts/1    Ss+  10:07   0:00 l3script
root      7701  0.0  0.7  71288  3608 ?        Ss   10:19   0:00 sshd: ivan [priv]
ivan      7703  0.0  0.3  71288  1872 ?        S    10:19   0:00 sshd: ivan@pts/4
ivan      7704  0.0  0.6  22600  3196 pts/4    Ss+  10:19   0:00 -bash
root      7894  0.0  0.7  71288  3684 ?        Ss   10:59   0:00 sshd: root@pts/5
root      7896  0.0  0.5  22168  2856 pts/5    Ss   10:59   0:00 -bash
root      7941  0.0  0.1  18164   840 pts/5    S+   10:59   0:00 script -f -c l3script -q /root/.lilalo//28749221202138130065-1511859579.script
root      7972  0.0  0.0  18168   464 pts/5    S+   10:59   0:00 script -f -c l3script -q /root/.lilalo//28749221202138130065-1511859579.script
root      7973  0.0  0.4  23772  2476 pts/6    Ss   10:59   0:00 l3script
root      9114  0.0  0.2  18948  1264 pts/6    R+   13:58   0:00 ps aux
12:58:53
#ps aux | sort -k4
root        21  0.0  0.0      0     0 ?        SN   Ноя24   0:00 [ksmd]
root       100  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [ata_sff]
root        15  0.0  0.0      0     0 ?        S    Ноя24   0:00 [bdi-default]
root         8  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [cpuset]
root        23  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [crypto]
root       137  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [ext4-dio-unwrit]
root        22  0.0  0.0      0     0 ?        S    Ноя24   0:00 [fsnotify_mark]
root        17  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [kblockd]
root        10  0.0  0.0      0     0 ?        S    Ноя24   0:00 [kdevtmpfs]
root         9  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [khelper]
...
user      6934  0.0  0.5  22180  2796 pts/3    Ss+  09:17   0:00 l3script
user      6817  0.0  0.5  22180  2872 pts/2    Ss   09:17   0:00 -bash
ivan      7704  0.0  0.6  22600  3196 pts/4    Ss+  10:19   0:00 -bash
root      6814  0.0  0.7  71288  3608 ?        Ss   09:17   0:00 sshd: user [priv]
root      7701  0.0  0.7  71288  3608 ?        Ss   10:19   0:00 sshd: ivan [priv]
root      7467  0.0  0.7  71288  3680 ?        Ss   10:07   0:00 sshd: root@pts/0
root      7894  0.0  0.7  71288  3684 ?        Ss   10:59   0:00 sshd: root@pts/5
root      3443  0.2  2.0  47688 10420 ?        Rs   Ноя27   3:53 l3-agent
user      3551  0.2  2.0  47912 10564 ?        Ss   Ноя27   3:25 l3-agent
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
13:00:11
#ps aux | sort -k4 -r
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user      3551  0.2  2.0  47912 10564 ?        Ss   Ноя27   3:25 l3-agent
root      3443  0.2  2.0  47688 10420 ?        Ss   Ноя27   3:53 l3-agent
root      7894  0.0  0.7  71288  3684 ?        Ss   10:59   0:00 sshd: root@pts/5
root      7467  0.0  0.7  71288  3680 ?        Ss   10:07   0:00 sshd: root@pts/0
root      7701  0.0  0.7  71288  3608 ?        Ss   10:19   0:00 sshd: ivan [priv]
root      6814  0.0  0.7  71288  3608 ?        Ss   09:17   0:00 sshd: user [priv]
ivan      7704  0.0  0.6  22600  3196 pts/4    Ss+  10:19   0:00 -bash
user      6817  0.0  0.5  22180  2872 pts/2    Ss   09:17   0:00 -bash
user      6934  0.0  0.5  22180  2796 pts/3    Ss+  09:17   0:00 l3script
...
root         9  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [khelper]
root        10  0.0  0.0      0     0 ?        S    Ноя24   0:00 [kdevtmpfs]
root        17  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [kblockd]
root        22  0.0  0.0      0     0 ?        S    Ноя24   0:00 [fsnotify_mark]
root       137  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [ext4-dio-unwrit]
root        23  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [crypto]
root         8  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [cpuset]
root        15  0.0  0.0      0     0 ?        S    Ноя24   0:00 [bdi-default]
root       100  0.0  0.0      0     0 ?        S<   Ноя24   0:00 [ata_sff]
root        21  0.0  0.0      0     0 ?        SN   Ноя24   0:00 [ksmd]
13:00:17
#ps aux | sort -k4 -r | head -11
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user      3551  0.2  2.0  47912 10564 ?        Ss   Ноя27   3:25 l3-agent
root      3443  0.2  2.0  47688 10420 ?        Ss   Ноя27   3:54 l3-agent
root      7894  0.0  0.7  71288  3684 ?        Ss   10:59   0:00 sshd: root@pts/5
root      7467  0.0  0.7  71288  3680 ?        Ss   10:07   0:00 sshd: root@pts/0
root      7701  0.0  0.7  71288  3608 ?        Ss   10:19   0:00 sshd: ivan [priv]
root      6814  0.0  0.7  71288  3608 ?        Ss   09:17   0:00 sshd: user [priv]
ivan      7704  0.0  0.6  22600  3196 pts/4    Ss+  10:19   0:00 -bash
user      6817  0.0  0.5  22180  2872 pts/2    Ss   09:17   0:00 -bash
user      6934  0.0  0.5  22180  2796 pts/3    Ss+  09:17   0:00 l3script
root      7896  0.0  0.5  22168  2856 pts/5    Ss   10:59   0:00 -bash
13:00:58
#ls [0-9]*
256j  3sdfs567  78asd
13:02:13
#ls [0-9]* | rm
rm: пропущен операнд
Попробуйте «rm --help» для получения более подробного описания.
13:02:23
#ls [0-9]* | xargs rm -v
удалён «256j»
удалён «3sdfs567»
удалён «78asd»
13:03:15
#ps aux | sort -k4 -r | head -11
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user      3551  0.2  2.0  47912 10564 ?        Ss   Ноя27   3:25 l3-agent
root      3443  0.2  2.0  47688 10420 ?        Ss   Ноя27   3:56 l3-agent
root      7894  0.0  0.7  71288  3684 ?        Ss   10:59   0:00 sshd: root@pts/5
root      7467  0.0  0.7  71288  3680 ?        Ss   10:07   0:00 sshd: root@pts/0
root      7701  0.0  0.7  71288  3608 ?        Ss   10:19   0:00 sshd: ivan [priv]
root      6814  0.0  0.7  71288  3608 ?        Ss   09:17   0:00 sshd: user [priv]
ivan      7704  0.0  0.6  22600  3196 pts/4    Ss+  10:19   0:00 -bash
user      6817  0.0  0.5  22180  2872 pts/2    Ss   09:17   0:00 -bash
user      6934  0.0  0.5  22180  2796 pts/3    Ss+  09:17   0:00 l3script
root      7896  0.0  0.5  22168  2856 pts/5    Ss   10:59   0:00 -bash
13:04:20
#ps aux | sort -k4 -r | tee prox.txt | head -11
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user      3551  0.2  2.0  47912 10564 ?        Ss   Ноя27   3:25 l3-agent
root      3443  0.2  2.0  47688 10420 ?        Ss   Ноя27   3:56 l3-agent
root      7894  0.0  0.7  71288  3684 ?        Ss   10:59   0:00 sshd: root@pts/5
root      7467  0.0  0.7  71288  3680 ?        Ss   10:07   0:00 sshd: root@pts/0
root      7701  0.0  0.7  71288  3608 ?        Ss   10:19   0:00 sshd: ivan [priv]
root      6814  0.0  0.7  71288  3608 ?        Ss   09:17   0:00 sshd: user [priv]
ivan      7704  0.0  0.6  22600  3196 pts/4    Ss+  10:19   0:00 -bash
user      6817  0.0  0.5  22180  2872 pts/2    Ss   09:17   0:00 -bash
user      6934  0.0  0.5  22180  2796 pts/3    Ss+  09:17   0:00 l3script
root      7896  0.0  0.5  22168  2856 pts/5    Ss   10:59   0:00 -bash
13:05:05
#ps aux | sort -k4 -r | head -11 | tee prox.txt
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user      3551  0.2  2.0  47912 10564 ?        Ss   Ноя27   3:25 l3-agent
root      3443  0.2  2.0  47688 10420 ?        Ss   Ноя27   3:57 l3-agent
root      7894  0.0  0.7  71288  3684 ?        Ss   10:59   0:00 sshd: root@pts/5
root      7467  0.0  0.7  71288  3680 ?        Ss   10:07   0:00 sshd: root@pts/0
root      7701  0.0  0.7  71288  3608 ?        Ss   10:19   0:00 sshd: ivan [priv]
root      6814  0.0  0.7  71288  3608 ?        Ss   09:17   0:00 sshd: user [priv]
ivan      7704  0.0  0.6  22600  3196 pts/4    Ss+  10:19   0:00 -bash
user      6817  0.0  0.5  22180  2872 pts/2    Ss   09:17   0:00 -bash
user      6934  0.0  0.5  22180  2796 pts/3    Ss+  09:17   0:00 l3script
root      7896  0.0  0.5  22168  2856 pts/5    Ss   10:59   0:00 -bash
13:05:17
#cat prox.txt
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user      3551  0.2  2.0  47912 10564 ?        Ss   Ноя27   3:25 l3-agent
root      3443  0.2  2.0  47688 10420 ?        Ss   Ноя27   3:57 l3-agent
root      7894  0.0  0.7  71288  3684 ?        Ss   10:59   0:00 sshd: root@pts/5
root      7467  0.0  0.7  71288  3680 ?        Ss   10:07   0:00 sshd: root@pts/0
root      7701  0.0  0.7  71288  3608 ?        Ss   10:19   0:00 sshd: ivan [priv]
root      6814  0.0  0.7  71288  3608 ?        Ss   09:17   0:00 sshd: user [priv]
ivan      7704  0.0  0.6  22600  3196 pts/4    Ss+  10:19   0:00 -bash
user      6817  0.0  0.5  22180  2872 pts/2    Ss   09:17   0:00 -bash
user      6934  0.0  0.5  22180  2796 pts/3    Ss+  09:17   0:00 l3script
root      7896  0.0  0.5  22168  2856 pts/5    Ss   10:59   0:00 -bash
13:05:21
#cat install
#!/bin/sh
hostname=`hostname`
uname -a | egrep -qi '(freebsd|darwin)' || hostname=`hostname -f`
###############################################################################
#
# Set this variables before installation:
lilalo_user=13-10-2014
lab=NT-LNet
install_l3bashrc_for_this_users=${users:-"root user"}  # users who will use l3agent and l3script
lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
...
step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
step "Adding l3-agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_l3bashrc_for_this_users
cd /
rm -rf ${temp_dir}
show_final_message
Втр Ноя 28 13:48:43 EET 2017
Втр Ноя 28 13:52:26 EET 2017
прошло 98 минут
14:44:12
#cat install | grep rm
perl_modules="Term-VT102 Text-Iconv"
normC='\033[0;39m'
    printf "${whiteC}""$msg""...${normC}\n"
          printf "${greenC}""Ok\n""${normC}"
        printf "${redC}""Failed\n""${normC}"
For further information see http://xgu.ru/lilalo/ (in Russian).
rm -rf ${temp_dir}
14:44:57
#cat install | grep rm
perl_modules="Term-VT102 Text-Iconv"
normC='\033[0;39m'
    printf "${whiteC}""$msg""...${normC}\n"
          printf "${greenC}""Ok\n""${normC}"
        printf "${redC}""Failed\n""${normC}"
For further information see http://xgu.ru/lilalo/ (in Russian).
rm -rf ${temp_dir}
14:45:02
#cat install | grep ^rm
rm -rf ${temp_dir}
14:46:00
#cat install | grep \"2

14:46:36
#cat install | grep '^rm'
rm -rf ${temp_dir}
14:46:53
#cat install | grep 'rm$'

14:46:57
#cat install | grep '\n$'
        then
        cp l3-agent /usr/local/bin
        cp l3-config /usr/local/bin
Now restart your shell or relogin
14:47:04
#cat install | grep '\\n$'

14:47:14
#cat install | grep '`\n$'

14:47:22
#cat install | grep '"'
install_l3bashrc_for_this_users=${users:-"root user"}  # users who will use l3agent and l3script
lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
url_lilalo="http://xgu.ru/lilalo"
url_l3bashrc="${url_lilalo}"/l3bashrc
url_l3agent="${url_lilalo}"/l3-agent
url_l3config_pm="${url_lilalo}"/l3config.pm
url_l3config="${url_lilalo}"/l3-config
url_l3prompt="${url_lilalo}"/l3prompt
perl_modules="Term-VT102 Text-Iconv"
apt_get_install_this="perl make libmodule-build-perl libc6-dev gcc"
...
        user_home=`get_user_home "$user"`
step "Installing dependencies" apt_get_install_deps
step "Downloading l3bashrc" ${wget} ${url_l3bashrc}
step "Downloading l3prompt" ${wget} ${url_l3prompt}
step "Downloading l3-agent" '${wget} ${url_l3agent}; ${wget} ${url_l3config_pm}; ${wget} ${url_l3config}'
step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
step "Adding l3-agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_l3bashrc_for_this_users
14:47:28
#cat install | grep '"' | nl
     1  install_l3bashrc_for_this_users=${users:-"root user"}  # users who will use l3agent and l3script
     2  lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
     3  url_lilalo="http://xgu.ru/lilalo"
     4  url_l3bashrc="${url_lilalo}"/l3bashrc
     5  url_l3agent="${url_lilalo}"/l3-agent
     6  url_l3config_pm="${url_lilalo}"/l3config.pm
     7  url_l3config="${url_lilalo}"/l3-config
     8  url_l3prompt="${url_lilalo}"/l3prompt
     9  perl_modules="Term-VT102 Text-Iconv"
    10  apt_get_install_this="perl make libmodule-build-perl libc6-dev gcc"
...
    26          user_home=`get_user_home "$user"`
    27  step "Installing dependencies" apt_get_install_deps
    28  step "Downloading l3bashrc" ${wget} ${url_l3bashrc}
    29  step "Downloading l3prompt" ${wget} ${url_l3prompt}
    30  step "Downloading l3-agent" '${wget} ${url_l3agent}; ${wget} ${url_l3config_pm}; ${wget} ${url_l3config}'
    31  step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
    32  step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
    33  step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
    34  step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
    35  step "Adding l3-agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_l3bashrc_for_this_users
14:47:59
#cat install | grep '"$' | nl
     1  lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
     2  url_lilalo="http://xgu.ru/lilalo"
     3  perl_modules="Term-VT102 Text-Iconv"
     4  apt_get_install_this="perl make libmodule-build-perl libc6-dev gcc"
     5          echo "Please install this dependencies manually:"
     6          echo "Have you installed this already (y/n)?"
     7      msg="$1"
     8      printf "${whiteC}""$msg""...${normC}\n"
     9  #    eval "$@" 2>&1 | sed 's/^/|\ \ \ /' && printf "Ok\n" || printf "Failed\n"
    10          printf "${redC}""Failed\n""${normC}"
    11      users="$@"
    12      users="$@"
    13      users="$@"
14:48:29
#cat install | grep '&' | nl
     1  uname -a | egrep -qi '(bsd|darwin)' && wget=fetch
     2      if which apt-get >& /dev/null
     3  #    eval "$@" 2>&1 | sed 's/^/|\ \ \ /' && printf "Ok\n" || printf "Failed\n"
     4      eval "$@" 2>&1 > log 2>&1 && \
     5      uname -a | egrep -qi '(freebsd|darwin)' && pw user show "$@"| awk -F: '{print $9}' || getent passwd "$@"| awk -F: '{print $6}'
     6          || echo "[ \$0 == l3script ] && . ${user_home}/.lilalo/l3bashrc && _l3_start" >> ${user_home}/.bashrc; chown -R ${user} ${user_home}/.bashrc
14:50:17
#cat install | grep '&&' | nl
     1  uname -a | egrep -qi '(bsd|darwin)' && wget=fetch
     2  #    eval "$@" 2>&1 | sed 's/^/|\ \ \ /' && printf "Ok\n" || printf "Failed\n"
     3      eval "$@" 2>&1 > log 2>&1 && \
     4      uname -a | egrep -qi '(freebsd|darwin)' && pw user show "$@"| awk -F: '{print $9}' || getent passwd "$@"| awk -F: '{print $6}'
     5          || echo "[ \$0 == l3script ] && . ${user_home}/.lilalo/l3bashrc && _l3_start" >> ${user_home}/.bashrc; chown -R ${user} ${user_home}/.bashrc
14:50:41
#cat install | grep '&+' | nl

14:51:24
#cat install | egrep '&+' | nl
     1  uname -a | egrep -qi '(bsd|darwin)' && wget=fetch
     2      if which apt-get >& /dev/null
     3  #    eval "$@" 2>&1 | sed 's/^/|\ \ \ /' && printf "Ok\n" || printf "Failed\n"
     4      eval "$@" 2>&1 > log 2>&1 && \
     5      uname -a | egrep -qi '(freebsd|darwin)' && pw user show "$@"| awk -F: '{print $9}' || getent passwd "$@"| awk -F: '{print $6}'
     6          || echo "[ \$0 == l3script ] && . ${user_home}/.lilalo/l3bashrc && _l3_start" >> ${user_home}/.bashrc; chown -R ${user} ${user_home}/.bashrc
14:51:58
#cat install | egrep '&{2}' | nl
     1  uname -a | egrep -qi '(bsd|darwin)' && wget=fetch
     2  #    eval "$@" 2>&1 | sed 's/^/|\ \ \ /' && printf "Ok\n" || printf "Failed\n"
     3      eval "$@" 2>&1 > log 2>&1 && \
     4      uname -a | egrep -qi '(freebsd|darwin)' && pw user show "$@"| awk -F: '{print $9}' || getent passwd "$@"| awk -F: '{print $6}'
     5          || echo "[ \$0 == l3script ] && . ${user_home}/.lilalo/l3bashrc && _l3_start" >> ${user_home}/.bashrc; chown -R ${user} ${user_home}/.bashrc
14:52:41
#cat install | egrep '&{1,2}' | nl
     1  uname -a | egrep -qi '(bsd|darwin)' && wget=fetch
     2      if which apt-get >& /dev/null
     3  #    eval "$@" 2>&1 | sed 's/^/|\ \ \ /' && printf "Ok\n" || printf "Failed\n"
     4      eval "$@" 2>&1 > log 2>&1 && \
     5      uname -a | egrep -qi '(freebsd|darwin)' && pw user show "$@"| awk -F: '{print $9}' || getent passwd "$@"| awk -F: '{print $6}'
     6          || echo "[ \$0 == l3script ] && . ${user_home}/.lilalo/l3bashrc && _l3_start" >> ${user_home}/.bashrc; chown -R ${user} ${user_home}/.bashrc
14:53:03
#cat install | egrep '&?' | nl
     1  #!/bin/sh
     2  hostname=`hostname`
     3  uname -a | egrep -qi '(freebsd|darwin)' || hostname=`hostname -f`
     4  ###############################################################################
     5  #
     6  # Set this variables before installation:
     7  lilalo_user=13-10-2014
     8  lab=NT-LNet
     9  install_l3bashrc_for_this_users=${users:-"root user"}  # users who will use l3agent and l3script
    10  lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
...
   147  step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
   148  step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
   149  step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
   150  step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
   151  step "Adding l3-agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_l3bashrc_for_this_users
   152  cd /
   153  rm -rf ${temp_dir}
   154  show_final_message
   155  Втр Ноя 28 13:48:43 EET 2017
   156  Втр Ноя 28 13:52:26 EET 2017
14:53:29
#cat install | egrep '>{3}' | nl

14:59:23
#cat install | egrep '>.+>.+>' | nl
     1      eval "$@" 2>&1 > log 2>&1 && \
14:59:44
#vi ip.txt
--- /dev/null	2017-11-24 15:18:56.455999975 +0200
+++ ip.txt	2017-11-28 16:06:03.278846160 +0200
@@ -0,0 +1,12 @@
+192.168.12.2
+176.58.13.223
+10.1.10.40
+8.8.8.8
+192.168.0.254
+10.1.124.1
+466.642.2.15
+192.300.15.40
+176.265.17.7
+88.310.15.445
+2.6.9
+12.6.s.3
15:06:03
#cat ip.txt
192.168.12.2
176.58.13.223
10.1.10.40
8.8.8.8
192.168.0.254
10.1.124.1
466.642.2.15
192.300.15.40
176.265.17.7
88.310.15.445
2.6.9
12.6.s.3
15:15:57
#cat ip.txt | egrep '^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])&'

15:16:56
#cat ip.txt | egrep '^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])&'

15:17:04
#cat ip.txt | egrep '^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.)&'

15:17:11
#cat ip.txt | egrep '^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}&'

15:17:31
#cat ip.txt | egrep '^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5]))&'
egrep: Непарная ) или \)
15:17:54
#cat ip.txt | egrep '^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])&'

15:17:57
#cat ip.txt | egrep '^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])&'

15:19:08
#cat ip.txt | egrep '^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])&'

15:21:56
#cat ip.txt | egrep '^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.{3}([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'
egrep: Непарная ( или \(
15:22:09
#cat ip.txt | egrep '^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'
192.168.12.2
176.58.13.223
10.1.10.40
8.8.8.8
192.168.0.254
10.1.124.1
15:27:16
#cp /etc/passwd .

15:30:39
#ls
f1  f2  f3  f4  f5  files.txt  install  ip.txt  passwd  prox.txt
15:32:01
#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
15:32:13
#cat passwd | sed -n '1,5p'
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
15:33:39
#cat passwd | sed -n '20,$p'
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
15:33:54
#cat passwd | sed -n '/bash$/p'
root:x:0:0:root:/root:/bin/bash
user:x:1000:1000:user,,,:/home/user:/bin/bash
ivan:x:1001:1001::/home/ivan:/bin/bash
15:34:34
#cat passwd | sed -n 's/bash$/zsh/'

15:36:34
#cat passwd | sed 's/bash$/zsh/'
root:x:0:0:root:/root:/bin/zsh
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/zsh
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001::/home/ivan:/bin/zsh
15:36:43
#cat passwd | sed 's/sh$/zsh/'
root:x:0:0:root:/root:/bin/bazsh
daemon:x:1:1:daemon:/usr/sbin:/bin/zsh
bin:x:2:2:bin:/bin:/bin/zsh
sys:x:3:3:sys:/dev:/bin/zsh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/zsh
man:x:6:12:man:/var/cache/man:/bin/zsh
lp:x:7:7:lp:/var/spool/lpd:/bin/zsh
mail:x:8:8:mail:/var/mail:/bin/zsh
news:x:9:9:news:/var/spool/news:/bin/zsh
...
backup:x:34:34:backup:/var/backups:/bin/zsh
list:x:38:38:Mailing List Manager:/var/list:/bin/zsh
irc:x:39:39:ircd:/var/run/ircd:/bin/zsh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/zsh
nobody:x:65534:65534:nobody:/nonexistent:/bin/zsh
libuuid:x:100:101::/var/lib/libuuid:/bin/zsh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
user:x:1000:1000:user,,,:/home/user:/bin/bazsh
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001::/home/ivan:/bin/bazsh
15:37:17
#cat passwd | awk -F: '{print $1,$7}'
root /bin/bash
daemon /bin/sh
bin /bin/sh
sys /bin/sh
sync /bin/sync
games /bin/sh
man /bin/sh
lp /bin/sh
mail /bin/sh
news /bin/sh
...
backup /bin/sh
list /bin/sh
irc /bin/sh
gnats /bin/sh
nobody /bin/sh
libuuid /bin/sh
Debian-exim /bin/false
user /bin/bash
sshd /usr/sbin/nologin
ivan /bin/bash
15:41:54
#cat passwd | awk -F: '$3>=1000 {print $1,$7}'
nobody /bin/sh
user /bin/bash
ivan /bin/bash
15:44:32
#cat passwd | awk -F: '$3>=1000 && $3<= 5000 {print $1,$7}'
user /bin/bash
ivan /bin/bash
15:45:38
#awk -F: '{print $1,$7}' passwd
root /bin/bash
daemon /bin/sh
bin /bin/sh
sys /bin/sh
sync /bin/sync
games /bin/sh
man /bin/sh
lp /bin/sh
mail /bin/sh
news /bin/sh
...
backup /bin/sh
list /bin/sh
irc /bin/sh
gnats /bin/sh
nobody /bin/sh
libuuid /bin/sh
Debian-exim /bin/false
user /bin/bash
sshd /usr/sbin/nologin
ivan /bin/bash
15:47:12
#awk -F: '$7~/zsh$/{print $1,$7}' passwd

15:47:40
#awk -F: '$7~/zsh$/{print $1,$7}' passwd

15:48:04
#awk -F: '$7~/sh$/{print $1,$7}' passwd
root /bin/bash
daemon /bin/sh
bin /bin/sh
sys /bin/sh
games /bin/sh
man /bin/sh
lp /bin/sh
mail /bin/sh
news /bin/sh
uucp /bin/sh
proxy /bin/sh
www-data /bin/sh
backup /bin/sh
list /bin/sh
irc /bin/sh
gnats /bin/sh
nobody /bin/sh
libuuid /bin/sh
user /bin/bash
ivan /bin/bash
15:48:09
#awk -F: '$7~/bash$/{print $1,$7}' passwd
root /bin/bash
user /bin/bash
ivan /bin/bash
15:48:15
#awk -F: '$7~/(ba|z)?sh$/{print $1,$7}' passwd
root /bin/bash
daemon /bin/sh
bin /bin/sh
sys /bin/sh
games /bin/sh
man /bin/sh
lp /bin/sh
mail /bin/sh
news /bin/sh
uucp /bin/sh
proxy /bin/sh
www-data /bin/sh
backup /bin/sh
list /bin/sh
irc /bin/sh
gnats /bin/sh
nobody /bin/sh
libuuid /bin/sh
user /bin/bash
ivan /bin/bash

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

/dev/pts/0
08:23:38
#cat ip.txt | egrep '^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'
192.168.12.2
176.58.13.223
10.1.10.40
8.8.8.8
192.168.0.254
10.1.124.1
08:25:18
#cat passwd | sed 's/bash$/zsh/'
root:x:0:0:root:/root:/bin/zsh
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/zsh
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
ivan:x:1001:1001::/home/ivan:/bin/zsh
08:26:11
#cat passwd | sed 's/(ba|z)?sh$/zsh/'
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
08:28:17
#awk --help
awk: not an option: --help
08:28:28
#help awk
l3script: help: no help topics match `awk'.  Try `help help' or `man -k awk' or `info awk'.
08:28:34
#man awk
08:34:04
#cat ip.txt
192.168.12.2
176.58.13.223
10.1.10.40
8.8.8.8
192.168.0.254
10.1.124.1
466.642.2.15
192.300.15.40
176.265.17.7
88.310.15.445
2.6.9
12.6.s.3
08:35:19
#cat ip.txt | tr . :
192:168:12:2
176:58:13:223
10:1:10:40
8:8:8:8
192:168:0:254
10:1:124:1
466:642:2:15
192:300:15:40
176:265:17:7
88:310:15:445
2:6:9
12:6:s:3
08:36:03
#cat ip.txt | tr 8 Hello
192.16H.12.2
176.5H.13.223
10.1.10.40
H.H.H.H
192.16H.0.254
10.1.124.1
466.642.2.15
192.300.15.40
176.265.17.7
HH.310.15.445
2.6.9
12.6.s.3
08:36:27
#cat ip.txt | tr 8 'Hello'
192.16H.12.2
176.5H.13.223
10.1.10.40
H.H.H.H
192.16H.0.254
10.1.124.1
466.642.2.15
192.300.15.40
176.265.17.7
HH.310.15.445
2.6.9
12.6.s.3
08:36:32
#cat ip.txt | tr .1 YO
O92YO68YO2Y2
O76Y58YO3Y223
O0YOYO0Y40
8Y8Y8Y8
O92YO68Y0Y254
O0YOYO24YO
466Y642Y2YO5
O92Y300YO5Y40
O76Y265YO7Y7
88Y3O0YO5Y445
2Y6Y9
O2Y6YsY3
08:37:00
#cat ip.txt | tr .
tr: пропущен операнд после «.»
При преобразовании необходимо задать две строки.
Попробуйте «tr --help» для получения более подробного описания.
08:37:24
#cat ip.txt | tr -d .
192168122
1765813223
1011040
8888
1921680254
1011241
466642215
1923001540
176265177
8831015445
269
126s3
08:37:38
#cat ip.txt | tr -s 0
192.168.12.2
176.58.13.223
10.1.10.40
8.8.8.8
192.168.0.254
10.1.124.1
466.642.2.15
192.30.15.40
176.265.17.7
88.310.15.445
2.6.9
12.6.s.3
08:38:02
#cat ip.txt | tr -s 0
192.168.12.2
176.58.13.223
10.1.10.40
8.8.8.8
192.168.0.254
10.1.124.1
466.642.2.15
192.30.15.40
176.265.17.7
88.310.15.445
2.6.9
12.6.s.3
08:38:06
#cat ip.txt
192.168.12.2
176.58.13.223
10.1.10.40
8.8.8.8
192.168.0.254
10.1.124.1
466.642.2.15
192.300.15.40
176.265.17.7
88.310.15.445
2.6.9
12.6.s.3
08:38:10
#cat ip.txt | tr -s '\n'
192.168.12.2
176.58.13.223
10.1.10.40
8.8.8.8
192.168.0.254
10.1.124.1
466.642.2.15
192.300.15.40
176.265.17.7
88.310.15.445
2.6.9
12.6.s.3
08:40:13
#vi ip.txt
--- /tmp/l3-saved-11433.23343.3361	2017-11-29 09:40:21.650847218 +0200
+++ ip.txt	2017-11-29 09:40:41.226852299 +0200
@@ -1,12 +1,21 @@
 192.168.12.2
 176.58.13.223
+
 10.1.10.40
+
+
+
+
 8.8.8.8
 192.168.0.254
 10.1.124.1
+
+
+
 466.642.2.15
 192.300.15.40
 176.265.17.7
 88.310.15.445
+
 2.6.9
 12.6.s.3
08:40:41
#cat ip.txt | tr -s '\n'
192.168.12.2
176.58.13.223
10.1.10.40
8.8.8.8
192.168.0.254
10.1.124.1
466.642.2.15
192.300.15.40
176.265.17.7
88.310.15.445
2.6.9
12.6.s.3
08:40:53
#cat ip.txt
192.168.12.2
176.58.13.223
10.1.10.40
8.8.8.8
192.168.0.254
10.1.124.1
466.642.2.15
192.300.15.40
176.265.17.7
88.310.15.445
2.6.9
12.6.s.3
08:40:56
#cat ip.txt | tr -s \\n
192.168.12.2
176.58.13.223
10.1.10.40
8.8.8.8
192.168.0.254
10.1.124.1
466.642.2.15
192.300.15.40
176.265.17.7
88.310.15.445
2.6.9
12.6.s.3
08:41:06
#echo \\\\
\\
08:41:47
#cat install
#!/bin/sh
hostname=`hostname`
uname -a | egrep -qi '(freebsd|darwin)' || hostname=`hostname -f`
###############################################################################
#
# Set this variables before installation:
lilalo_user=13-10-2014
lab=NT-LNet
install_l3bashrc_for_this_users=${users:-"root user"}  # users who will use l3agent and l3script
lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
...
step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
step "Adding l3-agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_l3bashrc_for_this_users
cd /
rm -rf ${temp_dir}
show_final_message
Втр Ноя 28 13:48:43 EET 2017
Втр Ноя 28 13:52:26 EET 2017
08:43:09
#cat install | tr [:lower:] [:upper:]
#!/BIN/SH
HOSTNAME=`HOSTNAME`
UNAME -A | EGREP -QI '(FREEBSD|DARWIN)' || HOSTNAME=`HOSTNAME -F`
###############################################################################
#
# SET THIS VARIABLES BEFORE INSTALLATION:
LILALO_USER=13-10-2014
LAB=NT-LNET
INSTALL_L3BASHRC_FOR_THIS_USERS=${USERS:-"ROOT USER"}  # USERS WHO WILL USE L3AGENT AND L3SCRIPT
LILALO_CONTEXT="/USERS/${LILALO_USER}/${LAB}/${HOSTNAME}"
...
STEP "DOWNLOADING PERL MODULES FOR L3-AGENT" '{ FOR I IN ${PERL_MODULES}; DO ${WGET} ${URL_PERL_MODULES}/$I.TAR.GZ; DONE; }'
STEP "INSTALLING PERL MODULES FOR L3-AGENT" '{ FOR I IN ${PERL_MODULES}; DO TAR XVFZ $I.TAR.GZ; CD $I*[^Z]; PERL MAKEFILE.PL; MAKE; MAKE INSTALL; CD ..; DONE; }'
STEP "INSTALLING L3BASHRC TO USERS HOME DIRECTORIES" INSTALL_TO_USERS_HOMES $INSTALL_L3BASHRC_FOR_THIS_USERS
STEP "ADDING L3BASHRC INVOCATION TO ~/.BASHRC " INSTALL_TO_USERS_BASHRC $INSTALL_L3BASHRC_FOR_THIS_USERS
STEP "ADDING L3-AGENT INVOCATION TO ~/.BASH_PROFILE " INSTALL_TO_USERS_BASH_PROFILE $INSTALL_L3BASHRC_FOR_THIS_USERS
CD /
RM -RF ${TEMP_DIR}
SHOW_FINAL_MESSAGE
Втр Ноя 28 13:48:43 EET 2017
Втр Ноя 28 13:52:26 EET 2017
08:44:08
#cat install | tr -d [:punct:]
binsh
hostnamehostname
uname a  egrep qi freebsddarwin  hostnamehostname f
 Set this variables before installation
lilalouser13102014
labNTLNet
installl3bashrcforthisusersusersroot user   users who will use l3agent and l3script
lilalocontextuserslilalouserlabhostname
lilalorcl3rc
lilalohomelilalo
...
step Downloading perl modules for l3agent  for i in perlmodules do wget urlperlmodulesitargz done
step Installing perl modules for l3agent  for i in perlmodules do tar xvfz itargz cd iz perl MakefilePL make make install cd  done
step Installing l3bashrc to users home directories installtousershomes installl3bashrcforthisusers
step Adding l3bashrc invocation to bashrc  installtousersbashrc installl3bashrcforthisusers
step Adding l3agent invocation to bashprofile  installtousersbashprofile installl3bashrcforthisusers
cd
rm rf tempdir
showfinalmessage
Втр Ноя 28 134843 EET 2017
Втр Ноя 28 135226 EET 2017
08:44:25
#cat install | tr [:lower:] [:upper:] | tr [:punct:] ' ' | tr -s ' '
 BIN SH
HOSTNAME HOSTNAME
UNAME A EGREP QI FREEBSD DARWIN HOSTNAME HOSTNAME F
 SET THIS VARIABLES BEFORE INSTALLATION
LILALO USER 13 10 2014
LAB NT LNET
INSTALL L3BASHRC FOR THIS USERS USERS ROOT USER USERS WHO WILL USE L3AGENT AND L3SCRIPT
LILALO CONTEXT USERS LILALO USER LAB HOSTNAME
LILALO RC L3RC
LILALO HOME LILALO
...
STEP DOWNLOADING PERL MODULES FOR L3 AGENT FOR I IN PERL MODULES DO WGET URL PERL MODULES I TAR GZ DONE
STEP INSTALLING PERL MODULES FOR L3 AGENT FOR I IN PERL MODULES DO TAR XVFZ I TAR GZ CD I Z PERL MAKEFILE PL MAKE MAKE INSTALL CD DONE
STEP INSTALLING L3BASHRC TO USERS HOME DIRECTORIES INSTALL TO USERS HOMES INSTALL L3BASHRC FOR THIS USERS
STEP ADDING L3BASHRC INVOCATION TO BASHRC INSTALL TO USERS BASHRC INSTALL L3BASHRC FOR THIS USERS
STEP ADDING L3 AGENT INVOCATION TO BASH PROFILE INSTALL TO USERS BASH PROFILE INSTALL L3BASHRC FOR THIS USERS
CD
RM RF TEMP DIR
SHOW FINAL MESSAGE
Втр Ноя 28 13 48 43 EET 2017
Втр Ноя 28 13 52 26 EET 2017
08:46:09
#cat install | tr -cd [:punct:]

08:46:12
#cat install | tr -cd space:]
0000000   10   10   10   32   32   32   32   32   32   32   32   10   10   10   10   32
0000020   32   32   32   32   10   10   10   10   32   32   32   32   32   32   32   32
0000040   32   32   10   10   10   10   10   10   10   10   10   10   10   10   10   10
0000060   10   10   32   10   10   32   32   32   32   10   10   10   32   32   32   32
0000100   32   32   32   10   10   10   10   10   10   10   10   10   32   32   32   32
0000120   32   10   32   32   32   32   32   32   32   32   10   32   32   32   32   32
0000140   10   32   32   32   32   32   32   32   32   32   32   32   10   32   32   32
0000160   32   10   32   32   32   32   32   32   32   32   32   32   32   32   32   10
0000200   32   32   32   32   32   32   32   32   32   10   32   32   32   32   32   32
0000220   32   32   32   32   32   32   32   32   10   32   32   32   32   32   32   32
...
0001560   32   32   32   10   32   10   10   32   32   32   32   32   32   10   10   10
0001600   10   10   10   10   32   32   10   32   10   32   32   32   10   32   32   32
0001620   32   32   10   32   32   32   32   32   10   32   32   32   32   32   32   32
0001640   32   10   32   32   32   32   32   32   32   32   32   32   32   32   32   32
*
0001700   32   32   32   32   32   32   32   32   32   32   32   10   32   32   32   32
0001720   32   32   32   32   10   32   32   32   32   32   32   32   32   10   32   32
0001740   32   32   32   32   32   32   10   32   10   32   32   10   10   10   10   32
0001760   32   32   32   32   10   32   32   32   32   32   10
0001773
08:47:25
#cat install | tr -cd [:space:] | od -txC
0000000 0a 0a 0a 20 20 20 20 20 20 20 20 0a 0a 0a 0a 20
0000020 20 20 20 20 0a 0a 0a 0a 20 20 20 20 20 20 20 20
0000040 20 20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a
0000060 0a 0a 20 0a 0a 20 20 20 20 0a 0a 0a 20 20 20 20
0000100 20 20 20 0a 0a 0a 0a 0a 0a 0a 0a 0a 20 20 20 20
0000120 20 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20
0000140 0a 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20
0000160 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 0a
0000200 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20
0000220 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20
...
0001560 20 20 20 0a 20 0a 0a 20 20 20 20 20 20 0a 0a 0a
0001600 0a 0a 0a 0a 20 20 0a 20 0a 20 20 20 0a 20 20 20
0001620 20 20 0a 20 20 20 20 20 0a 20 20 20 20 20 20 20
0001640 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20
*
0001700 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20
0001720 20 20 20 20 0a 20 20 20 20 20 20 20 20 0a 20 20
0001740 20 20 20 20 20 20 0a 20 0a 20 20 0a 0a 0a 0a 20
0001760 20 20 20 20 0a 20 20 20 20 20 0a
0001773
08:47:37
#cat install | tr -cd [:space:] | od -toC
0000000 012 012 012 040 040 040 040 040 040 040 040 012 012 012 012 040
0000020 040 040 040 040 012 012 012 012 040 040 040 040 040 040 040 040
0000040 040 040 012 012 012 012 012 012 012 012 012 012 012 012 012 012
0000060 012 012 040 012 012 040 040 040 040 012 012 012 040 040 040 040
0000100 040 040 040 012 012 012 012 012 012 012 012 012 040 040 040 040
0000120 040 012 040 040 040 040 040 040 040 040 012 040 040 040 040 040
0000140 012 040 040 040 040 040 040 040 040 040 040 040 012 040 040 040
0000160 040 012 040 040 040 040 040 040 040 040 040 040 040 040 040 012
0000200 040 040 040 040 040 040 040 040 040 012 040 040 040 040 040 040
0000220 040 040 040 040 040 040 040 040 012 040 040 040 040 040 040 040
...
0001560 040 040 040 012 040 012 012 040 040 040 040 040 040 012 012 012
0001600 012 012 012 012 040 040 012 040 012 040 040 040 012 040 040 040
0001620 040 040 012 040 040 040 040 040 012 040 040 040 040 040 040 040
0001640 040 012 040 040 040 040 040 040 040 040 040 040 040 040 040 040
*
0001700 040 040 040 040 040 040 040 040 040 040 040 012 040 040 040 040
0001720 040 040 040 040 012 040 040 040 040 040 040 040 040 012 040 040
0001740 040 040 040 040 040 040 012 040 012 040 040 012 012 012 012 040
0001760 040 040 040 040 012 040 040 040 040 040 012
0001773
08:47:40
#cat install | tr -cd [:space:] | hexdump -C
00000000  0a 0a 0a 20 20 20 20 20  20 20 20 0a 0a 0a 0a 20  |...        .... |
00000010  20 20 20 20 0a 0a 0a 0a  20 20 20 20 20 20 20 20  |    ....        |
00000020  20 20 0a 0a 0a 0a 0a 0a  0a 0a 0a 0a 0a 0a 0a 0a  |  ..............|
00000030  0a 0a 20 0a 0a 20 20 20  20 0a 0a 0a 20 20 20 20  |.. ..    ...    |
00000040  20 20 20 0a 0a 0a 0a 0a  0a 0a 0a 0a 20 20 20 20  |   .........    |
00000050  20 0a 20 20 20 20 20 20  20 20 0a 20 20 20 20 20  | .        .     |
00000060  0a 20 20 20 20 20 20 20  20 20 20 20 0a 20 20 20  |.           .   |
00000070  20 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 0a  | .             .|
00000080  20 20 20 20 20 20 20 20  20 0a 20 20 20 20 20 20  |         .      |
00000090  20 20 20 20 20 20 20 20  0a 20 20 20 20 20 20 20  |        .       |
...
00000370  20 20 20 0a 20 0a 0a 20  20 20 20 20 20 0a 0a 0a  |   . ..      ...|
00000380  0a 0a 0a 0a 20 20 0a 20  0a 20 20 20 0a 20 20 20  |....  . .   .   |
00000390  20 20 0a 20 20 20 20 20  0a 20 20 20 20 20 20 20  |  .     .       |
000003a0  20 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | .              |
*
000003c0  20 20 20 20 20 20 20 20  20 20 20 0a 20 20 20 20  |           .    |
000003d0  20 20 20 20 0a 20 20 20  20 20 20 20 20 0a 20 20  |    .        .  |
000003e0  20 20 20 20 20 20 0a 20  0a 20 20 0a 0a 0a 0a 20  |      . .  .... |
000003f0  20 20 20 20 0a 20 20 20  20 20 0a                 |    .     .|
000003fb
08:48:10
#vi sshconn.sh
--- /dev/null	2017-11-24 15:18:56.455999975 +0200
+++ sshconn.sh	2017-11-29 09:51:53.222848680 +0200
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+ssh -P"123" ivan@192.168.13.5
08:51:53
#man ssh
08:53:02
#sshconn.sh
l3script: sshconn.sh: команда не найдена
08:53:14
#man bg
08:53:27
#cut -d: -f1,5 passwd
root:root
daemon:daemon
bin:bin
sys:sys
sync:sync
games:games
man:man
lp:lp
mail:mail
news:news
...
backup:backup
list:Mailing List Manager
irc:ircd
gnats:Gnats Bug-Reporting System (admin)
nobody:nobody
libuuid:
Debian-exim:
user:user,,,
sshd:
ivan:
08:57:52
#cut -d: -f1 passwd
root
daemon
bin
sys
sync
games
man
lp
mail
news
...
backup
list
irc
gnats
nobody
libuuid
Debian-exim
user
sshd
ivan

Файлы

  • install
  • ip.txt
  • passwd
  • prox.txt
  • install
    >
    #!/bin/sh
    hostname=`hostname`
    uname -a | egrep -qi '(freebsd|darwin)' || hostname=`hostname -f`
    ###############################################################################
    #
    # Set this variables before installation:
    lilalo_user=13-10-2014
    lab=NT-LNet
    install_l3bashrc_for_this_users=${users:-"root user"}  # users who will use l3agent and l3script
    lilalo_context="/users/${lilalo_user}/${lab}/${hostname}"
    #
    ###############################################################################
    lilalo_rc=.l3rc
    lilalo_home=.lilalo
    url_lilalo="http://xgu.ru/lilalo"
    url_l3bashrc="${url_lilalo}"/l3bashrc
    url_l3agent="${url_lilalo}"/l3-agent
    url_l3config_pm="${url_lilalo}"/l3config.pm
    url_l3config="${url_lilalo}"/l3-config
    url_l3prompt="${url_lilalo}"/l3prompt
    url_perl_modules=${url_lilalo}/
    perl_modules="Term-VT102 Text-Iconv"
    apt_get_install_this="perl make libmodule-build-perl libc6-dev gcc"
    wget=wget
    uname -a | egrep -qi '(bsd|darwin)' && wget=fetch
    normC='\033[0;39m'
    whiteC='\033[1;37m'
    redC='\033[0;31m'
    greenC='\033[0;32m'
    apt_get_install_deps()
    {
        return 0
        if which apt-get >& /dev/null
        then
            apt-get install -y $apt_get_install_this
        else
            echo "Please install this dependencies manually:"
            echo $apt_get_install_this
            echo "Have you installed this already (y/n)?"
            echo y | read answer
            if echo $answer | grep -q ^[yY]
            then
                true
            else
                echo Please install the dependencies and rerun the script
                exit 1
            fi
        fi
    }
    step()
    {
        msg="$1"
        shift
        printf "${whiteC}""$msg""...${normC}\n"
    #    eval "$@" 2>&1 | sed 's/^/|\ \ \ /' && printf "Ok\n" || printf "Failed\n"
        eval "$@" 2>&1 > log 2>&1 && \
        {
              cat log | sed 's/^/|\ \ \ /'
              printf "${greenC}""Ok\n""${normC}"
        } || \
        {
            cat log | sed 's/^/|\ \ \ /'
            printf "${redC}""Failed\n""${normC}"
        }
    }
    get_user_home()
    {
        uname -a | egrep -qi '(freebsd|darwin)' && pw user show "$@"| awk -F: '{print $9}' || getent passwd "$@"| awk -F: '{print $6}'
    }
    install_to_users_homes()
    {
        . l3bashrc
        users="$@"
        set -x
        for user in $users
        do
            user_home=`get_user_home "$user"`
            mkdir -p ${user_home}/${lilalo_home}
            mkdir /etc/lilalo/
            cp l3config.pm /etc/lilalo/
            cp l3-agent /usr/local/bin
            cp l3-config /usr/local/bin
            ln -s `which bash` /usr/local/bin/l3script
            chmod 755 /usr/local/bin/l3-{agent,config}
            cp l3bashrc ${user_home}/${lilalo_home}
            cp l3prompt ${user_home}/${lilalo_home}
            chmod 755 ${user_home}/${lilalo_home}/l3prompt
            chown -R $user ${user_home}/${lilalo_home}
            echo l3cd=${lilalo_context}/$user > ${user_home}/${lilalo_rc}
            chown -R $user ${user_home}/${lilalo_rc}
        done
        set +x
    }
    install_to_users_bashrc()
    {
        users="$@"
        for user in $users
        do
            user_home=`get_user_home "$user"`
            grep -q lilalo ${user_home}/.bashrc 2> /dev/null\
            || echo "[ \$0 == l3script ] && . ${user_home}/.lilalo/l3bashrc && _l3_start" >> ${user_home}/.bashrc; chown -R ${user} ${user_home}/.bashrc
        done
    }
    install_to_users_bash_profile()
    {
        users="$@"
        for user in $users
        do
            user_home=`get_user_home "$user"`
            grep -q l3-agent ${user_home}/.bash_profile 2> /dev/null \
            || { echo >> ${user_home}/.bash_profile ; cat ${user_home}/.bash_profile | sed '1s/^/l3-agentX/' | tr X '\n' > /tmp/$$$$l3 ; mv /tmp/$$$$l3 ${user_home}/.bash_profile; chown -R ${user} ${user_home}/.bash_profile; }
        done
    }
    show_usage()
    {
        cat <<USAGE
    Usage:
        $0
    USAGE
    }
    show_final_message()
    {
        cat <<FINAL_MESSAGE
    Installation is successfully completed.
    Now restart your shell or relogin
    to start script writing.
    Your current lilalo context is ${lilalo_context}/USER
    If you use xgu.ru backend, your labs will be available at
    http://xgu.ru/l3/${lilalo_context}
    Use commands
     $ l3cd ${lilalo_context%/*/*}/MY-NEW-CONTEXT/${hostname}/USER
     $ l3pwd
    to change and to know your current context.
    For further information see http://xgu.ru/lilalo/ (in Russian).
    Thank you gor using LiLaLo.
    Happy Labbing!
    (don't forget to restart bash or relogin)
    FINAL_MESSAGE
    }
    temp_dir=/tmp/lilalo-install-temp-$$
    mkdir -p ${temp_dir}
    cd ${temp_dir}
    step "Installing dependencies" apt_get_install_deps
    step "Downloading l3bashrc" ${wget} ${url_l3bashrc}
    step "Downloading l3prompt" ${wget} ${url_l3prompt}
    step "Downloading l3-agent" '${wget} ${url_l3agent}; ${wget} ${url_l3config_pm}; ${wget} ${url_l3config}'
    step "Downloading perl modules for l3-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }'
    step "Installing perl modules for l3-agent" '{ for i in ${perl_modules}; do tar xvfz $i.tar.gz; cd $i*[^z]; perl Makefile.PL; make; make install; cd ..; done; }'
    step "Installing l3bashrc to users home directories" install_to_users_homes $install_l3bashrc_for_this_users
    step "Adding l3bashrc invocation to ~/.bashrc " install_to_users_bashrc $install_l3bashrc_for_this_users
    step "Adding l3-agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_l3bashrc_for_this_users
    cd /
    rm -rf ${temp_dir}
    show_final_message
    Втр Ноя 28 13:48:43 EET 2017
    Втр Ноя 28 13:52:26 EET 2017
    
    ip.txt
    >
    192.168.12.2
    176.58.13.223
    10.1.10.40
    8.8.8.8
    192.168.0.254
    10.1.124.1
    466.642.2.15
    192.300.15.40
    176.265.17.7
    88.310.15.445
    2.6.9
    12.6.s.3
    
    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
    
    prox.txt
    >
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    user      3551  0.2  2.0  47912 10564 ?        Ss   Ноя27   3:25 l3-agent
    root      3443  0.2  2.0  47688 10420 ?        Ss   Ноя27   3:57 l3-agent
    root      7894  0.0  0.7  71288  3684 ?        Ss   10:59   0:00 sshd: root@pts/5
    root      7467  0.0  0.7  71288  3680 ?        Ss   10:07   0:00 sshd: root@pts/0
    root      7701  0.0  0.7  71288  3608 ?        Ss   10:19   0:00 sshd: ivan [priv]
    root      6814  0.0  0.7  71288  3608 ?        Ss   09:17   0:00 sshd: user [priv]
    ivan      7704  0.0  0.6  22600  3196 pts/4    Ss+  10:19   0:00 -bash
    user      6817  0.0  0.5  22180  2872 pts/2    Ss   09:17   0:00 -bash
    user      6934  0.0  0.5  22180  2796 pts/3    Ss+  09:17   0:00 l3script
    root      7896  0.0  0.5  22168  2856 pts/5    Ss   10:59   0:00 -bash
    

    Статистика

    Время первой команды журнала12:54:11 2017-11-28
    Время последней команды журнала08:57:52 2017-11-29
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %19.80
    Процент синтаксически неверно набранных команд, % 0.99
    Суммарное время работы с терминалом *, час 1.82
    Количество командных строк в единицу времени, команда/мин 0.92
    Частота использования команд
    cat70|=========================| 25.93%
    tr19|=======| 7.04%
    egrep17|======| 6.30%
    grep15|=====| 5.56%
    '12|====| 4.44%
    nl11|====| 4.07%
    [0-9]{2}11|====| 4.07%
    1[0-9]{2}11|====| 4.07%
    2[0-4][0-9]11|====| 4.07%
    awk10|===| 3.70%
    sed8|==| 2.96%
    25[0-5])\.){3}([0-9]8|==| 2.96%
    ps7|==| 2.59%
    sort6|==| 2.22%
    25[0-5])&5|=| 1.85%
    ls4|=| 1.48%
    head4|=| 1.48%
    man3|=| 1.11%
    25[0-5])$'3|=| 1.11%
    vi3|=| 1.11%
    od2|| 0.74%
    &2|| 0.74%
    cut2|| 0.74%
    +'2|| 0.74%
    =10002|| 0.74%
    tee2|| 0.74%
    Частота использования этих команд < 0.5%$3<1 , cp1 , hexdump1 , {2}'1 , rm1 , echo1 , help1 , {3}'1 , 25[0-5]))&1 , 25[0-5])\.)&1 , {1,2}'1 , ?'1 , xargs1 , .+>1 , {print1 , 25[0-5])\.){3}&1 , sshconn.sh1 , chattr1 , =1 , 25[0-5])\.{3}([0-9]1
    ____
    *) Интервалы неактивности длительностью 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$