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

Содержание

Журнал

Среда (12/19/18)

/dev/pts/0
09:21:08
$ls -al
total 120
drwxr-xr-x 19 user user 4096 Dec 19 11:12 .
drwxr-xr-x  4 root root 4096 Dec 16 14:01 ..
drwxr-xr-x  3 root root 4096 Dec 17 16:02 aws
drwxr-xr-x  3 root root 4096 Dec 17 16:51 aws2
-rw-------  1 user user  950 Dec 18 17:00 .bash_history
-rw-r--r--  1 user user  220 May 15  2017 .bash_logout
-rw-r--r--  1 user root   10 Dec 16 14:08 .bash_profile
-rw-r--r--  1 user user  636 Dec 17 12:44 .bashrc
drwx------ 11 user user 4096 Dec 17 14:55 .cache
...
drwx------  5 user user 4096 Dec 17 12:18 .mozilla
drwxr-xr-x  2 user user 4096 Dec 17 12:15 Music
drwxr-xr-x  2 user user 4096 Dec 17 12:15 Pictures
-rw-r--r--  1 user user  675 May 15  2017 .profile
drwxr-xr-x  2 user user 4096 Dec 17 12:15 Public
drwx------  2 user user 4096 Dec 19 10:43 .ssh
drwxr-xr-x  2 user user 4096 Dec 17 12:15 Templates
-rw-r--r--  1 user user 2103 Dec 19 10:26 Untitled Document 1
drwxr-xr-x  2 user user 4096 Dec 17 12:15 Videos
-rw-------  1 user user 1502 Dec 18 14:12 .viminfo
09:21:45
$cd .ssh

09:22:02
$ls
config  id_rsa  id_rsa.pub  known_hosts  user1.pem
09:22:09
$ssh-add .ssh/user1.pem
.ssh/user1.pem: No such file or directory
09:22:20
$ssh-add /.ssh/user1.pem
/.ssh/user1.pem: No such file or directory
09:22:26
$ssh-add user1.pem
Identity added: user1.pem (user1.pem)
09:22:46
$lsof
COMMAND    PID  TID             USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
systemd      1                  root  cwd   unknown                                        /proc/1/cwd (readlink: Permission denied)
systemd      1                  root  rtd   unknown                                        /proc/1/root (readlink: Permission denied)
systemd      1                  root  txt   unknown                                        /proc/1/exe (readlink: Permission denied)
systemd      1                  root NOFD                                                  /proc/1/fd (opendir: Permission denied)
kthreadd     2                  root  cwd   unknown                                        /proc/2/cwd (readlink: Permission denied)
kthreadd     2                  root  rtd   unknown                                        /proc/2/root (readlink: Permission denied)
kthreadd     2                  root  txt   unknown                                        /proc/2/exe (readlink: Permission denied)
kthreadd     2                  root NOFD                                                  /proc/2/fd (opendir: Permission denied)
ksoftirqd    3                  root  cwd   unknown                                        /proc/3/cwd (readlink: Permission denied)
...
lsof      2386                  user  txt       REG                8,1   163136    6826388 /usr/bin/lsof
lsof      2386                  user  mem       REG                8,1   135440   23592983 /lib/x86_64-linux-gnu/libpthread-2.24.so
lsof      2386                  user  mem       REG                8,1    14640   23592971 /lib/x86_64-linux-gnu/libdl-2.24.so
lsof      2386                  user  mem       REG                8,1   468920   23593012 /lib/x86_64-linux-gnu/libpcre.so.3.13.3
lsof      2386                  user  mem       REG                8,1  1689360   23592968 /lib/x86_64-linux-gnu/libc-2.24.so
lsof      2386                  user  mem       REG                8,1   155400   23593049 /lib/x86_64-linux-gnu/libselinux.so.1
lsof      2386                  user  mem       REG                8,1   153288   23592963 /lib/x86_64-linux-gnu/ld-2.24.so
lsof      2386                  user  mem       REG                8,1  1679776    6816987 /usr/lib/locale/locale-archive
lsof      2386                  user    4r     FIFO               0,10      0t0      73425 pipe
lsof      2386                  user    7w     FIFO               0,10      0t0      73426 pipe
прошло 45 минут
10:07:46
$cd

10:07:51
$ cd
zonaws.com       ec2-63-34-48-120.eu-west-1.compute.amaz
The authenticity of host 'ec2-63-34-48-120.eu-west-1.compute.amazonaws.com (63.34.48.120)' can't be established.
ECDSA key fingerprint is SHA256:4e3dpZU2J4EfCuEYj4xcBt6F9bRCB9P43g1hLWHLE98.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ec2-63-34-48-120.eu-west-1.compute.amazonaws.com,63.34.48.120' (ECDSA) to the list of known hosts.
Last login: Wed Dec 19 08:42:26 2018 from ip-10-1-1-156.eu-west-1.compute.internal
       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|
https://aws.amazon.com/amazon-linux-2/
...
authorized_keys
[ec2-user@ip-10-1-1-84 ~]$ cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3UsAeuhljzMwApx4ibRV9VDAEWDDpgdgTrH3t/Gqwa2HzsFXAcaf6VTYf7Oqir7DREg/5kjFGc9fLBW8IqsAwiOC+xtqHBWi6C2hInA8I9jLvI7+OOn2yMfNsuuv9Ph6h5envATroYy8b2L+OiOkVZKfoAcxX+pZL9s0mjS1s8caz0kUeINfNcBYrmBEnDLBv/UcMinr5tzS9evVPGdxbOAm79huoSqtCteJSXn2qsGyp6EOt4AlcO/anJokm72BuyT9m+6eVjy6HRZu7D48fBphd0Gdl5fRnMcx23mNYQvbwHbvf1eDEyG3xIi8IBxRgW4zcHLpPTy5yeNkivzhz user1
[ec2-user@ip-10-1-1-84 ~]$ mv .ssh/authorized_keys{,1}
                           cat .ssh/authorized_keys
[ec2-user@ip-10-1-1-84 ~]$ ls .ssh
authorized_keys1
[ec2-user@ip-10-1-1-84 ~]$ exit
logout
Connection to ec2-63-34-48-120.eu-west-1.compute.amazonaws.com closed.
прошло 16 минут
10:24:47
$iperf3
bash: iperf3: command not found
10:26:19
$iperf
bash: iperf: command not found
10:26:24
$yum install iperf3
bash: yum: command not found
10:26:36
$yum
bash: yum: command not found
прошло 28 минут
/dev/pts/6
10:54:56
$apt-get install iperf3
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
10:55:15
$sudo apt-get install iperf3
[sudo] password for user:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libiperf0
The following NEW packages will be installed:
  iperf3 libiperf0
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 78.9 kB of archives.
...
Preparing to unpack .../libiperf0_3.1.3-1_amd64.deb ...
Unpacking libiperf0:amd64 (3.1.3-1) ...
Selecting previously unselected package iperf3.
Preparing to unpack .../iperf3_3.1.3-1_amd64.deb ...
Unpacking iperf3 (3.1.3-1) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Setting up libiperf0:amd64 (3.1.3-1) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up iperf3 (3.1.3-1) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
10:55:33
$iperf3 -c 54.246.184.67
^C- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
iperf3: interrupt - the client has terminated
10:56:55
$iperf3 -c ec2-54-246-184-67.eu-west-1.compute.amazonaws.com
^C
^C- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
iperf3: interrupt - the client has terminated
прошло 79 минут
12:16:33
$apt-cache show awscli
Package: awscli
Version: 1.11.13-1
Installed-Size: 2831
Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>
Architecture: all
Depends: python3, python3-botocore (>= 1.3.9), python3-colorama, python3-docutils, python3-rsa, python3-s3transfer, python3:any (>= 3.3.2-2~)
Description-en: Universal Command Line Environment for AWS
 This package provides a unified command line interface to many
 Amazon Web Services.
 .
...
  * Auto Scaling
  * Elastic Load Balancing
Description-md5: aaf8e6b3ff4426c8a7b4d7d49df6ee53
Homepage: http://aws.amazon.com/cli/
Section: admin
Priority: optional
Filename: pool/main/a/awscli/awscli_1.11.13-1_all.deb
Size: 403388
MD5sum: d212d89fd9effd33e8a69d322203dd08
SHA256: b74e6665f792865dee044b634c62ffc1c697f2e908f71089b301426942fc9104
12:17:17
$pip
bash: pip: command not found
12:17:35
$apt-cache search pyton-

12:18:08
$apt-cache search pyton

12:18:12
$sudo apt-get install pip
[sudo] password for user:
Sorry, try again.
[sudo] password for user:
Sorry, try again.
[sudo] password for user:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package pip
12:19:29
$sudo apt-get install pyton-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package pyton-pip
12:19:50
$sudo apt-get install python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libexpat1-dev libpython-all-dev libpython-dev
  libpython2.7-dev python-all python-all-dev
  python-crypto python-dbus python-dev python-keyring
  python-keyrings.alt python-pip-whl
  python-secretstorage python-wheel python-xdg
  python2.7-dev
...
Setting up python-pip (9.0.1-2) ...
Setting up python2.7-dev (2.7.13-2+deb9u3) ...
Setting up python-all (2.7.13-2) ...
Setting up python-xdg (0.25-4) ...
Setting up python-secretstorage (2.3.1-2) ...
Setting up libpython-dev:amd64 (2.7.13-2) ...
Setting up python-keyring (10.1-1) ...
Setting up python-dev (2.7.13-2) ...
Setting up libpython-all-dev:amd64 (2.7.13-2) ...
Setting up python-all-dev (2.7.13-2) ...
12:21:47
$pip
Usage:
  pip <command> [options]
Commands:
  install                     Install packages.
  download                    Download packages.
  uninstall                   Uninstall packages.
  freeze                      Output installed packages in requirements format.
  list                        List installed packages.
  show                        Show information about installed packages.
  check                       Verify installed packages have compatible dependencies.
...
  --cache-dir <dir>           Store the cache data in
                              <dir>.
  --no-cache-dir              Disable the cache.
  --disable-pip-version-check
                              Don't periodically
                              check PyPI to determine
                              whether a new version
                              of pip is available for
                              download. Implied with
                              --no-index.
12:21:54
$sudo pip install awscli
Collecting awscli
  Downloading https://files.pythonhosted.org/packages/46/f9/9cdf9450b8fbb7f06aa1af2581dc3f261ef965185f0a45f4aaa008351e81/awscli-1.16.78-py2.py3-none-any.whl (1.4MB)
    100% |████████████████████████████████| 1.4MB 416kB/s
Collecting colorama<=0.3.9,>=0.2.5 (from awscli)
  Downloading https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl
Collecting rsa<=3.5.0,>=3.1.2 (from awscli)
  Downloading https://files.pythonhosted.org/packages/e1/ae/baedc9cb175552e95f3395c43055a6a5e125ae4d48a1d7a924baca83e92e/rsa-3.4.2-py2.py3-none-any.whl (46kB)
    100% |████████████████████████████████| 51kB 739kB/s
Collecting s3transfer<0.2.0,>=0.1.12 (from awscli)
  Downloading https://files.pythonhosted.org/packages/d7/14/2a0004d487464d120c9fb85313a75cd3d71a7506955be458eebfe19a6b1d/s3transfer-0.1.13-py2.py3-none-any.whl (59kB)
    100% |████████████████████████████████| 61kB 706kB/s
Collecting botocore==1.12.68 (from awscli)
  Downloading https://files.pythonhosted.org/packages/00/59/28cc07ee9486402d3d016314e7895b763489015a5d4a234d658022095650/botocore-1.12.68-py2.py3-none-any.whl (5.2MB)
12:24:17
$history
    1  exit
    2  ifconfig
    3  ipadrr show
    4  ipadr show
    5  ip addr show
    6  ssh 172.20.13.183
    7  less /proc/cpuinfo
    8  lscpu
    9  free
   10  lspci
...
   83  apt-cache show awscli
   84  pip
   85  apt-cache search pyton-
   86  apt-cache search pyton
   87  sudo apt-get install pip
   88  sudo apt-get install pyton-pip
   89  sudo apt-get install python-pip
   90* pip
   91  sudo pip install awscli
   92  history
12:24:22
$aws configure
AWS Access Key ID [None]: AKIAJFNF4PMCFVRQ7WYQ
AWS Secret Access Key [None]: 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
Default region name [None]: eu-west-1
Default output format [None]:
12:33:07
$aws ec2 describe-instances | jq .Reservations[0].Instances[|
> 0].InstanceId
bash: 0].InstanceId: command not found
jq: error: syntax error, unexpected $end (Unix shell quoting issues?) at <top-level>, line 1:
.Reservations[0].Instances[
jq: 1 compile error
12:36:38
$aws ec2 describe-instances | jq .Reservations[0].Instances[0].InstanceId
"i-080515adaa7956592"
12:37:05
$aws ec2 describe-instances | jq .Reservations[0].Instances[0] | less -R
12:37:27
$complete -C aws_completer aws

12:40:26
$aws
Display all 171 possibilities? (y or n)
12:40:26
$aws
aws                   aws_completer
aws_bash_completer    aws_zsh_completer.sh
aws.cmd
12:40:26
$aws
aws                   aws_completer
aws_bash_completer    aws_zsh_completer.sh
aws.cmd
12:40:26
$complete -C aws_completer aws

12:43:10
$complete -C aws_completer aws

12:43:32
$complete -C aws_completer aws

12:43:48
$aws ec2 describe-in
describe-instance-attribute
describe-instance-credit-specifications
describe-instances
describe-instance-status
describe-internet-gateways
12:47:51
$saws
No resource cache found
Refreshing resources...
  Refreshing instance ids...
  Refreshing instance tag keys...
  Refreshing instance tag values...
  Refreshing bucket names...
  Refreshing bucket uris...
Done refreshing
Version: 0.4.3
Theme: vim
...
saws>
saws>
saws>
saws>
saws>
saws> exit
saws>
saws> exit
saws>
saws>
прошло 27 минут
13:15:37
$ls
aws      Documents   m0_id_rsa.pub  Public               Videos
aws2     Downloads   Music          Templates
Desktop  github.txt  Pictures       Untitled Document 1
13:16:36
$cd aws2

13:16:52
$mkdir scripts/
mkdir: cannot create directory ‘scripts/’: Permission denied
13:17:15
$su mkdir scripts/
No passwd entry for user 'mkdir'
13:17:25
$sudo mkdir scripts/
[sudo] password for user:
13:17:35
$sudo vim scripts/create-infra.sh
13:18:43
$sudo cat scripts/create-infra.sh
cat: scripts/create-infra.sh: No such file or directory
13:19:06
$ls
hello2.md  hello.md  README.md  scripts
13:19:10
$sudo cat /scripts/create-infra.sh
cat: /scripts/create-infra.sh: No such file or directory
13:19:22
$cat /scripts/create-infra.sh
cat: /scripts/create-infra.sh: No such file or directory
13:19:38
$ls
hello2.md  hello.md  README.md  scripts
13:20:09
$sudo mkdir scripts/
mkdir: cannot create directory ‘scripts/’: File exists
13:20:14
$sudo mkdir scripts
mkdir: cannot create directory ‘scripts’: File exists
13:21:09
$cd scripts

13:21:39
$~
image_id=
instance_id=
vpc_id=
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
"create-infra.sh" [New] 5L, 44C written
13:24:08
$cat create-infra.sh
#!/bin/bash
image_id=
instance_id=
vpc_id=
13:24:16
$vim create-infra.sh
прошло 27 минут
13:52:01
$instance_id=
elif [ "$1" = stop ]; then
  stop
         ami-09693313102a30b2c
         type=t2.micro
key_name=user1
security_group=
subnet_id=10.1.1.0/16
shutdown_type=shutdown
{
  tance-type "$instance_type" \
...
cat <<EOF
Usage:
$0 start|stop
                       EOF
$0 start|stopEOF
EOF
fi
~
~
<ra.sh" 47L, 1200C written
/dev/pts/0
13:52:39
$ssh 172.16.30.183
^C
13:53:14
$ssh 172.20.16.183
ssh: connect to host 172.20.16.183 port 22: No route to host
13:53:22
$ipconfig
bash: ipconfig: command not found
13:53:34
$ifconfig
bash: ifconfig: command not found
13:53:37
$ssh 172.20.30.183
^C
13:54:08
$ssh 172.16.30.183
^C
13:54:16
$ssh 172.16.20.183
ssh: connect to host 172.16.20.183 port 22: No route to host
прошло 46 минут
/dev/pts/6
14:40:29
$ls
create-infra.sh
14:40:33
$.create-infra.sh
bash: .create-infra.sh: command not found
14:40:59
$./create-infra.sh
bash: ./create-infra.sh: Permission denied
14:41:07
$sudo ./create-infra.sh
[sudo] password for user:
sudo: ./create-infra.sh: command not found
14:41:17
$bash ./create-infra.sh
Usage:
./create-infra.sh start|stop
14:42:14
$bash ./create-infra.sh start
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:
  aws help
  aws <command> help
  aws <command> <subcommand> help
Unknown options: --instant-type, t2.micro
./create-infra.sh: line 20: --key-name: command not found
./create-infra.sh: line 23: --instance-initiated-shutdown-behavior: command not found
прошло 17 минут
14:59:18
$git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        ./
nothing added to commit but untracked files present (use "git add" to track)
14:59:41
$cd aws2
bash: cd: aws2: No such file or directory
15:01:12
$ls
create-infra.sh
15:01:15
$cd

15:01:17
$ls
aws                   Desktop    github.txt     Pictures   Untitled Document 1
aws2                  Documents  m0_id_rsa.pub  Public     Videos
create-infra_copy.sh  Downloads  Music          Templates
15:01:22
$cd aws2

15:01:34
$git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        scripts/
nothing added to commit but untracked files present (use "git add" to track)
15:01:38
$git add
fatal: Unable to create '/home/user/aws2/.git/index.lock': Permission denied
15:01:44
$sudo git add
Nothing specified, nothing added.
Maybe you wanted to say 'git add .'?
15:02:07
$sudo git add /scripts
fatal: /scripts: '/scripts' is outside repository
15:02:24
$sudo git add scripts

15:02:28
$git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
        new file:   scripts/create-infra.sh
15:02:33
$git commit
fatal: Unable to create '/home/user/aws2/.git/index.lock': Permission denied
15:03:56
$sudo git commit
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Your branch is up-to-date with 'origin/master'.
#
# Changes to be committed:
#       new file:   scripts/create-infra.sh
#
Aborting commit due to empty commit message.
15:04:25
$sudo git commit 'new scripts'
error: pathspec 'new scripts' did not match any file(s) known to git.
15:04:59
$sudo git commit - m 'new scripts' scripts/create-infra.sh
error: pathspec '-' did not match any file(s) known to git.
error: pathspec 'm' did not match any file(s) known to git.
error: pathspec 'new scripts' did not match any file(s) known to git.
15:05:42
$sudo git commit -m 'new scripts' scripts/create-infra.sh
[master 4d1c7e9] new scripts
 1 file changed, 46 insertions(+)
 create mode 100644 scripts/create-infra.sh
15:05:53
$^C

15:06:02
$git push
Username for 'https://github.com': kfilonov
Password for 'https://kfilonov@github.com':
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 761 bytes | 0 bytes/s, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/kfilonov/aws2
   1245044..4d1c7e9  master -> master
error: update_ref failed for ref 'refs/remotes/origin/master': cannot lock ref 'refs/remotes/origin/master': Unable to create '/home/user/aws2/.git/refs/remotes/origin/master.lock': Permission denied
15:06:58
$sudo git push
Username for 'https://github.com': kfilonov
Password for 'https://kfilonov@github.com':
Everything up-to-date

Четверг (12/20/18)

/dev/pts/2
08:19:54
$cd aws2

08:20:02
$ls
hello2.md  hello.md  README.md  scripts
08:20:05
$cd scripts/

08:20:10
$ls
create-infra.sh
прошло 35 минут
08:55:23
$bash ./create-infra.sh stop
{
    "TerminatingInstances": [
        {
            "InstanceId": "i-04ead04c856a92b7a",
            "CurrentState": {
                "Code": 32,
                "Name": "shutting-down"
            },
            "PreviousState": {
                "Code": 16,
...
                "Code": 32,
                "Name": "shutting-down"
            },
            "PreviousState": {
                "Code": 16,
                "Name": "running"
            }
        }
    ]
}
08:59:48
$cd

09:07:22
$ls
aws   create-infra_copy.sh  Documents  github.txt        m0_id_rsa.pub  Pictures  Templates
aws2  Desktop               Downloads  log from console  Music          Public    Videos
09:07:26
$ls
aws   create-infra_copy.sh  Documents  github.txt            m0_id_rsa.pub  Pictures  Templates
aws2  Desktop               Downloads  log from console.txt  Music          Public    Videos
09:09:16
$copy
bash: copy: command not found
09:09:52
$cp
cp: missing file operand
Try 'cp --help' for more information.

Файлы

  • create-infra.sh
  • create-infra.sh
    >
    #!/bin/bash
    image_id=
    instance_id=
    vpc_id=
    

    Статистика

    Время первой команды журнала09:21:08 2018-12-19
    Время последней команды журнала09:09:52 2018-12-20
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %25.74
    Процент синтаксически неверно набранных команд, % 9.90
    Суммарное время работы с терминалом *, час 3.16
    Количество командных строк в единицу времени, команда/мин 0.53
    Частота использования команд
    sudo20|================| 16.00%
    git14|===========| 11.20%
    ls12|=========| 9.60%
    cd11|========| 8.80%
    aws8|======| 6.40%
    apt-get5|====| 4.00%
    ssh5|====| 4.00%
    complete4|===| 3.20%
    mkdir4|===| 3.20%
    cat4|===| 3.20%
    jq3|==| 2.40%
    iperf33|==| 2.40%
    ssh-add3|==| 2.40%
    pip3|==| 2.40%
    bash3|==| 2.40%
    apt-cache3|==| 2.40%
    yum2|=| 1.60%
    create-infra.sh2|=| 1.60%
    vim2|=| 1.60%
    ifconfig1|| 0.80%
    .create-infra.sh1|| 0.80%
    iperf1|| 0.80%
    cp1|| 0.80%
    lsof1|| 0.80%
    ~1|| 0.80%
    ipconfig1|| 0.80%
    saws1|| 0.80%
    history1|| 0.80%
    less1|| 0.80%
    copy1|| 0.80%
    ^C1|| 0.80%
    instance_id=1|| 0.80%
    su1|| 0.80%
    ____
    *) Интервалы неактивности длительностью 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$