/l3/users/27-3-2017/NT-Ladm/debian3.net.nt/root :1 :2 :3 :4 :5 :6 :7 :8 :9 :10 |
|
#cat ip.txt | awk -F. '{print,$0,$1*256^3+$2*256^2+$3*256+$4}'
awk: line 1: syntax error at or near , |
#cat install | gr -s '^$'
l3script: gr: команда не найдена |
#cat install | 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}" ... 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 install | tr -d '#'
!/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 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 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 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 install | tr -d [:digit:]
#!/bin/sh hostname=`hostname` uname -a | egrep -qi '(freebsd|darwin)' || hostname=`hostname -f` ############################################################################### # # Set this variables before installation: lilalo_user=-- lab=NT-LNet install_lbashrc_for_this_users=${users:-"root user"} # users who will use lagent and lscript lilalo_context="/users/${lilalo_user}/${lab}/${hostname}" ... step "Downloading lprompt" ${wget} ${url_lprompt} step "Downloading l-agent" '${wget} ${url_lagent}; ${wget} ${url_lconfig_pm}; ${wget} ${url_lconfig}' step "Downloading perl modules for l-agent" '{ for i in ${perl_modules}; do ${wget} ${url_perl_modules}/$i.tar.gz; done; }' step "Installing perl modules for l-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 lbashrc to users home directories" install_to_users_homes $install_lbashrc_for_this_users step "Adding lbashrc invocation to ~/.bashrc " install_to_users_bashrc $install_lbashrc_for_this_users step "Adding l-agent invocation to ~/.bash_profile " install_to_users_bash_profile $install_lbashrc_for_this_users cd / rm -rf ${temp_dir} show_final_message |
#cat install | tr [:punct:]
tr: пропущен операнд после «[:punct:]» При преобразовании необходимо задать две строки. Попробуйте «tr --help» для получения более подробного описания. |
#cat install | tr [:punct:] " "
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 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 install | tr [:punct:] " " | gr -s " "
l3script: gr: команда не найдена |
#cat install | tr [:punct:] " " | gr -s " " | tr " " "\n"
l3script: gr: команда не найдена |
#cat install | tr [:punct:] " " | gr -s " " | tr " " "\n"
l3script: gr: команда не найдена |
#cat install | tr [:punct:] " " | tr -s " " | tr " " "\n" | sort | tr -s "\n" | tr [:upper:] [:lower:] | uniq -c | sort -n -r | head
40 user 33 lilalo 30 home 20 users 20 install 19 url 15 l3 13 to 13 l3bashrc 12 for |
#cat install | tr [:punct:] " " | tr -s " " | tr " " "\n" | sort | tr -s "\n" | tr [:upper:] [:lower:] | uniq -c | sort -n -r | head -20
40 user 33 lilalo 30 home 20 users 20 install 19 url 15 l3 13 to 13 l3bashrc 12 for 11 get 10 this 10 step 10 perl 10 bash 9 wget 9 echo 8 profile 8 context 8 agent |
#ls
d1 d2 f2 install ip.txt MBR passwd |
#sed 's/:/ /g' 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 ivan x 1001 1001 /home/ivan /bin/bash petr x 1002 1002 /home/petr /bin/bash |
#ls /dev/
autofs console full loop0 loop7 network_latency ptmx shm stdout tty13 tty2 tty26 tty32 tty39 tty45 tty51 tty58 tty7 uinput vcs5 vcsa5 zero block core fuse loop1 loop-control network_throughput pts snapshot tty tty14 tty20 tty27 tty33 tty4 tty46 tty52 tty59 tty8 urandom vcs6 vcsa6 bsg cpu hidraw0 loop2 MAKEDEV null random snd tty0 tty15 tty21 tty28 tty34 tty40 tty47 tty53 tty6 tty9 vcs vcsa vga_arbiter btrfs-control cpu_dma_latency hpet loop3 mapper oldmem root sndstat tty1 tty16 tty22 tty29 tty35 tty41 tty48 tty54 tty60 ttyS0 vcs1 vcsa1 xconsole bus disk input loop4 mcelog port rtc sr0 tty10 tty17 tty23 tty3 tty36 tty42 tty49 tty55 tty61 ttyS1 vcs2 vcsa2 xvda cdrom1 dvd1 kmsg loop5 mem ppp rtc0 stderr tty11 tty18 tty24 tty30 tty37 tty43 tty5 tty56 tty62 ttyS2 vcs3 vcsa3 xvda1 char fd log loop6 net psaux sg0 stdin tty12 tty19 tty25 tty31 tty38 tty44 tty50 tty57 tty63 ttyS3 vcs4 vcsa4 xvdb |
#vifm /dev
|
#cd /run
|
#ls
acpid.pid acpid.socket crond.pid crond.reboot exim4 initctl initramfs lock motd.dynamic mount network rsyslogd.pid screen sendsigs.omit.d shm sshd sshd.pid udev utmp |
#ls -lah
итого 32K drwxr-xr-x 12 root root 420 Мар 27 13:30 . drwxr-xr-x 24 root root 4,0K Окт 15 2014 .. -rw-r--r-- 1 root root 5 Мар 27 13:30 acpid.pid srw-rw-rw- 1 root root 0 Мар 27 13:30 acpid.socket -rw-r--r-- 1 root root 5 Мар 27 13:30 crond.pid ---------- 1 root root 0 Мар 27 13:30 crond.reboot drwxr-x--- 2 Debian-exim Debian-exim 60 Мар 27 13:30 exim4 prw------- 1 root root 0 Мар 27 13:30 initctl drwxr-xr-x 2 root root 40 Мар 27 13:30 initramfs ... drwxr-xr-x 2 root root 60 Мар 27 13:30 mount drwxr-xr-x 2 root root 60 Мар 27 13:30 network -rw-r--r-- 1 root root 5 Мар 27 13:30 rsyslogd.pid drwxrwxr-x 2 root utmp 40 Мар 27 13:30 screen drwxr-xr-x 2 root root 60 Мар 27 13:30 sendsigs.omit.d drwxrwxrwt 2 root root 60 Мар 27 13:30 shm drwxr-xr-x 2 root root 40 Мар 27 13:30 sshd -rw-r--r-- 1 root root 5 Мар 27 13:30 sshd.pid drwxr-xr-x 7 root root 180 Мар 27 13:30 udev -rw-rw-r-- 1 root utmp 5,7K Мар 29 09:41 utmp |
#cd shm
|
#ls
|
#touch test
|
#ls
test |
#rm test
|
#cd ~
|
#ls
d1 d2 f2 install ip.txt MBR passwd |
#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 ... 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 petr:x:1002:1002::/home/petr:/bin/bash |
#sed 's/[^a]//g' passwd
a aa aaa aaaaa a aaaa a a aaaaa aaaa aaaa a aaaaa a aaa a a aaa a |
#sed 's/[^a]//g' passwd | wc -c
71 |
#sed 's/[^a]//g' passwd | wc -
24 19 71 - |
#sed 's/[^a]//g' passwd | wc
24 19 71 |
#man wc
|
#sed 's/[^a]//g' passwd | wc -m
71 |
#sed 's/[^a]//g' passwd | wc -c
71 |
#man wc
|
#sed 's/[^a]//g' passwd | wc -w
19 |
#man wc
|
#for i in *\ *
> do > cat $i > done cat: d1: ÐÑо каÑалог cat: d2: ÐÑо каÑалог #!/bin/sh hostname=`hostname` uname -a | egrep -qi '(freebsd|darwin)' || hostname=`hostname -f` ############################################################################### # ... 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/shPuTTY 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 petr:x:1002:1002::/home/petr:/bin/bash |
#ls
d1 d2 f2 install ip.txt MBR passwd |
#for i in *; do cat $i; done
cat: d1: ÐÑо каÑалог cat: d2: ÐÑо каÑалог #!/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 ... 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 petr:x:1002:1002::/home/petr:/bin/bash |
#man for
|
#man search
|
#man man
|
#for i in *\ *
> do > mv "$i" "'echo $i" > done mv: не удалось выполнить stat для «* *»: Нет такого файла или каталога |
#for i in *\ *; do "echo $i"; done
l3script: echo * *: команда не найдена |
#for i in *\ *; do "`echo $i`"; done
l3script: d1 d2 f2 install ip.txt MBR passwd d1 d2 f2 install ip.txt MBR passwd: команда не найдена |
#for i in *\ *; do `ecoo $i`; done
l3script: ecoo: команда не найдена |
#for i in *\ *; do `echo $i`; done
l3script: d1: команда не найдена |
#for i in *\ *; do '`echo $i`'; done
l3script: `echo $i`: команда не найдена |
#for i in *\ *; do "`echo $i`"; done
l3script: d1 d2 f2 install ip.txt MBR passwd d1 d2 f2 install ip.txt MBR passwd: команда не найдена |
#for i in *; do "`echo $i`"; done
l3script: d1: команда не найдена l3script: d2: команда не найдена l3script: f2: команда не найдена install: пропущен операнд, задающий файл Попробуйте «install --help» для получения более подробного описания. l3script: ip.txt: команда не найдена l3script: MBR: команда не найдена Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: Ошибка при операциях с маркером проверки подлинности passwd: пароль не изменён |
#for i in *; do "`echo "$i"`"; done
l3script: d1: команда не найдена l3script: d2: команда не найдена l3script: f2: команда не найдена install: пропущен операнд, задающий файл Попробуйте «install --help» для получения более подробного описания. l3script: ip.txt: команда не найдена l3script: MBR: команда не найдена Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: Ошибка при операциях с маркером проверки подлинности passwd: пароль не изменён |
#for i in *; do `echo "$i"`; done
l3script: d1: команда не найдена l3script: d2: команда не найдена l3script: f2: команда не найдена install: пропущен операнд, задающий файл Попробуйте «install --help» для получения более подробного описания. l3script: ip.txt: команда не найдена l3script: MBR: команда не найдена Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: Ошибка при операциях с маркером проверки подлинности passwd: пароль не изменён |
#for i in *; do `echo "$i"`; done
l3script: d1: команда не найдена l3script: d2: команда не найдена l3script: f2: команда не найдена install: пропущен операнд, задающий файл Попробуйте «install --help» для получения более подробного описания. l3script: ip.txt: команда не найдена l3script: MBR: команда не найдена Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: Ошибка при операциях с маркером проверки подлинности passwd: пароль не изменён |
#for i in *; do '`echo "$i"`'; done
l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена |
#echo $i
passwd |
#for i in .*; do '`echo "$i"`'; done
l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена l3script: `echo "$i"`: команда не найдена |
#for i in *\ *;do;echo "$i";done
l3script: syntax error near unexpected token `;' |
#for i in *\ *;do;echo "$i";done;
l3script: syntax error near unexpected token `;' |
#for i in *\ *; do; echo "$i"; done
l3script: syntax error near unexpected token `;' |
#for i in *; do echo "$i"; done
d1 d2 f2 install ip.txt MBR passwd |
#for i in *\ *; do echo "$i"; done
* * |
#for i in *; do echo `echo "$i"`; done
d1 d2 f2 install ip.txt MBR passwd |
#touch 'hello people'
|
#ls
d1 d2 f2 hello people install ip.txt MBR passwd |
#for i in *; do `echo "$i"` | sed 's/ /_/g'; done
l3script: d1: команда не найдена l3script: d2: команда не найдена l3script: f2: команда не найдена l3script: hello: команда не найдена install: пропущен операнд, задающий файл Попробуйте «install --help» для получения более подробного описания. l3script: ip.txt: команда не найдена l3script: MBR: команда не найдена Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: Ошибка при операциях с маркером проверки подлинности passwd: пароль не изменён |
#for i in *; do echo `echo "$i" | sed 's/ /_/g'`; done
d1 d2 f2 hello_people install ip.txt MBR passwd |
#for i in *; do mv $i `echo "$i" | sed 's/ /_/g'`; done
mv: невозможно перенести «d1» в свой собственный подкаталог, «d1/d1» mv: невозможно перенести «d2» в свой собственный подкаталог, «d2/d2» mv: «f2» и «f2» - один и тот же файл mv: указанная цель «hello_people» не является каталогом mv: «install» и «install» - один и тот же файл mv: «ip.txt» и «ip.txt» - один и тот же файл mv: «MBR» и «MBR» - один и тот же файл mv: «passwd» и «passwd» - один и тот же файл |
#ls
d1 d2 f2 hello people install ip.txt MBR passwd |
#for i in *; do mv "$i" `echo "$i" | sed 's/ /_/g'`; done
mv: невозможно перенести «d1» в свой собственный подкаталог, «d1/d1» mv: невозможно перенести «d2» в свой собственный подкаталог, «d2/d2» mv: «f2» и «f2» - один и тот же файл mv: «install» и «install» - один и тот же файл mv: «ip.txt» и «ip.txt» - один и тот же файл mv: «MBR» и «MBR» - один и тот же файл mv: «passwd» и «passwd» - один и тот же файл |
#ls
d1 d2 f2 hello_people install ip.txt MBR passwd |
#ls
d1 d2 f2 hello_people install ip.txt MBR passwd |
#vim
|
#~
d1 d2 f2 hello_people install ip.txt MBR passwd |
#ls -lah
итого 96K drwx------ 10 root root 4,0K Мар 29 10:44 . drwxr-xr-x 24 root root 4,0K Окт 15 2014 .. drwx------ 2 root root 4,0K Июн 27 2014 .aptitude -rw------- 1 root root 5,4K Мар 28 17:12 .bash_history -rw-r--r-- 1 root root 10 Июн 27 2014 .bash_profile -rw-r--r-- 1 root root 652 Мар 28 11:13 .bashrc drwx------ 3 root root 4,0K Мар 28 13:58 .config drwxr-xr-x 2 root root 4,0K Мар 27 14:18 d1 drwxr-xr-x 4 root root 4,0K Мар 28 12:49 d2 ... -rw-r--r-- 1 root root 50 Мар 27 13:30 .l3rc -rw------- 1 root root 206 Мар 29 10:32 .lesshst drwxr-xr-x 2 root root 4,0K Мар 29 10:44 .lilalo -rw-r--r-- 1 root root 512 Мар 27 14:18 MBR -rw-r--r-- 1 root root 986 Мар 28 16:11 passwd -rw-r--r-- 1 root root 140 Ноя 19 2007 .profile drwx------ 2 root root 4,0K Мар 27 14:18 .ssh drwxr-xr-x 3 root root 4,0K Мар 28 11:16 .vifm drwxr-xr-x 2 root root 4,0K Июн 27 2014 .vim -rw------- 1 root root 5,5K Мар 29 10:44 .viminfo |
#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 |
#iconv
^C |
#iconv -f CP1251 -t UTF-8
вПривіт РІРџСЂРёРІС–С‚ |
#iconv -f CP1251 -t UTF-8 ÐÐ> hello.utf
|
#cat hello.utf
|
#vim hello.utf
|
#~
|
#ls
d1 d2 f2 hello_people hello.utf install ip.txt MBR passwd |
#ls
d1 d2 f2 hello_people hello.utf install ip.txt MBR passwd |
#login user
Пароль: Последний вход в систему:Втр Мар 28 14:26:09 EEST 2017с 192.168.16.187на pts/0 Linux debian3 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Есть почта. l3-agent is already running: pid=3393; pidfile=/home/user/.lilalo/l3-agent.pid user@debian3:~$ lscript -bash: lscript: команда не найдена user@debian3:~$ l3 l3-agent l3-config l3script user@debian3:~$ l3script |
$ls
backup bin debian3 debian3.text2 file granata.jpg lpi 1 man_smb_conf names pamyatka.pdf proj sh touchlist bigfile cod debian3.text debian3.txt freebsd.jpg Light_Alloy_4.4.784_RC2_by_FAFNIR.exe lpi 2 matrix.jpg ogo.jpg press_any_key_to_continue.jpg screenrc text |
$for i in *; do mv "$i" `echo $i | tr [:lower:] [:upper:]`; done
mv: указанная цель «1» не является каталогом mv: указанная цель «2» не является каталогом |
$for i in *; do mv "$i" `echo $i | tr '[:lower:] [:upper:]'`; done
tr: пропущен операнд после «[:lower:] [:upper:]» При преобразовании необходимо задать две строки. Попробуйте «tr --help» для получения более подробного описания. mv: после «BACKUP» пропущен операнд, задающий целевой файл Попробуйте «mv --help» для получения более подробного описания. tr: пропущен операнд после «[:lower:] [:upper:]» При преобразовании необходимо задать две строки. Попробуйте «tr --help» для получения более подробного описания. mv: после «BIGFILE» пропущен операнд, задающий целевой файл Попробуйте «mv --help» для получения более подробного описания. ... tr: пропущен операнд после «[:lower:] [:upper:]» При преобразовании необходимо задать две строки. Попробуйте «tr --help» для получения более подробного описания. mv: после «TEXT» пропущен операнд, задающий целевой файл Попробуйте «mv --help» для получения более подробного описания. tr: пропущен операнд после «[:lower:] [:upper:]» При преобразовании необходимо задать две строки. Попробуйте «tr --help» для получения более подробного описания. mv: после «TOUCHLIST» пропущен операнд, задающий целевой файл Попробуйте «mv --help» для получения более подробного описания. |
$ls
BACKUP BIN DEBIAN3 DEBIAN3.TEXT2 FILE GRANATA.JPG lpi 1 MAN_SMB_CONF NAMES PAMYATKA.PDF PROJ SH TOUCHLIST BIGFILE COD DEBIAN3.TEXT DEBIAN3.TXT FREEBSD.JPG LIGHT_ALLOY_4.4.784_RC2_BY_FAFNIR.EXE lpi 2 MATRIX.JPG OGO.JPG PRESS_ANY_KEY_TO_CONTINUE.JPG SCREENRC TEXT |
$for i in *; do mv "$i" "`echo $i | tr '[:lower:] [:upper:]'`"; done
tr: пропущен операнд после «[:lower:] [:upper:]» При преобразовании необходимо задать две строки. Попробуйте «tr --help» для получения более подробного описания. mv: невозможно переместить «BACKUP» в «»: Нет такого файла или каталога tr: пропущен операнд после «[:lower:] [:upper:]» При преобразовании необходимо задать две строки. Попробуйте «tr --help» для получения более подробного описания. mv: невозможно переместить «BIGFILE» в «»: Нет такого файла или каталога tr: пропущен операнд после «[:lower:] [:upper:]» При преобразовании необходимо задать две строки. ... Попробуйте «tr --help» для получения более подробного описания. mv: невозможно переместить «SH» в «»: Нет такого файла или каталога tr: пропущен операнд после «[:lower:] [:upper:]» При преобразовании необходимо задать две строки. Попробуйте «tr --help» для получения более подробного описания. mv: невозможно переместить «TEXT» в «»: Нет такого файла или каталога tr: пропущен операнд после «[:lower:] [:upper:]» При преобразовании необходимо задать две строки. Попробуйте «tr --help» для получения более подробного описания. mv: невозможно переместить «TOUCHLIST» в «»: Нет такого файла или каталога |
$ls
BACKUP BIN DEBIAN3 DEBIAN3.TEXT2 FILE GRANATA.JPG lpi 1 MAN_SMB_CONF NAMES PAMYATKA.PDF PROJ SH TOUCHLIST BIGFILE COD DEBIAN3.TEXT DEBIAN3.TXT FREEBSD.JPG LIGHT_ALLOY_4.4.784_RC2_BY_FAFNIR.EXE lpi 2 MATRIX.JPG OGO.JPG PRESS_ANY_KEY_TO_CONTINUE.JPG SCREENRC TEXT |
$for i in *; do mv "$i" "`echo $i | tr '[:lower:]' '[:upper:]'`"; done
mv: невозможно перенести «BACKUP» в свой собственный подкаталог, «BACKUP/BACKUP» mv: «BIGFILE» и «BIGFILE» - один и тот же файл mv: невозможно перенести «BIN» в свой собственный подкаталог, «BIN/BIN» mv: невозможно перенести «COD» в свой собственный подкаталог, «COD/COD» mv: «DEBIAN3» и «DEBIAN3» - один и тот же файл mv: «DEBIAN3.TEXT» и «DEBIAN3.TEXT» - один и тот же файл mv: «DEBIAN3.TEXT2» и «DEBIAN3.TEXT2» - один и тот же файл mv: «DEBIAN3.TXT» и «DEBIAN3.TXT» - один и тот же файл mv: «FILE» и «FILE» - один и тот же файл mv: «FREEBSD.JPG» и «FREEBSD.JPG» - один и тот же файл ... mv: «MATRIX.JPG» и «MATRIX.JPG» - один и тот же файл mv: невозможно перенести «NAMES» в свой собственный подкаталог, «NAMES/NAMES» mv: «OGO.JPG» и «OGO.JPG» - один и тот же файл mv: «PAMYATKA.PDF» и «PAMYATKA.PDF» - один и тот же файл mv: «PRESS_ANY_KEY_TO_CONTINUE.JPG» и «PRESS_ANY_KEY_TO_CONTINUE.JPG» - один и тот же файл mv: невозможно перенести «PROJ» в свой собственный подкаталог, «PROJ/PROJ» mv: «SCREENRC» и «SCREENRC» - один и тот же файл mv: невозможно перенести «SH» в свой собственный подкаталог, «SH/SH» mv: невозможно перенести «TEXT» в свой собственный подкаталог, «TEXT/TEXT» mv: «TOUCHLIST» и «TOUCHLIST» - один и тот же файл |
$ls
BACKUP BIN DEBIAN3 DEBIAN3.TEXT2 FILE GRANATA.JPG LPI 1 MAN_SMB_CONF NAMES PAMYATKA.PDF PROJ SH TOUCHLIST BIGFILE COD DEBIAN3.TEXT DEBIAN3.TXT FREEBSD.JPG LIGHT_ALLOY_4.4.784_RC2_BY_FAFNIR.EXE LPI 2 MATRIX.JPG OGO.JPG PRESS_ANY_KEY_TO_CONTINUE.JPG SCREENRC TEXT |
$for i in *; do mv "$i" "`echo $i | tr '[:upper:]' '[:lower:]'`"; done
|
$ls
backup bin debian3 debian3.text2 file granata.jpg lpi 1 man_smb_conf names pamyatka.pdf proj sh touchlist bigfile cod debian3.text debian3.txt freebsd.jpg light_alloy_4.4.784_rc2_by_fafnir.exe lpi 2 matrix.jpg ogo.jpg press_any_key_to_continue.jpg screenrc text |
#!/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
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 petr:x:1002:1002::/home/petr:/bin/bash
Время первой команды журнала | 08:44:36 2017- 3-29 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 10:00:14 2017- 3-29 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 18.81 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 9.90 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 1.26 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 1.34 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования этих команд < 0.5% | awk1 , login1 , vifm1 , rm1 , hello.utf1 |
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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