/l3/users/27-3-2017/NT-Ladm/debian1.net.nt/root :1 :2 :3 :4 :5 :6 :7 :8 |
|
#ps axu | sort -k 4 -r
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 3415 0.1 2.2 48740 11404 ? Ss Мар27 2:37 l3-agent user 5685 0.3 2.2 48736 11320 ? Ss Мар27 4:13 l3-agent root 10204 0.0 0.7 71288 3680 ? Ss 11:30 0:00 sshd: root@pts/0 root 11041 0.0 0.7 71288 3608 ? Ss 14:02 0:00 sshd: ivan [priv] ivan 11044 0.0 0.6 22600 3292 pts/5 Ss 14:02 0:00 -bash user 8635 0.0 0.6 22272 3056 pts/3 Ss 09:24 0:00 l3script user 8862 0.0 0.5 33768 2976 pts/3 S+ 09:38 0:00 /usr/bin/vi /home/user/text/unixoid.orig.txt ivan 11125 0.0 0.5 22172 2768 pts/5 S+ 14:02 0:00 l3script root 10206 0.0 0.5 22092 2776 pts/0 Ss 11:30 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 128 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 87 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 axu | sort -k 4 -r | head -6
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 3415 0.1 2.2 48740 11412 ? Ss Мар27 2:38 l3-agent user 5685 0.3 2.2 48736 11320 ? Ss Мар27 4:13 l3-agent root 10204 0.0 0.7 71288 3680 ? Ss 11:30 0:00 sshd: root@pts/0 root 11041 0.0 0.7 71288 3608 ? Ss 14:02 0:00 sshd: ivan [priv] ivan 11044 0.0 0.6 22600 3292 pts/5 Ss 14:02 0:00 -bash |
#ps axu | sort -k 4 -r | head -6
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 3415 0.1 2.2 48740 11412 ? Ss Мар27 2:38 l3-agent user 5685 0.3 2.2 48736 11320 ? Ss Мар27 4:13 l3-agent root 10204 0.0 0.7 71288 3680 ? Ss 11:30 0:00 sshd: root@pts/0 root 11041 0.0 0.7 71288 3608 ? Ss 14:02 0:00 sshd: ivan [priv] ivan 11044 0.0 0.6 22600 3292 pts/5 Ss 14:02 0:00 -bash |
#tree
. ├── d1 │ ├── f1 │ └── f2 ├── d2 │ ├── d3 │ └── f3 ├── err.txt ├── f2 -> /root/d2/f2 ├── install ├── MBR ├── MBR2 ├── proc.txt └── ps.txt 3 directories, 10 files |
#tree
. ├── d1 │ ├── f1 │ └── f2 ├── d2 │ ├── d3 │ └── f3 ├── err.txt ├── f2 -> /root/d2/f2 ├── install ├── MBR ├── MBR2 ├── proc.txt └── ps.txt 3 directories, 10 files |
#cp /etc/passwd
cp: после «/etc/passwd» пропущен операнд, задающий целевой файл Попробуйте «cp --help» для получения более подробного описания. |
#cp /etc/passwd
cp: после «/etc/passwd» пропущен операнд, задающий целевой файл Попробуйте «cp --help» для получения более подробного описания. |
#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 ivan:x:1001:1001::/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
#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 ivan:x:1001:1001::/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
#cat /etc/passwd | grep 1[0-9][0-9][0-9]
user:x:1000:1000:user,,,:/home/user:/bin/bash ivan:x:1001:1001::/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
#cat /etc/passwd | grep 1[0-9][0-9][0-9]
user:x:1000:1000:user,,,:/home/user:/bin/bash ivan:x:1001:1001::/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
#cat /etc/passwd | grep -E 1[0-9]{3}
user:x:1000:1000:user,,,:/home/user:/bin/bash ivan:x:1001:1001::/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
#cat /etc/passwd | grep -E 1[0-9]{3}
user:x:1000:1000:user,,,:/home/user:/bin/bash ivan:x:1001:1001::/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
#cat /etc/passwd | egrep 1[0-9]{3}
user:x:1000:1000:user,,,:/home/user:/bin/bash ivan:x:1001:1001::/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
#cat /etc/passwd | egrep 1[0-9]{3}
user:x:1000:1000:user,,,:/home/user:/bin/bash ivan:x:1001:1001::/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
#cat /etc/passwd | egrep 1[0-9]+
man:x:6:12:man:/var/cache/man:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh proxy:x:13:13:proxy:/bin:/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 |
#cat /etc/passwd | egrep 1[0-9]+
man:x:6:12:man:/var/cache/man:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh proxy:x:13:13:proxy:/bin:/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 |
#cat /etc/passwd | egrep 1[0-9]*
daemon:x:1:1:daemon:/usr/sbin:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh proxy:x:13:13:proxy:/bin:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/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 |
#cat /etc/passwd | egrep 1[0-9]*
daemon:x:1:1:daemon:/usr/sbin:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh proxy:x:13:13:proxy:/bin:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/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 |
#cat /etc/passwd | egrep 100?1
libuuid:x:100:101::/var/lib/libuuid:/bin/sh Debian-exim:x:101:103::/var/spool/exim4:/bin/false ivan:x:1001:1001::/home/ivan:/bin/bash |
#cat /etc/passwd | egrep 100?1
libuuid:x:100:101::/var/lib/libuuid:/bin/sh Debian-exim:x:101:103::/var/spool/exim4:/bin/false ivan:x:1001:1001::/home/ivan:/bin/bash |
#cat ip.txt | egrep `^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}$`
l3script: command substitution: line 1: syntax error near unexpected token `(' l3script: command substitution: line 1: `^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}$' ÐÑполÑзование: egrep [ÐÐÐ ÐÐÐТР]⦠ШÐÐÐФÐÐÐ grep --help» Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ подÑобного опиÑаниÑ. |
#cat ip.txt | egrep `^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}$`
l3script: command substitution: line 1: syntax error near unexpected token `(' l3script: command substitution: line 1: `^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}$' ÐÑполÑзование: egrep [ÐÐÐ ÐÐÐТР]⦠ШÐÐÐФÐÐÐ grep --help» Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ подÑобного опиÑаниÑ. |
#cat ip.txt | egrep `^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}`
l3script: command substitution: line 1: syntax error near unexpected token `(' l3script: command substitution: line 1: `^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}' ÐÑполÑзование: egrep [ÐÐÐ ÐÐÐТР]⦠ШÐÐÐФÐÐÐ grep --help» Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ подÑобного опиÑаниÑ. |
#cat ip.txt | egrep `^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}`
l3script: command substitution: line 1: syntax error near unexpected token `(' l3script: command substitution: line 1: `^(([0-9]|[0-9]{2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}' ÐÑполÑзование: egrep [ÐÐÐ ÐÐÐТР]⦠ШÐÐÐФÐÐÐ grep --help» Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ подÑобного опиÑаниÑ. |
#cat ip.txt | egrep `[0-9]`
l3script: [0-9]: команда не найдена ÐÑполÑзование: egrep [ÐÐÐ ÐÐÐТР]⦠ШÐÐÐФÐÐÐ grep --help» Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ подÑобного опиÑаниÑ. |
#cat ip.txt | egrep `[0-9]`
l3script: [0-9]: команда не найдена ÐÑполÑзование: egrep [ÐÐÐ ÐÐÐТР]⦠ШÐÐÐФÐÐÐ grep --help» Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ подÑобного опиÑаниÑ. |
#cat ip.txt | egrep `^[0-9]`
l3script: ^[0-9]: команда не найдена ÐÑполÑзование: egrep [ÐÐÐ ÐÐÐТР]⦠ШÐÐÐФÐÐÐ grep --help» Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ подÑобного опиÑаниÑ. |
#cat ip.txt | egrep `^[0-9]`
l3script: ^[0-9]: команда не найдена ÐÑполÑзование: egrep [ÐÐÐ ÐÐÐТР]⦠ШÐÐÐФÐÐÐ grep --help» Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ подÑобного опиÑаниÑ. |
#cat passwd | awk -F: '$3>=1000'
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh user:x:1000:1000:user,,,:/home/user:/bin/bash ivan:x:1001:1001::/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
#cat passwd | awk -F: '$3>=1000'
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh user:x:1000:1000:user,,,:/home/user:/bin/bash ivan:x:1001:1001::/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
#cat passwd | awk -F: '$3>=1000 && $3!=65534'
user:x:1000:1000:user,,,:/home/user:/bin/bash ivan:x:1001:1001::/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
#cat passwd | awk -F: '$3>=1000 && $3!=65534'
user:x:1000:1000:user,,,:/home/user:/bin/bash ivan:x:1001:1001::/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
#cat passwd | awk -F: '$3>=1000 && $3!=65534'
user:x:1000:1000:user,,,:/home/user:/bin/bash ivan:x:1001:1001::/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
#cat passwd | awk -F: '$3>=1000 && $3!=65534'
user:x:1000:1000:user,,,:/home/user:/bin/bash ivan:x:1001:1001::/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
#cat passwd | awk -F: '$3>=1000 && $3!=65534 {print $1,$5}'
user user,,, ivan petr |
#cat passwd | awk -F: '$3>=1000 && $3!=65534 {print $1,$5}'
user user,,, ivan petr |
#cat passwd | awk -F: '$3>=1000 && $3!=65534 {print $1,$3}'
user 1000 ivan 1001 petr 1002 |
#cat passwd | awk -F: '$3>=1000 && $3!=65534 {print $1,$3}'
user 1000 ivan 1001 petr 1002 |
#echo $a
1 |
#bash
root@debian1:~# ps tree error: TTY could not be found Usage: ps [options] Try 'ps --help <simple|list|output|threads|misc|all>' or 'ps --help <s|l|o|t|m|a>' for additional help text. For more details see ps(1). root@debian1:~# pstree init─┬─acpid ... ├─rsyslogd───3*[{rsyslogd}] ├─2*[script───l3script───vi] ├─sshd─┬─sshd───bash───script───script───l3script───bash───pstree │ └─sshd───sshd───bash───script───script───l3script └─udevd root@debian1:~# echo @a @a root@debian1:~# echo $a root@debian1:~# exit exit |
#echo $a
1 |
#export a
|
#bash
root@debian1:~# echo $a 1 root@debian1:~# exit exit |
#set
BASH=/usr/local/bin/l3script BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=() BASH_SOURCE=() BASH_VERSINFO=([0]="4" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") BASH_VERSION='4.2.37(1)-release' ... LOGNAME=root MACHTYPE=x86_64-pc-linux-gnu MAIL=/var/mail/root MAILCHECK=60 OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PIPESTATUS=([0]="0") PPID=13993 |
#set help
|
#help
GNU bash, version 4.2.37(1)-release (x86_64-pc-linux-gnu) These shell commands are defined internally. Type `help' to see this list. Type `help name' to find out more about the function `name'. Use `info bash' to find out more about the shell in general. Use `man -k' or `info' to find out more about commands not in this list. A star (*) next to a name means that the command is disabled. job_spec [&] history [-c] [-d offset] [n] or history -anrw [filename] or> (( expression )) if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS;> . filename [arguments] jobs [-lnprs] [jobspec ...] or jobs -x command [args] : kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... > ... export [-fn] [name[=value] ...] or export -p typeset [-aAfFgilrtux] [-p] name[=value] ... false ulimit [-SHacdefilmnpqrstuvx] [limit] fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [comm> umask [-p] [-S] [mode] fg [job_spec] unalias [-a] name [name ...] for NAME [in WORDS ... ] ; do COMMANDS; done unset [-f] [-v] [name ...] for (( exp1; exp2; exp3 )); do COMMANDS; done until COMMANDS; do COMMANDS; done function name { COMMANDS ; } or name () { COMMANDS ; } variables - Names and meanings of some shell variables getopts optstring name [arg] wait [id] hash [-lr] [-p pathname] [-dt] [name ...] while COMMANDS; do COMMANDS; done help [-dms] [pattern ...] { COMMANDS ; } |
#echo 'Hello $LOGNAME'
Hello $LOGNAME |
#echo "Hello $LOGNAME"
Hello root |
#echo ' "'Hello $LOGNAME'" '
"Hello root" |
#mkdir scripts
|
#cd scripts/
|
#vi shell.sh
--- /dev/null 2017-03-24 16:46:11.415999982 +0200 +++ shell.sh 2017-03-29 14:22:22.023148227 +0300 @@ -0,0 +1,4 @@ +#!/bin/bash + +users=`awk -F: '$3>=1000&&$3!=65534{print $1}' | tr "\n" " "` +echo $users |
#chmodu+x shell.sh
l3script: chmodu+x: команда не найдена |
#chmod u+x shell.sh
|
#ls -l
итого 4 -rwxr--r-- 1 root root 87 Мар 29 14:22 shell.sh |
#ls -l --color
итого 4 -rwxr--r-- 1 root root 87 Мар 29 14:22 shell.sh |
#vi shell.sh
--- /tmp/l3-saved-13994.3383.9461 2017-03-29 14:26:03.483182056 +0300 +++ shell.sh 2017-03-29 14:27:07.847133157 +0300 @@ -1,4 +1,4 @@ #!/bin/bash -users=`awk -F: '$3>=1000&&$3!=65534{print $1}' | tr "\n" " "` +users=`awk -F: '$3>=1000&&$3!=65534{print $1}' | tr "\n" " " /etc/passwd` echo $users |
#vi shell.sh
--- /tmp/l3-saved-13994.32322.8849 2017-03-29 14:27:39.227145883 +0300 +++ shell.sh 2017-03-29 14:28:28.327124177 +0300 @@ -1,4 +1,4 @@ #!/bin/bash -users=`awk -F: '$3>=1000&&$3!=65534{print $1}' | tr "\n" " " /etc/passwd` +users=`awk -F: '$3>=1000&&$3!=65534{print $1}' /etc/passwd | tr "\n" " " ` echo $users |
#./shell.sh
user ivan petr |
#vi shell.sh
|
#~
|
#./shell.sh
user ivan petr anna |
#vi shell.sh
--- /tmp/l3-saved-13994.18162.17373 2017-03-29 14:34:03.671133252 +0300 +++ shell.sh 2017-03-29 14:37:45.503130411 +0300 @@ -1,4 +1,8 @@ #!/bin/bash users=`awk -F: '$3>=1000&&$3!=65534{print $1}' /etc/passwd | tr "\n" " " ` -echo $users +for user in $users + do + echo "Changing shell for user $user..." + usermod -s /bin/sh $user + done |
#./shell.sh
Changing shell for user user... Changing shell for user ivan... Changing shell for user petr... Changing shell for user anna... usermod: изменения не внесены |
#finger anna
Login: anna Name: Directory: /home/anna Shell: /bin/sh Never logged in. No mail. No Plan. |
#finger ivan
Login: ivan Name: Directory: /home/ivan Shell: /bin/sh Last login Wed Mar 29 09:27 (EEST) on pts/0 from 192.168.16.154 No mail. No Plan. |
#vi shell.sh
--- /tmp/l3-saved-13994.25884.10180 2017-03-29 14:38:59.207121650 +0300 +++ shell.sh 2017-03-29 14:40:59.135131791 +0300 @@ -4,5 +4,5 @@ for user in $users do echo "Changing shell for user $user..." - usermod -s /bin/sh $user + usermod -s /bin/$1 $user done |
#./shell.sh bash
Changing shell for user user... Changing shell for user ivan... Changing shell for user petr... Changing shell for user anna... |
#finger ivan
Login: ivan Name: Directory: /home/ivan Shell: /bin/bash Last login Wed Mar 29 09:27 (EEST) on pts/0 from 192.168.16.154 No mail. No Plan. |
#vi shell.sh
--- /tmp/l3-saved-13994.20698.9338 2017-03-29 14:42:21.075131336 +0300 +++ shell.sh 2017-03-29 14:44:46.955161601 +0300 @@ -4,5 +4,5 @@ for user in $users do echo "Changing shell for user $user..." - usermod -s /bin/$1 $user + usermod -s /bin/${1:-bash} $user done |
#./shell.sh sh
Changing shell for user user... Changing shell for user ivan... Changing shell for user petr... Changing shell for user anna... |
#finger ivan
Login: ivan Name: Directory: /home/ivan Shell: /bin/sh Last login Wed Mar 29 09:27 (EEST) on pts/0 from 192.168.16.154 No mail. No Plan. |
#./shell.sh
Changing shell for user user... Changing shell for user ivan... Changing shell for user petr... Changing shell for user anna... |
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
Время первой команды журнала | 13:22:01 2017- 3-28 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 13:45:00 2017- 3-29 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 18.81 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 4.95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 1.72 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 0.98 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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