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

Содержание

Журнал

Понедельник (02/22/21)

/dev/pts/0
08:20:16
#ls
install

Вторник (02/23/21)

/dev/pts/0
09:04:03
#echo $HISTSIZE
2000
09:04:28
#echo $HISTFILESIZE
2000
09:04:38
#cd /etc/skel/

09:09:09
#ls -a
.  ..  .bash_logout  .bashrc  .profile
09:09:22
#vi .bashrc
--- /tmp/l3-saved-5730.19229.5047	2021-02-23 10:09:49.992081154 +0200
+++ .bashrc	2021-02-23 10:10:09.252084306 +0200
@@ -16,8 +16,8 @@
 shopt -s histappend
 
 # for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
-HISTSIZE=1000
-HISTFILESIZE=2000
+#HISTSIZE=1000
+#HISTFILESIZE=2000
 
 # check the window size after each command and, if necessary,
 # update the values of LINES and COLUMNS.
09:10:09
#pwd
/etc/skel
прошло >4 часов
13:21:30
#cd

13:21:34
#pwd
/root
13:21:37
#vi ip.txt
--- /dev/null	2021-02-19 10:15:11.975999990 +0200
+++ ip.txt	2021-02-23 14:24:28.820100599 +0200
@@ -0,0 +1,11 @@
+5.6.7.90
+23.56.4.34
+12.37.54.7
+127.5.7.89
+192.168.1.7
+156.76.3.4
+192.168.0.4
+3.55.65.43
+10.81.2.23
+54.6.78.890
+
13:24:28
#cat ip.txt
5.6.7.90
23.56.4.34
12.37.54.7
127.5.7.89
192.168.1.7
156.76.3.4
192.168.0.4
3.55.65.43
10.81.2.23
54.6.78.890
13:24:41
#cat ip.txt | grep '^3'
3.55.65.43
прошло 24 минуты
13:48:58
#cat ip.txt | grep '^[0-9]'
5.6.7.90
23.56.4.34
12.37.54.7
127.5.7.89
192.168.1.7
156.76.3.4
192.168.0.4
3.55.65.43
10.81.2.23
54.6.78.890
13:49:19
#cat ip.txt | grep '^[0-9]{2}'

13:50:18
#cat ip.txt | egrep '^[0-9]{2}'
23.56.4.34
12.37.54.7
127.5.7.89
192.168.1.7
156.76.3.4
192.168.0.4
10.81.2.23
54.6.78.890
13:51:06
#cat ip.txt | egrep '^[0-9]{2}.'
23.56.4.34
12.37.54.7
127.5.7.89
192.168.1.7
156.76.3.4
192.168.0.4
10.81.2.23
54.6.78.890
13:51:50
#cat ip.txt | egrep '^[0-9]{2}\.'
23.56.4.34
12.37.54.7
10.81.2.23
54.6.78.890
13:52:43
#cat ip.txt | egrep '^[0-9]{21}\.'

13:53:02
#cat ip.txt | egrep '^[0-9]{1}\.'
5.6.7.90
3.55.65.43
13:53:06
#cat ip.txt | egrep '^[0-9]{1,2}\.'
5.6.7.90
23.56.4.34
12.37.54.7
3.55.65.43
10.81.2.23
54.6.78.890
13:53:18
#cat ip.txt | egrep '^[0-9]{1,2}\.{1}[0-9]'
5.6.7.90
23.56.4.34
12.37.54.7
3.55.65.43
10.81.2.23
54.6.78.890
14:02:46
#cat ip.txt | egrep '^((0-9{1,2}|1[0-9{2}|2[0-4][0-9]|25[0-5])\.)$'{3}(0-9{1,2}|1[0-9{2}|2[0-4][0-9]|25[0-5])\.)$'
l3script: syntax error near unexpected token `('
14:03:29
#cat ip.txt | egrep '^((0-9{1,2}|1[0-9{2}|2[0-4][0-9]|25[0-5])\.'{3}(0-9{1,2}|1[0-9{2}|2[0-4][0-9]|25[0-5])\.)$'
l3script: syntax error near unexpected token `('
14:04:39
#cat ip.txt | egrep '^((0-9{1,2}|1[0-9{2}|2[0-4][0-9]|25[0-5])\.'{3}(0-9{1,2}|1[0-9{2}|2[0-4][0-9]|25[0-5])$'
l3script: syntax error near unexpected token `('
14:05:07
#cat ip.txt | egrep '^((0-9{1,2}|1[0-9{2}|2[0-4][0-9]|25[0-5])\'{3}(0-9{1,2}|1[0-9{2}|2[0-4][0-9]|25[0-5])$'
l3script: syntax error near unexpected token `('
14:05:46
#cat ip.txt | egrep '^((0-9{1,2}|1[0-9{2}|2[0-4][0-9]|25[0-5])\.{3}(0-9{1,2}|1[0-9{2}|2[0-4][0-9]|25[0-5])$'
egrep: Непарная ( или \(
14:05:57
#cat ip.txt | egrep '^((0-9{1,2}|1[0-9{2}|2[0-4][0-9]|25[0-5])\.){3}(0-9{1,2}|1[0-9{2}|2[0-4][0-9]|25[0-5])$'

14:10:41
#cat /etc/paswd
cat: /etc/paswd: Нет такого файла или каталога
14:12:54
#cat/etc/paswd
l3script: cat/etc/paswd: Нет такого файла или каталога
14:12:59
#cat/etc/passwd
l3script: cat/etc/passwd: Нет такого файла или каталога
14:13:07
#cat /etc/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
...
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
pasha:x:1001:1001::/home/pasha:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
14:13:12
#cat /etc/passwd | awk -F: '$7~/bash$/'
root:x:0:0:root:/root:/bin/bash
user:x:1000:1000:user,,,:/home/user:/bin/bash
pasha:x:1001:1001::/home/pasha:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
14:16:26
#cat /etc/passwd | sed -n '/bash$/p'
root:x:0:0:root:/root:/bin/bash
user:x:1000:1000:user,,,:/home/user:/bin/bash
pasha:x:1001:1001::/home/pasha:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
14:17:35
#`
> ~
> l3script: unexpected EOF while looking for matching ``'
l3script: ошибка синтаксиса: неожиданный конец файла
14:18:51
#`
~                 cat /etc/passwd | sed -n '/bash$/p'
root:x:0:0:root:/root:/bin/bash
user:x:1000:1000:user,,,:/home/user:/bin/bash
pasha:x:1001:1001::/home/pasha:/bin/bash
petr:x:1002:1002::/home/petr:/bin/bash
14:19:03
#cd

14:19:27
#cd l3script
l3script: cd: l3script: Нет такого файла или каталога
14:19:52
#cd l3scripts
l3script: cd: l3scripts: Нет такого файла или каталога
14:20:00
#who
root     pts/0        2021-02-23 10:03 (192.168.15.12)
pasha    pts/2        2021-02-23 10:08 (192.168.15.12)
user     pts/3        2021-02-23 12:59 (192.168.15.12)
14:22:55
#netstat -tn
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0    432 192.168.13.1:22         192.168.15.12:50887     ESTABLISHED
tcp        0      0 192.168.13.1:22         192.168.15.12:50890     ESTABLISHED
tcp        0      0 192.168.13.1:22         192.168.15.12:50963     ESTABLISHED
14:24:01
#netstat -tn | cut -f5
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0     64 192.168.13.1:22         192.168.15.12:50887     ESTABLISHED
tcp        0      0 192.168.13.1:22         192.168.15.12:50890     ESTABLISHED
tcp        0      0 192.168.13.1:22         192.168.15.12:50963     ESTABLISHED
14:24:58
#netstat -tn | awk '{print$5}'
servers)
Address
192.168.15.12:50887
192.168.15.12:50890
192.168.15.12:50963
14:25:47
#who
root     pts/0        2021-02-23 10:03 (192.168.15.12)
pasha    pts/2        2021-02-23 10:08 (192.168.15.12)
user     pts/3        2021-02-23 12:59 (192.168.15.12)
14:31:46
#cat install |
> cat install |
> cat install | cat install |
> l3script: ошибка синтаксиса: неожиданный конец файла
14:33:13
#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 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
14:33:22
#cat install | tr [
tr: пропущен операнд после «[»
При преобразовании необходимо задать две строки.
Попробуйте «tr --help» для получения более подробного описания.
14:33:38
#cat install | tr [:punct] ' '
#!/bi /sh
hos  ame=`hos  ame`
  ame -a | egre  -qi '(freebsd|darwi )' || hos  ame=`hos  ame -f`
###############################################################################
#
# Se   his variables before i s alla io
lilalo_ ser=13-10-2014
lab=NT-LNe
i s all_l3bashr _for_ his_ sers=${ sers -"roo   ser"}  #  sers who will  se l3age   a d l3s ri
lilalo_ o  ex ="/ sers/${lilalo_ ser}/${lab}/${hos  ame}"
...
s e  "Dow loadi g l3 rom  " ${wge } ${ rl_l3 rom  }
s e  "Dow loadi g l3-age  " '${wge } ${ rl_l3age  }; ${wge } ${ rl_l3 o fig_ m}; ${wge } ${ rl_l3 o fig}'
s e  "Dow loadi g  erl mod les for l3-age  " '{ for i i  ${ erl_mod les}; do ${wge } ${ rl_ erl_mod les}/$i. ar.gz; do e; }'
s e  "I s alli g  erl mod les for l3-age  " '{ for i i  ${ erl_mod les}; do  ar xvfz $i. ar.gz;  d $i* ^z ;  erl Makefile.PL; make; make i s all;  d ..; do e; }'
s e  "I s alli g l3bashr   o  sers home dire  ories" i s all_ o_ sers_homes $i s all_l3bashr _for_ his_ sers
s e  "Addi g l3bashr  i vo a io   o ~/.bashr  " i s all_ o_ sers_bashr  $i s all_l3bashr _for_ his_ sers
s e  "Addi g l3-age   i vo a io   o ~/.bash_ rofile " i s all_ o_ sers_bash_ rofile $i s all_l3bashr _for_ his_ sers
 d /
rm -rf ${ em _dir}
show_fi al_message
14:34:19
#cat install | tr [:punct] ' ' | tr -d [:digital:] | tr -s ' '
tr: неверный класс символов «digital»
14:35:29
#cat install | tr [:punct] ' ' | tr -d [:digit:] | tr -s ' '
#!/bi /sh
hos ame=`hos ame`
 ame -a | egre -qi '(freebsd|darwi )' || hos ame=`hos ame -f`
###############################################################################
#
# Se his variables before i s alla io
lilalo_ ser=--
lab=NT-LNe
i s all_lbashr _for_ his_ sers=${ sers -"roo ser"} # sers who will se lage a d ls ri
lilalo_ o ex ="/ sers/${lilalo_ ser}/${lab}/${hos ame}"
...
s e "Dow loadi g l rom " ${wge } ${ rl_l rom }
s e "Dow loadi g l-age " '${wge } ${ rl_lage }; ${wge } ${ rl_l o fig_ m}; ${wge } ${ rl_l o fig}'
s e "Dow loadi g erl mod les for l-age " '{ for i i ${ erl_mod les}; do ${wge } ${ rl_ erl_mod les}/$i. ar.gz; do e; }'
s e "I s alli g erl mod les for l-age " '{ for i i ${ erl_mod les}; do ar xvfz $i. ar.gz; d $i* ^z ; erl Makefile.PL; make; make i s all; d ..; do e; }'
s e "I s alli g lbashr o sers home dire ories" i s all_ o_ sers_homes $i s all_lbashr _for_ his_ sers
s e "Addi g lbashr i vo a io o ~/.bashr " i s all_ o_ sers_bashr $i s all_lbashr _for_ his_ sers
s e "Addi g l-age i vo a io o ~/.bash_ rofile " i s all_ o_ sers_bash_ rofile $i s all_lbashr _for_ his_ sers
 d /
rm -rf ${ em _dir}
show_fi al_message
14:35:39
#cat install | tr [:punct] ' ' | tr -d [:digit:] | tr -s ' ' | tr ' ' '
> l3script: unexpected EOF while looking for matching `''
l3script: ошибка синтаксиса: неожиданный конец файла
14:36:04
#cat install | tr [:punct] ' ' | tr -d [:digit:] | tr -s ' ' | tr ' ' '\n'
#!/bi
/sh
hos
ame=`hos
ame`
ame
-a
|
egre
-qi
...
sers
d
/
rm
-rf
${
em
_dir}
show_fi
al_message
14:36:18
#cat install | tr [:punct] ' ' | tr -d [:digit:] | tr -s ' ' | tr ' ' '\n' | tr [:lower:]
tr: пропущен операнд после «[:lower:]»
При преобразовании необходимо задать две строки.
Попробуйте «tr --help» для получения более подробного описания.
14:36:45
#cat install | tr [:punct] ' ' | tr -d [:digit:] | tr -s ' ' | tr ' ' '\n' | tr [:lower:] | soft | uniq |egrep '^.{3,}$'
tr: l3script: soft: команда не найдена
пропущен операнд после «[:lower:]»
При преобразовании необходимо задать две строки.
Попробуйте «tr --help» для получения более подробного описания.
14:38:05
#cat install | tr [:punct] ' ' | tr -d [:digit:] | tr -s ' ' | tr ' ' '\n' | tr [:lower:] | soft | uniq | egrep '^.{3,}$'
tr: l3script: soft: команда не найдена
пропущен операнд после «[:lower:]»
При преобразовании необходимо задать две строки.
Попробуйте «tr --help» для получения более подробного описания.
14:38:29
#cat install | tr [:punct] ' ' | tr -d [:digit:] | tr -s ' ' | tr ' ' '\n' | tr [:lower:] | soft | uniq | egrep '^.{3,}$'
l3script: soft: команда не найдена
tr: пропущен операнд после «[:lower:]»
При преобразовании необходимо задать две строки.
Попробуйте «tr --help» для получения более подробного описания.
14:39:05
#cat install | tr [:punct] ' ' | tr -d [:digit:] | tr -s ' ' | tr ' ' '\n' | tr [lower:] | soft | uniq | egrep '^.{3,}$'
l3script: soft: команда не найдена
tr: пропущен операнд после «[lower:]»
При преобразовании необходимо задать две строки.
Попробуйте «tr --help» для получения более подробного описания.
14:40:38
#cat install | tr [:punct] ' ' | tr -d [:digit:] | tr -s ' ' | tr ' ' '\n' | tr [:lower:] | soft | uniq | egrep '^.{3,}$'
l3script: soft: команда не найдена
tr: пропущен операнд после «[:lower:]»
При преобразовании необходимо задать две строки.
Попробуйте «tr --help» для получения более подробного описания.
14:40:56
#cat install | tr [:punct] ' ' | tr -d [:digit:] | tr -s ' ' | tr ' ' '\n' | tr [:upper:] [:lower:] | soft | uniq | egrep '^.{3,}$'
l3script: soft: команда не найдена
14:41:44
#cat install | tr [:punct] ' ' | tr -d [:digit:] | tr -s ' ' | tr ' ' '\n' | tr [:upper:] [:lower:] | sort | uniq | egrep '^.{3,}$'
="/
="${
-$$
..;
""${
"$@"
"$@"|
)?"
}/$
$}'
...
whi
`whi
"${whi
who
will
wri
x/'
//xg
xvfz
(y/
14:42:45
#ping google.com
ping: unknown host google.com

Среда (02/24/21)

07:48:09
#vi ?etc/resolv/conf
07:49:06
#~

07:49:28
#~
~
~
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
"/etc/resolv.conf" 3L, 59C записано
07:50:47
#vi /etc/resolv.conf
07:50:57
#~
PING google.com (172.217.20.14) 56(84) bytes of data.
64 bytes from ham02s13-in-f14.1e100.net (172.217.20.14): icmp_req=1 ttl=119 time=14.1 ms
64 bytes from bud02s28-in-f14.1e100.net (172.217.20.14): icmp_req=2 ttl=119 time=14.1 ms
64 bytes from bud02s28-in-f14.1e100.net (172.217.20.14): icmp_req=3 ttl=119 time=14.1 ms
64 bytes from bud02s28-in-f14.1e100.net (172.217.20.14): icmp_req=4 ttl=119 time=14.0 ms
64 bytes from ham02s13-in-f14.1e100.net (172.217.20.14): icmp_req=5 ttl=119 time=14.1 ms
64 bytes from ham02s13-in-f14.1e100.net (172.217.20.14): icmp_req=6 ttl=119 time=14.1 ms
64 bytes from ham02s13-in-f14.1e100.net (172.217.20.14): icmp_req=7 ttl=119 time=14.1 ms
^C
--- google.com ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6011ms
rtt min/avg/max/mdev = 14.077/14.146/14.194/0.160 ms
07:51:09
#ls
d2  f1  f2  f3  install  ip.txt
/dev/pts/0
07:53:36
#loca
local             locale            localedef         locale-gen        locate            locate.findutils
07:53:36
#locate.
l3script: locate.: команда не найдена
07:55:05
#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>.
07:55:07
#locate granata
/home/user/granata.jpg
07:55:20
#locate lpi
/home/user/lpi 1
/home/user/lpi 1/core
/home/user/lpi 1/LPI_101-101.pdf
/home/user/lpi 1/LPI_101-102.pdf
/home/user/lpi 1/LPI_101-103.pdf
/home/user/lpi 1/LPI_101-104.pdf
/home/user/lpi 1/LPI_101-110.pdf
/home/user/lpi 1/LPI_102-105.pdf
/home/user/lpi 1/LPI_102-106.pdf
/home/user/lpi 1/LPI_102-108.pdf
...
/home/user/lpi 2/LPI_202-205.pdf
/home/user/lpi 2/LPI_202-206.pdf
/home/user/lpi 2/LPI_202-207.pdf
/home/user/lpi 2/LPI_202-208.pdf
/home/user/lpi 2/LPI_202-210.pdf
/home/user/lpi 2/LPI_202-212.pdf
/home/user/lpi 2/LPI_202-214_inet.pdf
/usr/share/bash-completion/completions/alpine
/usr/share/terminfo/c/citoh-6lpi
/usr/share/terminfo/c/citoh-8lpi
07:55:43
#cd ~user

07:58:32
#/home/user/#
l3script: /home/user/#: Нет такого файла или каталога
07:58:54
#/home/user#
l3script: /home/user#: Нет такого файла или каталога
07:59:35
#ls
'echo backup | tr '[:lower:]' '[:upper:]' '                                 'echo pamyatka.pdf | tr '[:lower:]' '[:upper:]' '
'echo bigfile | tr '[:lower:]' '[:upper:]' '                                'echo perl | tr '[:lower:]' '[:upper:]' '
'echo bin | tr '[:lower:]' '[:upper:]' '                                    'echo press_any_key_to_continue.jpg | tr '[:lower:]' '[:upper:]' '
'echo file | tr '[:lower:]' '[:upper:]' '                                   'echo proj | tr '[:lower:]' '[:upper:]' '
'echo freebsd.jpg | tr '[:lower:]' '[:upper:]' '                            'echo python | tr '[:lower:]' '[:upper:]' '
'echo granata.jpg | tr '[:lower:]' '[:upper:]' '                            'echo scripting | tr '[:lower:]' '[:upper:]' '
'echo Light_Alloy_4.4.784_RC2_by_FAFNIR.exe | tr '[:lower:]' '[:upper:]' '  'echo sh | tr '[:lower:]' '[:upper:]' '
'echo lpi 1 | tr '[:lower:]' '[:upper:]' '                                  'echo sorted_passwd | tr '[:lower:]' '[:upper:]' '
'echo lpi 2 | tr '[:lower:]' '[:upper:]' '                                  'echo sorted | tr '[:lower:]' '[:upper:]' '
'echo man_smb_conf | tr '[:lower:]' '[:upper:]' '                           'echo source | tr '[:lower:]' '[:upper:]' '
'echo matrix.jpg | tr '[:lower:]' '[:upper:]' '                             'echo text | tr '[:lower:]' '[:upper:]' '
'echo names | tr '[:lower:]' '[:upper:]' '                                  'echo touchlist | tr '[:lower:]' '[:upper:]' '
'echo newfile | tr '[:lower:]' '[:upper:]' '                                'echo unsorted | tr '[:lower:]' '[:upper:]' '
'echo ogo.jpg | tr '[:lower:]' '[:upper:]' '                                'echo who.txt | tr '[:lower:]' '[:upper:]' '
07:59:42
#ls -d /etc/cron*
/etc/cron.d  /etc/cron.daily  /etc/cron.hourly  /etc/cron.monthly  /etc/crontab  /etc/cron.weekly
08:00:14
#cd

08:00:31
#cd ~user

08:00:51
#ls -d /etc/cron*
/etc/cron.d  /etc/cron.daily  /etc/cron.hourly  /etc/cron.monthly  /etc/crontab  /etc/cron.weekly
08:01:01
#cd /etc/cron.daily/

08:01:41
#ls
apt  aptitude  bsdmainutils  dpkg  exim4-base  locate  logrotate  man-db  passwd
08:02:07
#echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
08:03:02
#which locate
/usr/bin/locate
08:03:16
#vi locate
08:06:05
#! /bin/sh
apt  aptitude  bsdmainutils  dpkg  exim4-base  locate  logrotate  man-db  passwd
08:08:16
#cd

08:08:21
#cd

08:08:22
#/etc/cron.daly/locate
l3script: /etc/cron.daly/locate: Нет такого файла или каталога
08:08:42
#locate ip.txt
/usr/share/vim/vim73/doc/pi_gzip.txt
/usr/share/vim/vim73/doc/pi_zip.txt
08:08:59
#locate ip.txt
/usr/share/vim/vim73/doc/pi_gzip.txt
/usr/share/vim/vim73/doc/pi_zip.txt
08:09:52
#find /home -user user -mtime -1
/home/user
/home/user/'echo unsorted | tr '[:lower:]' '[:upper:]' '
/home/user/'echo names | tr '[:lower:]' '[:upper:]' '
/home/user/'echo names | tr '[:lower:]' '[:upper:]' '/A: \WINDOWS\SYSTEM32
/home/user/'echo names | tr '[:lower:]' '[:upper:]' '/A:\WINDOWS\SYSTEM32touch
/home/user/'echo names | tr '[:lower:]' '[:upper:]' '/o *Reilly
/home/user/'echo names | tr '[:lower:]' '[:upper:]' '/Queen "Live at Wembley '86"
/home/user/'echo names | tr '[:lower:]' '[:upper:]' '/one space
/home/user/'echo names | tr '[:lower:]' '[:upper:]' '/file with spaces at the name
/home/user/'echo names | tr '[:lower:]' '[:upper:]' '/o' Reilly
...
/home/user/.lilalo
/home/user/.lilalo/.report.dat
/home/user/.lilalo/1677911302795021220-1613980136.info
/home/user/.bash_history
/home/user/'echo sorted_passwd | tr '[:lower:]' '[:upper:]' '
/home/user/.lesshst
/home/user/'echo newfile | tr '[:lower:]' '[:upper:]' '
/home/user/'echo sorted | tr '[:lower:]' '[:upper:]' '
/home/user/'echo who.txt | tr '[:lower:]' '[:upper:]' '
/home/user/'echo file | tr '[:lower:]' '[:upper:]' '
08:19:07
#find . -emtpy -type f
find: unknown predicate `-emtpy'
08:19:28
#find . -empty -type f
./.aptitude/config
./.lilalo/187814021147906118-1614149616_1614150232_etc_cron.daily_locate.diff
./.lilalo/25885276861314229631-1614067443_1614149334_root_?etc_resolv_conf.diff
./.lilalo/23119324163069212524-1403867377_1403867394_root_.lilalo_l3bashrc.diff
./.lilalo/25885276861314229631-1614067443_1614149452_etc_resolv.conf.diff
./.lilalo/23119324163069212524-1403867377_1403867447_root_.l3rc.diff
./.lilalo/25885276861314229631-1614067443_1614149358_etc_resolv_conf.diff
./.lilalo/187814021147906118-1614149616_1614150321_etc_cron.daily_locate.diff
./f1
./f2
./f3
./d2/scripts/f3
08:21:08
#find . -maxdepth 1 -emtpy -type f -exec mv {} /tmp ;
find: unknown predicate `-emtpy'
08:21:43
#find . -maxdepth 1 -empty -type f -exec mv {} /tmp ;
find: отсутствует аргумент у `-exec'
08:22:03
#find . -maxdepth 1 -empty -type f -exec mv {} /tmp \;

08:22:18
#find . -maxdepth 1 -empty -type f | xargs -i mv -v {} /tmp

08:23:19
#>text

08:23:34
#>text

08:23:39
#tauch txt
l3script: tauch: команда не найдена

Файлы

  • /etc/passwd
  • install
  • ip.txt
  • /etc/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
    pasha:x:1001:1001::/home/pasha:/bin/bash
    petr:x:1002:1002::/home/petr:/bin/bash
    
    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
    
    ip.txt
    >
    5.6.7.90
    23.56.4.34
    12.37.54.7
    127.5.7.89
    192.168.1.7
    156.76.3.4
    192.168.0.4
    3.55.65.43
    10.81.2.23
    54.6.78.890
    

    Статистика

    Время первой команды журнала08:20:16 2021- 2-22
    Время последней команды журнала08:23:39 2021- 2-24
    Количество командных строк в журнале100
    Процент команд с ненулевым кодом завершения, %29.00
    Процент синтаксически неверно набранных команд, % 7.00
    Суммарное время работы с терминалом *, час 2.05
    Количество командных строк в единицу времени, команда/мин 0.81
    Частота использования команд
    cat37|====================| 20.33%
    egrep20|==========| 10.99%
    tr14|=======| 7.69%
    cd11|======| 6.04%
    uniq7|===| 3.85%
    find7|===| 3.85%
    ls7|===| 3.85%
    1[0-9{2}6|===| 3.30%
    2[0-4][0-9]6|===| 3.30%
    soft6|===| 3.30%
    locate5|==| 2.75%
    vi5|==| 2.75%
    25[0-5])$'4|==| 2.20%
    echo3|=| 1.65%
    netstat3|=| 1.65%
    ~3|=| 1.65%
    grep3|=| 1.65%
    awk2|=| 1.10%
    text2|=| 1.10%
    25[0-5])\.)$'2|=| 1.10%
    `2|=| 1.10%
    pwd2|=| 1.10%
    >2|=| 1.10%
    who2|=| 1.10%
    25[0-5])\.'{3}(0-9{1,2}2|=| 1.10%
    25[0-5])\.{3}(0-9{1,2}1|| 0.55%
    sort1|| 0.55%
    user#1|| 0.55%
    #1|| 0.55%
    loca1|| 0.55%
    !1|| 0.55%
    cat/etc/paswd1|| 0.55%
    tauch1|| 0.55%
    25[0-5])\'{3}(0-9{1,2}1|| 0.55%
    cut1|| 0.55%
    sed1|| 0.55%
    25[0-5])\.)$'{3}(0-9{1,2}1|| 0.55%
    locate.1|| 0.55%
    ping1|| 0.55%
    cat/etc/passwd1|| 0.55%
    /etc/cron.daly/locate1|| 0.55%
    xargs1|| 0.55%
    which1|| 0.55%
    25[0-5])\.){3}(0-9{1,2}1|| 0.55%
    ____
    *) Интервалы неактивности длительностью 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$