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

Содержание

Журнал

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

/dev/pts/0
13:22:01
#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]
/dev/pts/1
13:22:09
#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
/dev/pts/0
13:22:09
#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
/dev/pts/1
13:22:22
#tree
.
├── d1
│   ├── f1
│   └── f2
├── d2
│   ├── d3
│   └── f3
├── err.txt
├── f2 -> /root/d2/f2
├── install
├── MBR
├── MBR2
├── proc.txt
└── ps.txt
3 directories, 10 files
/dev/pts/0
13:22:22
#tree
.
├── d1
│   ├── f1
│   └── f2
├── d2
│   ├── d3
│   └── f3
├── err.txt
├── f2 -> /root/d2/f2
├── install
├── MBR
├── MBR2
├── proc.txt
└── ps.txt
3 directories, 10 files
/dev/pts/1
13:24:26
#cp /etc/passwd
cp: после «/etc/passwd» пропущен операнд, задающий целевой файл
Попробуйте «cp --help» для получения более подробного описания.
/dev/pts/0
13:24:26
#cp /etc/passwd
cp: после «/etc/passwd» пропущен операнд, задающий целевой файл
Попробуйте «cp --help» для получения более подробного описания.
прошло 105 минут
/dev/pts/1
15:09:56
#cp /etc/passwd .

/dev/pts/0
15:09:56
#cp /etc/passwd .

/dev/pts/1
15:10:16
#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
/dev/pts/0
15:10:16
#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
/dev/pts/1
15:10:25
#cat /etc/passwd | qrep ivan
l3script: qrep: команда не найдена
/dev/pts/0
15:10:25
#cat /etc/passwd | qrep ivan
l3script: qrep: команда не найдена
/dev/pts/1
15:10:55
#cat /etc/passwd | qrep ivan
l3script: qrep: команда не найдена
/dev/pts/0
15:10:55
#cat /etc/passwd | qrep ivan
l3script: qrep: команда не найдена
/dev/pts/1
15:11:07
#cat /etc/passwd | grep ivan
ivan:x:1001:1001::/home/ivan:/bin/bash
/dev/pts/0
15:11:07
#cat /etc/passwd | grep ivan
ivan:x:1001:1001::/home/ivan:/bin/bash
/dev/pts/1
15:11:12
#cat /etc/passwd | grep ivan$

/dev/pts/0
15:11:12
#cat /etc/passwd | grep ivan$

/dev/pts/1
15:11:27
#cat /etc/passwd | grep ^ivan
ivan:x:1001:1001::/home/ivan:/bin/bash
/dev/pts/0
15:11:27
#cat /etc/passwd | grep ^ivan
ivan:x:1001:1001::/home/ivan:/bin/bash
/dev/pts/1
15:11:47
#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
/dev/pts/0
15:11:47
#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
/dev/pts/1
15:14:32
#cat /etc/passwd | grep 1[0-9]{3}

/dev/pts/0
15:14:32
#cat /etc/passwd | grep 1[0-9]{3}

/dev/pts/1
15:15:15
#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
/dev/pts/0
15:15:15
#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
/dev/pts/1
15:15:46
#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
/dev/pts/0
15:15:46
#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
/dev/pts/1
15:15:50
#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
/dev/pts/0
15:15:50
#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
/dev/pts/1
15:17:04
#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
/dev/pts/0
15:17:04
#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
/dev/pts/1
15:18:11
#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
/dev/pts/0
15:18:11
#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
/dev/pts/1
15:20:12
#cat ip.txt
cat: ip.txt: Нет такого файла или каталога
/dev/pts/0
15:20:12
#cat ip.txt
cat: ip.txt: Нет такого файла или каталога
прошло 16 минут
/dev/pts/1
15:36:14
#vi ip.txt
/dev/pts/0
15:36:14
#vi ip.txt
/dev/pts/1
15:36:47
#y
1.1111.1.1
~
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
"ip.txt" 3L, 33C записано
/dev/pts/0
15:36:47
#y
1.1111.1.1
~
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
"ip.txt" 3L, 33C записано
/dev/pts/1
15:37:41
#vi ip.txt
/dev/pts/0
15:37:41
#vi ip.txt
/dev/pts/1
15:39:09
#vi ip.txt
/dev/pts/0
15:39:09
#vi ip.txt
/dev/pts/1
15:46:29
#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» для получения более подробного описания.
/dev/pts/0
15:46:29
#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» для получения более подробного описания.
/dev/pts/1
15:46:33
#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» для получения более подробного описания.
/dev/pts/0
15:46:33
#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» для получения более подробного описания.
/dev/pts/1
15:46:47
#cat ip.txt | egrep `[0-9]`
l3script: [0-9]: команда не найдена
Использование: egrep [ПАРАМЕТР]… ШАБÐФАЙÐ
grep --help» для получения более подробного описания.
/dev/pts/0
15:46:47
#cat ip.txt | egrep `[0-9]`
l3script: [0-9]: команда не найдена
Использование: egrep [ПАРАМЕТР]… ШАБÐФАЙÐ
grep --help» для получения более подробного описания.
/dev/pts/1
15:47:07
#cat ip.txt | egrep `^[0-9]`
l3script: ^[0-9]: команда не найдена
Использование: egrep [ПАРАМЕТР]… ШАБÐФАЙÐ
grep --help» для получения более подробного описания.
/dev/pts/0
15:47:07
#cat ip.txt | egrep `^[0-9]`
l3script: ^[0-9]: команда не найдена
Использование: egrep [ПАРАМЕТР]… ШАБÐФАЙÐ
grep --help» для получения более подробного описания.
/dev/pts/1
15:48:35
#cat passwd | awk -F '$3>=1000'

/dev/pts/0
15:48:35
#cat passwd | awk -F '$3>=1000'

/dev/pts/1
15:53:13
#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
/dev/pts/0
15:53:13
#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
/dev/pts/1
15:53:36
#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
/dev/pts/0
15:53:36
#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
/dev/pts/1
15:54:22
#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
/dev/pts/0
15:54:22
#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
/dev/pts/1
15:58:52
#cat passwd | awk -F: '$3>=1000 && $3!=65534 {print $1,$5}'
user user,,,
ivan
petr
/dev/pts/0
15:58:52
#cat passwd | awk -F: '$3>=1000 && $3!=65534 {print $1,$5}'
user user,,,
ivan
petr
/dev/pts/1
15:59:24
#cat passwd | awk -F: '$3>=1000 && $3!=65534 {print $1,$3}'
user 1000
ivan 1001
petr 1002
/dev/pts/0
15:59:24
#cat passwd | awk -F: '$3>=1000 && $3!=65534 {print $1,$3}'
user 1000
ivan 1001
petr 1002

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

/dev/pts/0
09:09:09
#a=1

прошло >3 часов
12:53:56
#echo $a
1
12:54:05
#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
12:57:48
#echo $a
1
12:57:56
#export a

12:58:07
#bash
root@debian1:~# echo $a
1
root@debian1:~# exit
exit
12:58:49
#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
12:59:04
#set help

13:02:29
#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 ; }
13:02:42
#echo 'Hello $LOGNAME'
Hello $LOGNAME
прошло 10 минут
13:12:44
#echo "Hello $LOGNAME"
Hello root
13:12:55
#echo ' "'Hello $LOGNAME'" '
 "Hello root"
13:13:15
#mkdir scripts

13:17:00
#cd scripts/

13:17:06
#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
13:22:22
#chmodu+x shell.sh
l3script: chmodu+x: команда не найдена
13:23:01
#chmod u+x shell.sh

13:23:06
#ls -l
итого 4
-rwxr--r-- 1 root root 87 Мар 29 14:22 shell.sh
13:23:20
#ls -l --color
итого 4
-rwxr--r-- 1 root root 87 Мар 29 14:22 shell.sh
13:23:39
#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
13:27:07
#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
13:28:28
#./shell.sh
user ivan petr
13:28:37
#vi shell.sh
13:33:05
#~

13:33:19
#./shell.sh
user ivan petr anna
13:33:23
#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
13:37:45
#./shell.sh
Changing shell for user user...
Changing shell for user ivan...
Changing shell for user petr...
Changing shell for user anna...
usermod: изменения не внесены
13:37:52
#finger anna
Login: anna                             Name:
Directory: /home/anna                   Shell: /bin/sh
Never logged in.
No mail.
No Plan.
13:38:38
#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.
13:38:45
#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
13:40:59
#./shell.sh bash
Changing shell for user user...
Changing shell for user ivan...
Changing shell for user petr...
Changing shell for user anna...
13:41:19
#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.
13:41:27
#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
13:44:47
#./shell.sh sh
Changing shell for user user...
Changing shell for user ivan...
Changing shell for user petr...
Changing shell for user anna...
13:44:57
#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.
13:45:00
#./shell.sh
Changing shell for user user...
Changing shell for user ivan...
Changing shell for user petr...
Changing shell for user anna...

Файлы

  • /etc/passwd
  • /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
    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
    Частота использования команд
    cat48|========================| 24.74%
    egrep16|========| 8.25%
    vi13|======| 6.70%
    awk12|======| 6.19%
    grep12|======| 6.19%
    &8|====| 4.12%
    =10008|====| 4.12%
    shell.sh6|===| 3.09%
    echo5|==| 2.58%
    cp4|==| 2.06%
    [0-9]{2}4|==| 2.06%
    =1000'4|==| 2.06%
    1[0-9]{2}4|==| 2.06%
    $3!=655344|==| 2.06%
    $3!=65534'4|==| 2.06%
    qrep4|==| 2.06%
    finger4|==| 2.06%
    2[0-4][0-9]4|==| 2.06%
    sort3|=| 1.55%
    ps3|=| 1.55%
    set2|=| 1.03%
    ls2|=| 1.03%
    25[0-5])\.){3}$`2|=| 1.03%
    25[0-5])\.){3}`2|=| 1.03%
    head2|=| 1.03%
    bash2|=| 1.03%
    y2|=| 1.03%
    tree2|=| 1.03%
    mkdir1|| 0.52%
    chmod1|| 0.52%
    cd1|| 0.52%
    help1|| 0.52%
    ~1|| 0.52%
    chmodu+x1|| 0.52%
    a=11|| 0.52%
    export1|| 0.52%
    ____
    *) Интервалы неактивности длительностью 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$