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

Содержание

Журнал

Четверг (07/30/09)

11:36:58
$echo $?
0
11:37:00
$test -e /etc/motd

11:37:37
$echo $?
0
11:37:37
$test -e /etc/motd23

11:37:44
$echo $?
1
11:37:46
$test -d

11:38:07
$echo $?
0
11:38:09
$test -r /etc/master.passwd

11:38:39
$echo $?
1
11:38:41
$test -k /tmp

11:39:08
$echo $?
0
11:39:08
$test -w /etc/passwd

11:39:35
$echo $?
1
11:39:37
$test 5 -gt 10

11:41:10
$echo $?
1
11:41:11
$test 10 -gt 5

11:41:24
$echo $?
0
/dev/ttyp0
11:44:21
$echo "Ваш любимый цвет?" : read FAV_COL ; \
>
Ваш любимый цвет? : read FAV_COL
11:46:51
$echo "Ваш любимый цвет?" : read FAV_COL ;
Ваш любимый цвет? : read FAV_COL
11:46:52
$echo "Ваш любимый цвет?" : read FAV_COL ;
Ваш любимый цвет? : read FAV_COL
11:47:15
$echo "Ваш любимый цвет?" : read FAV_COL ; Red
Ваш любимый цвет? : read FAV_COL
bash: Red: command not found
11:47:17
$echo "Ваш любимый цвет?" : read FAV_COL ;
Ваш любимый цвет? : read FAV_COL
11:47:19
$echo "Ваш любимый цвет?" : read FAV_COL ;
Ваш любимый цвет? : read FAV_COL
11:48:04
$echo "Ваш любимый цвет?"
Ваш любимый цвет?
Red
11:48:22
$for file in /etc/* ; do ; [ -r $file ] || echo $file ;
bash: syntax error near unexpected token `;'
11:52:17
$for file in /etc/* ; do ; [ -r $file ] || echo $file ; done ;
bash: syntax error near unexpected token `;'
11:52:25
$for file in /etc/* ; do
/etc/group-
/etc/gshadow
/etc/gshadow-
/etc/shadow
/etc/shadow-
/etc/sudoers
11:52:35
$for file in /etc/* ; do [ -w
[user@debian2:~]$ for file in /etc/* ; do
/etc/group-
/etc/gshadow
/etc/gshadow-
/etc/shadow
/etc/shadow-
/etc/sudoers
/etc/adduser.conf
/etc/adjtime
/etc/alternatives
...
/etc/texmf
/etc/timezone
/etc/ucf.conf
/etc/udev
/etc/updatedb.conf
/etc/vim
/etc/vnc.conf
/etc/wgetrc
/etc/X11
/etc/xpdf
11:53:09
$for file in /etc/* ; do [ -x
/etc/adduser.conf
/etc/adjtime
/etc/bash.bashrc
/etc/bash_completion
/etc/console-cyrillic
/etc/crontab
/etc/debconf.conf
/etc/debian_version
/etc/deluser.conf
/etc/fstab
...
/etc/shadow-
/etc/shells
/etc/sudoers
/etc/sysctl.conf
/etc/syslog.conf
/etc/timezone
/etc/ucf.conf
/etc/updatedb.conf
/etc/vnc.conf
/etc/wgetrc
11:53:16
$for file in /etc/* ; do [ -r
/etc/group-
/etc/gshadow
/etc/gshadow-
/etc/shadow
/etc/shadow-
/etc/sudoers
11:59:37
$for file in /etc/* ; do [ -r $file ] || echo $file ; d

11:59:37
$whatis $ping
whatis что?
12:00:10
$whatis $mount
whatis что?
12:00:43
$whatis $mount

12:00:43
$whatis $command
make (1)             - GNU make utility to maintain groups of programs
12:01:06
$whatis make
make (1)             - GNU make utility to maintain groups of programs
12:03:22
$ping 82.144.212.176
PING 82.144.212.176 (82.144.212.176) 56(84) bytes of data.
From 82.144.194.5 icmp_seq=1 Destination Host Unreachable
From 82.144.194.5 icmp_seq=2 Destination Host Unreachable
From 82.144.194.5 icmp_seq=3 Destination Host Unreachable
From 82.144.194.5 icmp_seq=4 Destination Host Unreachable
From 82.144.194.5 icmp_seq=5 Destination Host Unreachable
From 82.144.194.5 icmp_seq=6 Destination Host Unreachable
From 82.144.194.5 icmp_seq=7 Destination Host Unreachable
From 82.144.194.5 icmp_seq=8 Destination Host Unreachable
From 82.144.194.5 icmp_seq=9 Destination Host Unreachable
From 82.144.194.5 icmp_seq=10 Destination Host Unreachable
From 82.144.194.5 icmp_seq=11 Destination Host Unreachable
From 82.144.194.5 icmp_seq=12 Destination Host Unreachable
From 82.144.194.5 icmp_seq=13 Destination Host Unreachable
From 82.144.194.5 icmp_seq=14 Destination Host Unreachable
From 82.144.194.5 icmp_seq=15 Destination Host Unreachable
--- 82.144.212.176 ping statistics ---
17 packets transmitted, 0 received, +15 errors, 100% packet loss, time 16046ms
, pipe 3
12:03:45
$ping 82.144.212.176

12:05:05
$ping 82.144.212.176
[user@debian2:~]$ ping 82.144.212.176
PING 82.144.212.176 (82.144.212.176) 56(84) bytes of data.
From 82.144.194.5 icmp_seq=1 Destination Host Unreachable
From 82.144.194.5 icmp_seq=2 Destination Host Unreachable
From 82.144.194.5 icmp_seq=3 Destination Host Unreachable
From 82.144.194.5 icmp_seq=4 Destination Host Unreachable
From 82.144.194.5 icmp_seq=5 Destination Host Unreachable
From 82.144.194.5 icmp_seq=6 Destination Host Unreachable
From 82.144.194.5 icmp_seq=7 Destination Host Unreachable
From 82.144.194.5 icmp_seq=8 Destination Host Unreachable
...
PING 82.144.212.176 (82.144.212.176) 56(84) bytes of data.
From 82.144.194.5 icmp_seq=1 Destination Host Unreachable
From 82.144.194.5 icmp_seq=2 Destination Host Unreachable
From 82.144.194.5 icmp_seq=3 Destination Host Unreachable
From 82.144.194.5 icmp_seq=4 Destination Host Unreachable
From 82.144.194.5 icmp_seq=5 Destination Host Unreachable
From 82.144.194.5 icmp_seq=6 Destination Host Unreachable
--- 82.144.212.176 ping statistics ---
9 packets transmitted, 0 received, +6 errors, 100% packet loss, time 8021ms
, pipe 3
12:05:27
$ping 82.144.212.176

12:06:48
$ping 82.144.212.176
[user@debian2:~]$ ping 82.144.212.176
PING 82.144.212.176 (82.144.212.176) 56(84) bytes of data.
From 82.144.194.5 icmp_seq=1 Destination Host Unreachable
From 82.144.194.5 icmp_seq=2 Destination Host Unreachable
From 82.144.194.5 icmp_seq=3 Destination Host Unreachable
From 82.144.194.5 icmp_seq=4 Destination Host Unreachable
From 82.144.194.5 icmp_seq=5 Destination Host Unreachable
From 82.144.194.5 icmp_seq=6 Destination Host Unreachable
^[[A^[[B
--- 82.144.212.176 ping statistics ---
44 packets transmitted, 0 received, +6 errors, 100% packet loss, time 43023ms
, pipe 3
PING 82.144.212.176 (82.144.212.176) 56(84) bytes of data.
--- 82.144.212.176 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2003ms
12:06:55
$vim
прошло 42 минуты
12:49:41
$ls -l
итого 4300
-rw-r--r-- 1 user user      25 2009-07-29 15:45 2000 1
-rw-r--r-- 1 user user      33 2009-07-29 15:46 2000 2
drwxr-xr-x 2 user user      48 2009-07-29 11:30 -bad-name-
-rwxr-xr-x 1 root root      13 2008-03-11 12:42 hello
-rw-r--r-- 1 user user       0 2009-07-30 12:34 no_file_with_name
-rw-r--r-- 1 user user      40 2009-07-30 13:49 script
drwxr-xr-x 2 user user     176 2009-07-29 17:08 soft
-rw-r--r-- 1 user user      54 2009-07-29 11:42 touchlist
-rwxr-xr-x 1 user user 3046166 2009-07-29 16:48 ug-bsdnet.pdf
-rw-r--r-- 1 user user       0 2009-07-29 16:50 ug-bsdnet.txt
-rw-r--r-- 1 user user  161103 2009-07-29 16:51 ug-bsd.txt
-rwxr-xr-x 1 user user 1166385 2009-07-29 16:48 ug-lnet.pdf
12:49:46
$vim script
--- /tmp/l3-saved-22315.22422.15103	2009-07-30 13:49:56.000000000 +0300
+++ script	2009-07-30 14:02:30.000000000 +0300
@@ -1,4 +1,39 @@
 #!/usr/local/bin/bash
 
 if [ $# -ne 2 ]
+then
+ echo "Использование: 'basename $0' old-pattern new-pattern"
+ #
+ #
+ exit 1
+fi
 
+number=0
+
+for name in *$1*
+do
+   if [ -f $name ]
+   then
+     fname='basename $name'
+     n='echo $fname | sed -e "s/$1/$2/"'
+     mv $fname $n
+
+     number=((number+1))
+   fi
+done
+
+rem='expr $number % 10'
+if [ $rem -eq 1 ]
+then
+	echo "Переименован $number файл."
+else
+	if [ $rem -gt 1 -a $rem -lt 5 ]
+	then
+		echo "Переименование $number файла"
+	else
+		echo "Переименование $number файлов"
+	fi
+fi
+	
+q
+rem='expr $number % '
прошло 14 минут
13:04:17
$vim script
13:04:33
$sudo script
Password:
13:04:53
$sh
Использование: 'basename script' old-pattern new-pattern
13:05:03
$time
real    0m0.000s
user    0m0.000s
sys     0m0.000s
13:10:33
$vim script
--- /tmp/l3-saved-22733.17619.2759	2009-07-30 14:11:52.000000000 +0300
+++ script	2009-07-30 14:16:56.000000000 +0300
@@ -1,8 +1,8 @@
-#!/usr/local/bin/bash
+#!/bin/bash
 
 if [ $# -ne 2 ]
 then
- echo "Использование: 'basename $0' old-pattern new-pattern"
+ echo "Использование: `basename $0` old-pattern new-pattern"
  #
  #
  exit 1
@@ -14,15 +14,15 @@
 do
    if [ -f $name ]
    then
-     fname='basename $name'
-     n='echo $fname | sed -e "s/$1/$2/"'
-     mv $fname $n
+     fname=`basename $name`
+     n=`echo $fname | sed -e "s/$1/$2/"`
+     mv -v $fname $n
 
      number=((number+1))
    fi
 done
 
-rem='expr $number % 10'
+rem=`expr $number % 10`
 if [ $rem -eq 1 ]
 then
 	echo "Переименован $number файл."
@@ -35,5 +35,4 @@
 	fi
 fi
 	
-q
-rem='expr $number % '
+#rem=`expr $number %`
13:17:05
$ls
2000 1      hello              soft        ug-bsdnet.pdf  ug-lnet.pdf
2000 2      no_file_with_name  touchlist   ug-bsdnet.txt
-bad-name-  script             typescript  ug-bsd.txt
13:17:06
$cd soft/

13:17:15
$ls -l ../screept
[user@debian2:soft]$ ls
gzfile.gz  rpmfile.rpm  tarfile.tar  tgzfile.tgz
ls: ../screept: No such file or directory
13:17:27
$ls -l ../scri
-rw-r--r-- 1 user user 606 2009-07-30 14:16 ../script
13:17:29
$chmod +x ../script

13:17:33
$ls
gzfile.gz  rpmfile.rpm  tarfile.tar  tgzfile.tgz
13:17:38
$ ../script gzfile.gz gzfile.gz-moved
../script: line 21: syntax error near unexpected token `('
../script: line 21: `     number=((number+1))'
../script: line 22: syntax error near unexpected token `fi'
../script: line 22: `   fi'
13:17:55
$vim ../script
--- /tmp/l3-saved-22733.26900.13559	2009-07-30 14:18:05.000000000 +0300
+++ ../script	2009-07-30 14:18:21.000000000 +0300
@@ -18,7 +18,7 @@
      n=`echo $fname | sed -e "s/$1/$2/"`
      mv -v $fname $n
 
-     number=((number+1))
+     number=$((number+1))
    fi
 done
 
13:18:21
$ ../script gzfile.gz gzfile.gz-moved
`gzfile.gz' -> `gzfile.gz-moved'
Переименован 1 файл.
13:18:23
$vim ../script
13:19:31
$ls -l
итого 16
-rw-r--r-- 1 user user 34 2009-07-29 17:07 gzfile.gz-moved
-rw-r--r-- 1 user user 24 2009-07-29 17:08 rpmfile.rpm
-rw-r--r-- 1 user user 29 2009-07-29 17:07 tarfile.tar
-rw-r--r-- 1 user user 30 2009-07-29 17:08 tgzfile.tgz
13:22:20
$ls -l /etc/passwd
-rw-r--r-- 1 root root 13735 2009-07-30 10:06 /etc/passwd
13:22:33
$sudo chmod 600 /etc/passwd
Password:
13:22:46
$ls -l
итого 16
-rw-r--r-- 1 1000 user 34 2009-07-29 17:07 gzfile.gz-moved
-rw-r--r-- 1 1000 user 24 2009-07-29 17:08 rpmfile.rpm
-rw-r--r-- 1 1000 user 29 2009-07-29 17:07 tarfile.tar
-rw-r--r-- 1 1000 user 30 2009-07-29 17:08 tgzfile.tgz
13:22:48
$ls -l /etc/passwd
-rw------- 1 0 root 13735 2009-07-30 10:06 /etc/passwd
13:23:07
$id -u
1000
13:23:26
$id
uid=1000 gid=1000(user) группы=1000(user)
13:23:29
$vncviewer 192.168.16.22
vncviewer: ConnectToTcpAddr: connect: Connection refused
Unable to connect to VNC server
13:28:54
$vncviewer 10.0.17.1:2
VNC server supports protocol version 3.8 (viewer 3.3)
No authentication needed
Desktop name "Xen-freebsd4"
Connected to VNC server, using protocol version 3.3
VNC server default format:
  32 bits per pixel.
  Least significant byte first in each pixel.
  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Using default colormap which is TrueColor.  Pixel format:
  32 bits per pixel.
  Least significant byte first in each pixel.
  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Using shared memory PutImage
ShmCleanup called
13:31:09
$vncviewer 10.0.17.1:0
[user@debian2:soft]$ vncviewer 10.0.17.1:0
VNC server supports protocol version 3.8 (viewer 3.3)
No authentication needed
Desktop name "Xen-freebsd1"
Connected to VNC server, using protocol version 3.3
VNC server default format:
  32 bits per pixel.
  Least significant byte first in each pixel.
  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Using default colormap which is TrueColor.  Pixel format:
...
VNC server default format:
  32 bits per pixel.
  Least significant byte first in each pixel.
  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Using default colormap which is TrueColor.  Pixel format:
  32 bits per pixel.
  Least significant byte first in each pixel.
  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Using shared memory PutImage
[1]+  Stopped                 vncviewer 10.0.17.1:0
13:31:24
$bg
[1]+ vncviewer 10.0.17.1:0 &
13:31:25
$ssh 192.168.16.21
You don't exist, go away!
13:31:35
$ssh 192.168.16.21
You don't exist, go away!
13:31:49
$ssh 192.168.16.22
You don't exist, go away!
13:31:51
$ssh 192.168.16.23
You don't exist, go away!
13:31:52
$ssh 192.168.16.2
You don't exist, go away!
13:31:59
$ls
gzfile.gz-moved  rpmfile.rpm  tarfile.tar  tgzfile.tgz
13:32:11
$ssh 127.0.0.1
You don't exist, go away!
13:32:16
$ls
gzfile.gz-moved  rpmfile.rpm  tarfile.tar  tgzfile.tgz
13:32:19
$cd

13:32:20
$exit
exit
Script done, file is typescript
13:32:30
$ssh 192.168.16.21
You don't exist, go away!
/dev/ttyp0
13:32:57
$hostname
debian2
13:33:01
$hostname -f
debian2.net.nt
13:33:04
$ls -la
итого 4682
drwxr-xr-x  11 1000 user     968 2009-07-30 14:19 .
drwxr-xr-x 307    0 root    7368 2009-07-30 10:06 ..
-rw-r--r--   1 1000 user      25 2009-07-29 15:45 2000 1
-rw-r--r--   1 1000 user      33 2009-07-29 15:46 2000 2
drwxr-xr-x   2 1000 user      48 2009-07-29 11:30 -bad-name-
-rw-------   1 1000 user   18547 2009-07-30 14:32 .bash_history
-rw-r--r--   1 1000 user     220 2007-12-23 16:52 .bash_logout
-rw-r--r--   1 1000 root     424 2009-04-30 15:11 .bash_profile
-rw-r--r--   1 1000 user    2273 2009-07-28 14:23 .bashrc
...
-rw-r--r--   1 1000 user      54 2009-07-29 11:42 touchlist
-rw-r--r--   1 1000 user  291721 2009-07-30 14:32 typescript
-rwxr-xr-x   1 1000 user 3046166 2009-07-29 16:48 ug-bsdnet.pdf
-rw-r--r--   1 1000 user       0 2009-07-29 16:50 ug-bsdnet.txt
-rw-r--r--   1 1000 user  161103 2009-07-29 16:51 ug-bsd.txt
-rwxr-xr-x   1 1000 user 1166385 2009-07-29 16:48 ug-lnet.pdf
-rw-------   1 1000 user    5834 2009-07-30 14:19 .viminfo
-rw-r--r--   1 1000 user     679 2009-07-28 12:14 .vimrc
-rw-------   1 1000 user     118 2009-07-27 11:25 .Xauthority
-rw-r--r--   1 1000 user     784 2009-07-28 14:29 .xsession-errors
13:33:13
$hostnamw
bash: hostnamw: command not found
13:33:21
$hostname
debian2
13:33:23
$grep -r I\ have .
grep: ./.mozilla/firefox/okyhhoxh.default/lock: No such file or directory
13:33:59
$ssh 192.168.16.21
You don't exist, go away!
13:34:09
$ps aux | less
13:34:43
$su - root
Password:
l3-agent is already running: pid=2150; pidfile=/root/.lilalo/l3-agent.pid
13:34:58
#ls .l3rc
.l3rc
13:35:09
#ls .l
.l3rc     .lesshst  .lilalo/
13:35:09
#ls .lilalo/
1022892042090028683-1243160474.info
1022892042090028683-1243160474.script
1056432072182467821-1248953697.info
1056432072182467821-1248953697.script
111441789916846863-1248457160.info
111441789916846863-1248457160.script
15525200691928829071-1243160699.info
15525200691928829071-1243160699.script
1579061231519230851-1215191819_1215191881_root_.bashrc.diff
1579061231519230851-1215191819_1215192113_root_.l3rc.diff
...
4717190781600111945-1248942998_1248943204_tmp_param.diff
4717190781600111945-1248942998.info
4717190781600111945-1248942998.script
613031930267823701-1243160685.info
613031930267823701-1243160685.script
6901133893020916263-1248943024.info
6901133893020916263-1248943024.script
l3-agent.pid
l3bashrc
l3prompt
13:35:15
#vim .lilalo/l3bashrc
13:35:26
#[root@fbsd1:~]# vim /etc/ttys
 36 # Virtual terminals
 37 ttyv1   "/usr/libexec/getty Pc"         cons25  on  secure
 38 ttyv2   "/usr/libexec/getty Pc"         cons25  on  secure
 39 ttyv3   "/usr/libexec/getty Pc"         cons25  on  secure
 40 ttyv4   "/usr/libexec/getty Pc"         cons25  on  secure
 41 ttyv5   "/usr/libexec/getty Pc"         cons25  on  secure
 42 ttyv6   "/usr/libexec/getty Pc"         cons25  on  secure
 43 ttyv7   "/usr/libexec/getty Pc"         cons25  on  secure
 45 # Serial terminals
 46 # The 'dialup' keyword identifies dialin lines to login, fingerd etc.
 44 ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off  secure
13:37:19
#[root@fbsd1:~]# ps wux | grep getty
[root@fbsd1:~]# ps aux | grep getty
root    986  0,0  0,2  1352   936  v0  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv0
root    987  0,0  0,2  1352   936  v1  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv1
root    988  0,0  0,2  1352   936  v2  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv2
root    989  0,0  0,2  1352   936  v3  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv3
root    990  0,0  0,2  1352   936  v4  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv4
root    991  0,0  0,2  1352   936  v5  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv5
root    992  0,0  0,2  1352   936  v6  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv6
root    993  0,0  0,2  1352   936  v7  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv7
13:37:33
#[root@fbsd1:~]# ps waux | grep getty | cat -n
[root@fbsd1:~]# ps waux | grep getty
root    986  0,0  0,2  1352   936  v0  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv0
root    987  0,0  0,2  1352   936  v1  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv1
root    988  0,0  0,2  1352   936  v2  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv2
root    989  0,0  0,2  1352   936  v3  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv3
root    990  0,0  0,2  1352   936  v4  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv4
root    991  0,0  0,2  1352   936  v5  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv5
root    992  0,0  0,2  1352   936  v6  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv6
root    993  0,0  0,2  1352   936  v7  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv7
     1  root    986  0,0  0,2  1352   936  v0  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv0
     2  root    987  0,0  0,2  1352   936  v1  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv1
     3  root    988  0,0  0,2  1352   936  v2  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv2
     4  root    989  0,0  0,2  1352   936  v3  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv3
     5  root    990  0,0  0,2  1352   936  v4  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv4
     6  root    991  0,0  0,2  1352   936  v5  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv5
     7  root    992  0,0  0,2  1352   936  v6  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv6
     8  root    993  0,0  0,2  1352   936  v7  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv7
     9  root   5018  0,0  0,2  1528   848  p1  R+   14:37     0:00,00 grep getty
13:38:30
#[root@fbsd1:~]# ps waux | grep getty | cat -n
[root@fbsd1:~]# ps waux | grep getty | cat -n
     1  root    987  0,0  0,2  1352   936  v1  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv1
     2  root    988  0,0  0,2  1352   936  v2  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv2
     3  root    989  0,0  0,2  1352   936  v3  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv3
     4  root    990  0,0  0,2  1352   936  v4  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv4
     5  root    991  0,0  0,2  1352   936  v5  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv5
     6  root    992  0,0  0,2  1352   936  v6  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv6
     7  root    993  0,0  0,2  1352   936  v7  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv7
     8  root   5092  0,0  0,2  1612  1068  p1  S+   14:38     0:00,00 grep getty
     1  root   5104  0,0  0,2  1352   936  v0  Ss+  14:38     0:00,00 /usr/libexec/getty Pc ttyv0
     2  root    987  0,0  0,2  1352   936  v1  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv1
     3  root    988  0,0  0,2  1352   936  v2  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv2
     4  root    989  0,0  0,2  1352   936  v3  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv3
     5  root    990  0,0  0,2  1352   936  v4  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv4
     6  root    991  0,0  0,2  1352   936  v5  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv5
     7  root    992  0,0  0,2  1352   936  v6  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv6
     8  root    993  0,0  0,2  1352   936  v7  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv7
     9  root   5106  0,0  0,2  1612  1068  p1  S+   14:38     0:00,00 grep getty
13:38:58
#[root@fbsd1:~]# ps aux | grep login
[root@fbsd1:~]# ps waux | grep getty | cat -n
     1  root   5104  0,0  0,2  1352   936  v0  Ss+  14:38     0:00,00 /usr/libexec/getty Pc ttyv0
     2  root    987  0,0  0,2  1352   936  v1  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv1
     3  root    988  0,0  0,2  1352   936  v2  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv2
     4  root    989  0,0  0,2  1352   936  v3  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv3
     5  root    990  0,0  0,2  1352   936  v4  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv4
     6  root    991  0,0  0,2  1352   936  v5  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv5
     7  root    992  0,0  0,2  1352   936  v6  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv6
     8  root    993  0,0  0,2  1352   936  v7  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv7
     9  root   5116  0,0  0,2  1612  1068  p1  S+   14:38     0:00,00 grep getty
root   5104  0,0  0,3  1760  1376  v0  S<s+ 14:38     0:00,01 login
root   5126  0,0  0,2  1612  1068  p1  S+   14:39     0:00,00 grep login
13:39:18
#[root@fbsd1:~]# ps wux | grep login
root   5104  0,0  0,3  1760  1376  v0  S<s+ 14:38     0:00,01 login
13:39:51
#[root@fbsd1:~]# ps waux | grep login
[root@fbsd1:~]# ps waux | grep login
root   5104  0,0  0,3  1764  1460  v0  Ss+  14:38     0:00,01 login [pam] (login)
root   5208  0,0  0,2  1612  1068  p1  S+   14:39     0:00,00 grep login
root   5104  0,0  0,3  1764  1460  v0  Ss+  14:38     0:00,01 login [pam] (login)

Файлы

  • -n
  • -n
    >
    [root@fbsd1:~]# ps waux | grep getty | cat -n
         1  root    987  0,0  0,2  1352   936  v1  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv1
         2  root    988  0,0  0,2  1352   936  v2  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv2
         3  root    989  0,0  0,2  1352   936  v3  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv3
         4  root    990  0,0  0,2  1352   936  v4  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv4
         5  root    991  0,0  0,2  1352   936  v5  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv5
         6  root    992  0,0  0,2  1352   936  v6  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv6
         7  root    993  0,0  0,2  1352   936  v7  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv7
         8  root   5092  0,0  0,2  1612  1068  p1  S+   14:38     0:00,00 grep getty
         1  root   5104  0,0  0,2  1352   936  v0  Ss+  14:38     0:00,00 /usr/libexec/getty Pc ttyv0
         2  root    987  0,0  0,2  1352   936  v1  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv1
         3  root    988  0,0  0,2  1352   936  v2  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv2
         4  root    989  0,0  0,2  1352   936  v3  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv3
         5  root    990  0,0  0,2  1352   936  v4  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv4
         6  root    991  0,0  0,2  1352   936  v5  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv5
         7  root    992  0,0  0,2  1352   936  v6  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv6
         8  root    993  0,0  0,2  1352   936  v7  Is+  18:39     0:00,00 /usr/libexec/getty Pc ttyv7
         9  root   5106  0,0  0,2  1612  1068  p1  S+   14:38     0:00,00 grep getty
    

    Статистика

    Время первой команды журнала11:36:58 2009- 7-30
    Время последней команды журнала13:39:51 2009- 7-30
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %25.74
    Процент синтаксически неверно набранных команд, % 1.98
    Суммарное время работы с терминалом *, час 1.34
    Количество командных строк в единицу времени, команда/мин 1.26
    Частота использования команд
    echo19|==============| 14.84%
    ls15|===========| 11.72%
    ssh8|======| 6.25%
    test8|======| 6.25%
    for7|=====| 5.47%
    vim7|=====| 5.47%
    grep7|=====| 5.47%
    [root@fbsd1:~]#7|=====| 5.47%
    do7|=====| 5.47%
    ping5|===| 3.91%
    whatis5|===| 3.91%
    script3|==| 2.34%
    vncviewer3|==| 2.34%
    hostname3|==| 2.34%
    sudo2|=| 1.56%
    chmod2|=| 1.56%
    cd2|=| 1.56%
    id2|=| 1.56%
    [2|=| 1.56%
    cat2|=| 1.56%
    ps1|| 0.78%
    bg1|| 0.78%
    sh1|| 0.78%
    less1|| 0.78%
    d1|| 0.78%
    exit1|| 0.78%
    hostnamw1|| 0.78%
    time1|| 0.78%
    done1|| 0.78%
    \1|| 0.78%
    su1|| 0.78%
    Red1|| 0.78%
    ____
    *) Интервалы неактивности длительностью 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$