| /l3/users/27-11-2017/NT-Ladm/debian2.net.nt/root :1 :2 :3 :4 :5 :6 :7 |
|
|
#ls
12 124145145 124145145123 1244as 21341241a2134 f[1,2,3,4,5,} install |
|
#touch f{1,2,3,4,5,}
|
|
#ls
12 124145145123 21341241a2134 f1 f2 f4 install 124145145 1244as f f[1,2,3,4,5,} f3 f5 |
|
#rm f{1,2,3,4,5,}
|
|
#ls
12 124145145 124145145123 1244as 21341241a2134 f[1,2,3,4,5,} install |
|
#touch f{1,2,3,4,5,}
|
|
#rm f{1,2,3,4,5,}
|
|
#touch f{1,2,3,4,5}
|
|
#ls
12 124145145123 21341241a2134 f[1,2,3,4,5,} f3 f5 124145145 1244as f1 f2 f4 install |
|
#ls f{1,2,3,4,5,} | xargs -i cp -v {} /tmp
ls: невозможно получить доступ к f: Нет такого файла или каталога «f1» -> «/tmp/f1» «f2» -> «/tmp/f2» «f3» -> «/tmp/f3» «f4» -> «/tmp/f4» «f5» -> «/tmp/f5» |
|
#rm /tmp*
rm: невозможно удалить «/tmp»: Это каталог |
|
#rm /tmp/*
|
|
#which who
/usr/bin/who |
|
#ls -l `wich who`
l3script: wich: команда не найдена итого 8 -rw-r--r-- 1 root root 0 Ноя 28 11:26 12 -rw-r--r-- 1 root root 0 Ноя 28 11:26 124145145 -rw-r--r-- 1 root root 0 Ноя 28 11:26 124145145123 -rw-r--r-- 1 root root 0 Ноя 28 11:26 1244as -rw-r--r-- 1 root root 0 Ноя 28 11:26 21341241a2134 -rw-r--r-- 1 root root 0 Ноя 28 11:47 f1 -rw-r--r-- 1 root root 0 Ноя 28 11:43 f[1,2,3,4,5,} -rw-r--r-- 1 root root 0 Ноя 28 11:47 f2 -rw-r--r-- 1 root root 0 Ноя 28 11:47 f3 -rw-r--r-- 1 root root 0 Ноя 28 11:47 f4 -rw-r--r-- 1 root root 0 Ноя 28 11:47 f5 -rw-r--r-- 1 root root 5268 Окт 13 2014 install |
|
#ls -l `which who`
-rwxr-xr-x 1 root root 55888 Янв 26 2013 /usr/bin/who |
|
#echo $[5+8]
13 |
|
#ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:07 init [2]
2 ? S 0:00 [kthreadd]
3 ? S 0:01 [ksoftirqd/0]
5 ? S 0:00 [kworker/u:0]
6 ? S 0:00 [migration/0]
7 ? S 0:03 [watchdog/0]
8 ? S< 0:00 [cpuset]
9 ? S< 0:00 [khelper]
10 ? S 0:00 [kdevtmpfs]
...
8641 pts/1 Ss 0:00 -bash
8687 pts/1 S+ 0:00 script -f -c l3script -q /home/user/.lilalo//19320278
8758 pts/1 S+ 0:00 script -f -c l3script -q /home/user/.lilalo//19320278
8759 pts/4 Ss+ 0:00 l3script
8843 ? Ss 0:00 sshd: root@pts/5
8845 pts/5 Ss 0:00 -bash
8890 pts/5 S+ 0:00 script -f -c l3script -q /root/.lilalo//1380724327227
8921 pts/5 S+ 0:00 script -f -c l3script -q /root/.lilalo//1380724327227
8922 pts/6 Ss 0:00 l3script
9282 pts/6 R+ 0:00 ps ax
|
|
#ps ax | wc -l
67 |
|
#echo $[`ps ax | wc -l`-2]
66 |
|
#echo $[`ps ax | wc -l`-4]
64 |
|
#zsh echo $[`ps ax | wc -l`-4]
l3script: zsh: команда не найдена |
|
#zsh
l3script: zsh: команда не найдена |
|
#zsh
l3script: zsh: команда не найдена |
|
#echo $[`ps ax | wc -l`-4]
64 |
|
#zsh
l3script: zsh: команда не найдена |
|
#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
|
|
#cat
1234 1234 hey hey |
|
#find /home -mtime -1 user ivan
find: paths must precede expression: user Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression] |
|
#find /home -mtime -1 -user ivan
/home/ivan /home/ivan/.bashrc /home/ivan/.bash_history /home/ivan/.viminfo |
|
#find /home -mtime -1 -user ivan > files.txt
|
|
#ls
12 124145145123 21341241a2134 f[1,2,3,4,5,} f3 f5 install 124145145 1244as f1 f2 f4 files.txt |
|
#cat files.txt
/home/ivan /home/ivan/.bashrc /home/ivan/.bash_history /home/ivan/.viminfo |
|
#su - ivan
ivan@debian2:~$ find /home -mtime -1 -user ivan /home/ivan /home/ivan/.bashrc /home/ivan/.bash_history /home/ivan/.viminfo ivan@debian2:~$ find /home -mtime -1 -user ivan > files.txt ivan@debian2:~$ ls files.txt ivan@debian2:~$ cat files.txt /home/ivan ... find: `/proc/9422/task/9422/fdinfo': Отказано в доступе find: `/proc/9422/task/9422/ns': Отказано в доступе find: `/proc/9422/fd': Отказано в доступе find: `/proc/9422/fdinfo': Отказано в доступе find: `/proc/9422/ns': Отказано в доступе find: `/proc/9511/task/9511/fd/5': Нет такого файла или каталога find: `/proc/9511/task/9511/fdinfo/5': Нет такого файла или каталога find: `/proc/9511/fd/5': Нет такого файла или каталога find: `/proc/9511/fdinfo/5': Нет такого файла или каталога ivan@debian2:~$ logout |
|
#su -ivan
su: невеÑнÑй клÑÑ -- «i»
ÐÑполÑзование: su [паÑамеÑÑÑ] [ÐÐÐ
, --command ÐÐÐÐÐÐРпеÑедаÑÑ ÐÐÐÐÐÐУ вÑзÑваемой оболоÑке
-h, --help показаÑÑ Ð´Ð°Ð½Ð½Ð¾Ðµ ÑообÑение и законÑиÑÑ ÑабоÑÑ
-, -l, --login запÑÑкаÑÑ Ð¾Ð±Ð¾Ð»Ð¾ÑÐºÑ ÐºÐ°Ðº ÑегиÑÑÑаÑионнÑÑ
-m, -p,
--preserve-environment не ÑбÑаÑÑваÑÑ Ð¿ÐµÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸
ÑоÑ
ÑаниÑÑ Ð·Ð°Ð¿ÑÑÑивÑÑÑ Ð¾Ð±Ð¾Ð»Ð¾ÑкÑ
-s, --shell ÐÐÐÐ
вмеÑÑо знаÑÐµÐ½Ð¸Ñ Ð¸Ð· Ñайла passwd
|
|
#su ivan
ivan@debian2:/root$ find / -mtime -1 -user ivan > files.txt 2> /dev/null bash: files.txt: Отказано в доступе ivan@debian2:/root$ -mtime -1 -user ivan > files.txt 2> /dev/null bash: files.txt: Отказано в доступе ivan@debian2:/root$ exit |
|
#su ivan
ivan@debian2:/root$ exit |
|
#cd
|
|
#;s
l3script: syntax error near unexpected token `;' |
|
#ls
12 124145145123 21341241a2134 f[1,2,3,4,5,} f3 f5 install 124145145 1244as f1 f2 f4 files.txt |
|
#cd ~
|
|
#ls
12 124145145123 21341241a2134 f[1,2,3,4,5,} f3 f5 install 124145145 1244as f1 f2 f4 files.txt |
|
#cd names
l3script: cd: names: Нет такого файла или каталога |
|
#ls a
ls: невозможно получить доступ к a: Нет такого файла или каталога |
|
#ls -a
. 1244as .bashrc f4 .lilalo .. 21341241a2134 f1 f5 .profile 12 .aptitude f[1,2,3,4,5,} files.txt .vim 124145145 .bash_history f2 install .viminfo 124145145123 .bash_profile f3 .l3rc .vimrc |
|
#cd .profile
l3script: cd: .profile: Это не каталог |
|
#cd install
l3script: cd: install: Это не каталог |
|
#cd /
|
|
#ls
bin etc lib lost+found opt run srv usr boot home lib32 media proc sbin sys var dev initrd.img lib64 mnt root selinux tmp vmlinuz |
|
#cd home
|
|
#ls
ivan petr user |
|
#cd root
l3script: cd: root: Нет такого файла или каталога |
|
#cd /names
l3script: cd: /names: Нет такого файла или каталога |
|
#cd etc
l3script: cd: etc: Нет такого файла или каталога |
|
#cd etc
|
|
#ls
acpi init ppp adduser.conf init.d profile adjtime initramfs-tools profile.d aliases inittab protocols alternatives inputrc python apt insserv python2.7 bash.bashrc insserv.conf rc0.d bash_completion insserv.conf.d rc1.d bash_completion.d iproute2 rc2.d bindresvport.blacklist issue rc3.d ... group network timezone group- networks trafshow grub.d nsswitch.conf ucf.conf gshadow opt udev gshadow- os-release ufw host.conf pam.conf vim hostname pam.d w3m hosts passwd wgetrc hosts.allow passwd- X11 hosts.deny perl xml |
|
#cd ..
|
|
#ls
bin etc lib lost+found opt run srv usr boot home lib32 media proc sbin sys var dev initrd.img lib64 mnt root selinux tmp vmlinuz |
|
#cd root
|
|
#ls
12 124145145123 21341241a2134 f[1,2,3,4,5,} f3 f5 install 124145145 1244as f1 f2 f4 files.txt |
|
#cd ..
|
|
#ls
bin etc lib lost+found opt run srv usr boot home lib32 media proc sbin sys var dev initrd.img lib64 mnt root selinux tmp vmlinuz |
|
#cd sys
|
|
#ls
block class devices fs kernel power bus dev firmware hypervisor module |
|
#cd ..
|
|
#ls
bin etc lib lost+found opt run srv usr boot home lib32 media proc sbin sys var dev initrd.img lib64 mnt root selinux tmp vmlinuz |
|
#cd usr
|
|
#ls
bin games include lib lib32 local sbin share src |
|
#cd ..
|
|
#ls
bin etc lib lost+found opt run srv usr boot home lib32 media proc sbin sys var dev initrd.img lib64 mnt root selinux tmp vmlinuz |
|
#tree
. ├── bin │ ├── bash │ ├── busybox │ ├── cat │ ├── chgrp │ ├── chmod │ ├── chown │ ├── chvt │ ├── cp ... │ │ ├── exim4 │ │ │ ├── db │ │ │ ├── input │ │ │ └── msglog │ │ ├── mail -> ../mail │ │ └── rsyslog │ └── tmp │ └── profile.swp └── vmlinuz -> boot/vmlinuz-3.2.0-4-amd64 5991 directories, 46085 files |
|
#ls
bin etc lib lost+found opt run srv usr boot home lib32 media proc sbin sys var dev initrd.img lib64 mnt root selinux tmp vmlinuz |
|
#cd home
|
|
#ls
ivan petr user |
|
#cd ..
|
|
#;s
l3script: syntax error near unexpected token `;' |
|
#ls
bin etc lib lost+found opt run srv usr boot home lib32 media proc sbin sys var dev initrd.img lib64 mnt root selinux tmp vmlinuz |
|
#cd ~
|
|
#set -0
l3script: set: -0: неправильная опция set: usage: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...] |
|
#set -o noclobber
|
|
#> install
l3script: install: не могу переписать уже существующий файл |
|
#set +o noclobber
|
|
#lsattr install
-------------e-- install |
|
#chattr +a install
|
|
#lsattr install
-----a-------e-- install |
|
#chattr -a install
|
|
#chattr +i install
|
|
#lsattr install
----i--------e-- install |
|
#ps uax
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 10648 836 ? Ss Ноя24 0:07 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] ... user 8641 0.0 0.5 22168 2864 pts/1 Ss 10:49 0:00 -bash user 8687 0.0 0.1 18164 836 pts/1 S+ 10:50 0:00 script -f -c l3 user 8758 0.0 0.0 18168 468 pts/1 S+ 10:50 0:00 script -f -c l3 user 8759 0.0 0.5 22184 2800 pts/4 Ss+ 10:50 0:00 l3script root 8843 0.0 0.7 71288 3684 ? Ss 10:59 0:01 sshd: root@pts/ root 8845 0.0 0.5 22168 2860 pts/5 Ss 10:59 0:00 -bash root 9783 0.0 0.1 18164 840 pts/5 S+ 13:42 0:00 script -f -c l3 root 9814 0.1 0.0 18168 464 pts/5 S+ 13:42 0:01 script -f -c l3 root 9815 0.0 0.4 23748 2380 pts/6 Ss 13:42 0:00 l3script root 10108 0.0 0.2 18948 1260 pts/6 R+ 13:59 0:00 ps uax |
|
#ps uax | sort -k4 -r
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 3403 0.1 4.0 58304 20568 ? Ss Ноя27 3:09 l3-agent user 4025 0.1 2.0 47896 10572 ? Ss Ноя27 2:26 l3-agent root 8843 0.0 0.7 71288 3684 ? Ss 10:59 0:01 sshd: root@pts/5 root 8235 0.0 0.7 71288 3680 ? Ss 10:10 0:00 sshd: root@pts/2 root 8638 0.0 0.7 71288 3608 ? Ss 10:49 0:00 sshd: user [priv] root 8480 0.0 0.7 71288 3608 ? Ss 10:17 0:00 sshd: ivan [priv] ivan 8483 0.0 0.6 22600 3196 pts/0 Ss+ 10:17 0:00 -bash user 8759 0.0 0.5 22184 2800 pts/4 Ss+ 10:50 0:00 l3script user 8641 0.0 0.5 22168 2864 pts/1 Ss 10:49 0:00 -bash ... 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 133 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 90 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] |
|
#ps uax | sort -k4 -r | head -11
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 3403 0.1 4.0 58304 20568 ? Ss Ноя27 3:10 l3-agent user 4025 0.1 2.0 47896 10572 ? Ss Ноя27 2:26 l3-agent root 8843 0.0 0.7 71288 3684 ? Ss 10:59 0:01 sshd: root@pts/5 root 8235 0.0 0.7 71288 3680 ? Ss 10:10 0:00 sshd: root@pts/2 root 8638 0.0 0.7 71288 3608 ? Ss 10:49 0:00 sshd: user [priv] root 8480 0.0 0.7 71288 3608 ? Ss 10:17 0:00 sshd: ivan [priv] ivan 8483 0.0 0.6 22600 3196 pts/0 Ss+ 10:17 0:00 -bash user 8759 0.0 0.5 22184 2800 pts/4 Ss+ 10:50 0:00 l3script user 8641 0.0 0.5 22168 2864 pts/1 Ss 10:49 0:00 -bash root 8845 0.0 0.5 22168 2860 pts/5 Ss 10:59 0:00 -bash |
|
#cd
|
|
#ls [0-9]*
12 124145145 124145145123 1244as 21341241a2134 |
|
#ls [0-9]* |
> l3script: ошибка синтаксиса: неожиданный конец файла |
|
#ls [0-9]* | xargs rm
|
|
#ls
f1 f[1,2,3,4,5,} f2 f3 f4 f5 files.txt install |
|
#rm f(1,2,3,4,5)
l3script: syntax error near unexpected token `('
|
|
#rm f[1,2,3,4,5]
|
|
#ls
f[1,2,3,4,5,} files.txt install |
1234 1234 hey hey
/home/ivan /home/ivan/.bashrc /home/ivan/.bash_history /home/ivan/.viminfo
#!/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
| Время первой команды журнала | 10:32:42 2017-11-28 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Время последней команды журнала | 13:03:43 2017-11-28 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Количество командных строк в журнале | 101 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Процент команд с ненулевым кодом завершения, % | 16.83 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Процент синтаксически неверно набранных команд, % | 3.96 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Суммарное время работы с терминалом *, час | 1.82 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Количество командных строк в единицу времени, команда/мин | 0.93 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.
Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
$ l s-l bash: l: command not found |
Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
$ test 5 -lt 4 |
Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
$ 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 |
Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
# id uid=0(root) gid=0(root) Gruppen=0(root) |
Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
$ vi ~/.bashrc
|
Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
$ patch ~/.bashrc |
Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.
Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.
Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.
Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора
Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.
Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.
Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:
$ whoami
user
$ #^ Интересно, кто я?в журнале это будет выглядеть так:
$ whoami
user
| Интересно, кто я? |
Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:
$ whoami
user
$ cat > /dev/null #^ Интересно, кто я?
Программа whoami выводит имя пользователя, под которым мы зарегистрировались в системе. - Она не может ответить на вопрос о нашем назначении в этом мире.В журнале это будет выглядеть так:
$ whoami user
|
Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=
1
2
3
4
Группы команд, выполненных на разных терминалах, разделяются специальной линией.
Под этой линией в правом углу показано имя терминала, на котором выполнялись команды.
Для того чтобы посмотреть команды только одного сенса,
нужно щёкнуть по этому названию.
LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008